Merge branch 'master' of ssh://noisy/home/noisy3/OpenFOAM/OpenFOAM-dev

This commit is contained in:
Henry
2011-03-07 15:46:00 +00:00
51 changed files with 68853 additions and 0 deletions

View File

@ -0,0 +1,3 @@
PDRMesh.C
EXE = $(FOAM_APPBIN)/PDRMesh

View File

@ -0,0 +1,11 @@
EXE_INC = \
-I$(LIB_SRC)/meshTools/lnInclude \
-I$(LIB_SRC)/dynamicMesh/lnInclude \
-I$(LIB_SRC)/finiteVolume/lnInclude
EXE_LIBS = \
-lmeshTools \
-ldynamicMesh \
-lfiniteVolume \
-lcompressibleRASModels

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,40 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object PDRMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
//- Per faceSet the patch the faces should go into blocked baffles
blockedFaces ((blockedFacesSet blockedFaces));
//- Per faceSet the patch the faces should go into coupled baffles
coupledFaces
{
coupledFacesSet
{
wallPatchName baffleWall;
cyclicMasterPatchName baffleCyclic_half0;
}
}
//- Name of cellSet that holds the cells to fully remove
blockedCells blockedCellsSet;
//- All exposed faces that are not specified in blockedFaces go into
// this patch
defaultPatch outer;
// ************************************************************************* //

View File

@ -0,0 +1,11 @@
#!/bin/sh
cd ${0%/*} || exit 1 # run from this directory
if [ ! -d ${WM_THIRD_PARTY_DIR}/tecio ]
then
echo "Did not find tecio in ${WM_THIRD_PARTY_DIR}. Not building foamToTecplot360."
else
wmake
fi
# ----------------------------------------------------------------- end-of-file

View File

@ -0,0 +1,46 @@
#----------------------------------*-sh-*--------------------------------------
# ========= |
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
# \\ / O peration |
# \\ / A nd | Copyright (C) 2011-2011 OpenCFD Ltd.
# \\/ M anipulation |
#------------------------------------------------------------------------------
# License
# This file is part of OpenFOAM.
#
# OpenFOAM is free software: you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# for more details.
#
# You should have received a copy of the GNU General Public License
# along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
#
# File
# paraview3/cshrc-EXAMPLE
#
# Description
# Example of chaining to the standard paraview3/cshrc with a
# different ParaView_VERSION
#
# Note
# This file could be copied to a user or site location, but should never
# replace the default shipped version as this will cause an infinite loop
#
#------------------------------------------------------------------------------
#
# Use other (shipped) cshrc with a different ParaView_VERSION
#
set foamFile=`$WM_PROJECT_DIR/bin/foamEtcFile -mode o apps/paraview3/cshrc`
if ( $status == 0 ) source $foamFile ParaView_VERSION=3.9.0
unset foamFile
# -----------------------------------------------------------------------------

View File

@ -112,6 +112,7 @@ $(constraintFvPatchFields)/wedge/wedgeFvPatchScalarField.C
derivedFvPatchFields = $(fvPatchFields)/derived derivedFvPatchFields = $(fvPatchFields)/derived
$(derivedFvPatchFields)/activeBaffleVelocity/activeBaffleVelocityFvPatchVectorField.C $(derivedFvPatchFields)/activeBaffleVelocity/activeBaffleVelocityFvPatchVectorField.C
$(derivedFvPatchFields)/activePressureForceBaffleVelocity/activePressureForceBaffleVelocityFvPatchVectorField.C
$(derivedFvPatchFields)/advective/advectiveFvPatchFields.C $(derivedFvPatchFields)/advective/advectiveFvPatchFields.C
$(derivedFvPatchFields)/codedFixedValue/codedFixedValueFvPatchScalarField.C $(derivedFvPatchFields)/codedFixedValue/codedFixedValueFvPatchScalarField.C

View File

@ -0,0 +1,385 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2010-2011 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
OpenFOAM is free software: you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
\*---------------------------------------------------------------------------*/
#include "activePressureForceBaffleVelocityFvPatchVectorField.H"
#include "addToRunTimeSelectionTable.H"
#include "volFields.H"
#include "surfaceFields.H"
#include "cyclicFvPatch.H"
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
Foam::activePressureForceBaffleVelocityFvPatchVectorField::
activePressureForceBaffleVelocityFvPatchVectorField
(
const fvPatch& p,
const DimensionedField<vector, volMesh>& iF
)
:
fixedValueFvPatchVectorField(p, iF),
pName_("p"),
cyclicPatchName_(),
cyclicPatchLabel_(-1),
orientation_(1),
initWallSf_(0),
initCyclicSf_(0),
nbrCyclicSf_(0),
openFraction_(0),
openingTime_(0),
maxOpenFractionDelta_(0),
curTimeIndex_(-1),
minThresholdValue_(0),
fBased_(1),
baffleActivated_(0)
{}
Foam::activePressureForceBaffleVelocityFvPatchVectorField::
activePressureForceBaffleVelocityFvPatchVectorField
(
const activePressureForceBaffleVelocityFvPatchVectorField& ptf,
const fvPatch& p,
const DimensionedField<vector, volMesh>& iF,
const fvPatchFieldMapper& mapper
)
:
fixedValueFvPatchVectorField(ptf, p, iF, mapper),
pName_(ptf.pName_),
cyclicPatchName_(ptf.cyclicPatchName_),
cyclicPatchLabel_(ptf.cyclicPatchLabel_),
orientation_(ptf.orientation_),
initWallSf_(ptf.initWallSf_),
initCyclicSf_(ptf.initCyclicSf_),
nbrCyclicSf_(ptf.nbrCyclicSf_),
openFraction_(ptf.openFraction_),
openingTime_(ptf.openingTime_),
maxOpenFractionDelta_(ptf.maxOpenFractionDelta_),
curTimeIndex_(-1),
minThresholdValue_(ptf.minThresholdValue_),
fBased_(ptf.fBased_),
baffleActivated_(ptf.baffleActivated_)
{}
Foam::activePressureForceBaffleVelocityFvPatchVectorField::
activePressureForceBaffleVelocityFvPatchVectorField
(
const fvPatch& p,
const DimensionedField<vector, volMesh>& iF,
const dictionary& dict
)
:
fixedValueFvPatchVectorField(p, iF),
pName_("p"),
cyclicPatchName_(dict.lookup("cyclicPatch")),
cyclicPatchLabel_(p.patch().boundaryMesh().findPatchID(cyclicPatchName_)),
orientation_(readLabel(dict.lookup("orientation"))),
initWallSf_(0),
initCyclicSf_(0),
nbrCyclicSf_(0),
openFraction_(readScalar(dict.lookup("openFraction"))),
openingTime_(readScalar(dict.lookup("openingTime"))),
maxOpenFractionDelta_(readScalar(dict.lookup("maxOpenFractionDelta"))),
curTimeIndex_(-1),
minThresholdValue_(readScalar(dict.lookup("minThresholdValue"))),
fBased_(readBool(dict.lookup("forceBased"))),
baffleActivated_(0)
{
fvPatchVectorField::operator=(vector::zero);
if (p.size() > 0)
{
initWallSf_ = p.Sf();
initCyclicSf_ = p.boundaryMesh()[cyclicPatchLabel_].Sf();
nbrCyclicSf_ = refCast<const cyclicFvPatch>
(
p.boundaryMesh()[cyclicPatchLabel_]
).neighbFvPatch().Sf();
}
if (dict.found("p"))
{
dict.lookup("p") >> pName_;
}
}
Foam::activePressureForceBaffleVelocityFvPatchVectorField::
activePressureForceBaffleVelocityFvPatchVectorField
(
const activePressureForceBaffleVelocityFvPatchVectorField& ptf
)
:
fixedValueFvPatchVectorField(ptf),
pName_(ptf.pName_),
cyclicPatchName_(ptf.cyclicPatchName_),
cyclicPatchLabel_(ptf.cyclicPatchLabel_),
orientation_(ptf.orientation_),
initWallSf_(ptf.initWallSf_),
initCyclicSf_(ptf.initCyclicSf_),
nbrCyclicSf_(ptf.nbrCyclicSf_),
openFraction_(ptf.openFraction_),
openingTime_(ptf.openingTime_),
maxOpenFractionDelta_(ptf.maxOpenFractionDelta_),
curTimeIndex_(-1),
minThresholdValue_(ptf.minThresholdValue_),
fBased_(ptf.fBased_),
baffleActivated_(ptf.baffleActivated_)
{}
Foam::activePressureForceBaffleVelocityFvPatchVectorField::
activePressureForceBaffleVelocityFvPatchVectorField
(
const activePressureForceBaffleVelocityFvPatchVectorField& ptf,
const DimensionedField<vector, volMesh>& iF
)
:
fixedValueFvPatchVectorField(ptf, iF),
pName_(ptf.pName_),
cyclicPatchName_(ptf.cyclicPatchName_),
cyclicPatchLabel_(ptf.cyclicPatchLabel_),
orientation_(ptf.orientation_),
initWallSf_(ptf.initWallSf_),
initCyclicSf_(ptf.initCyclicSf_),
nbrCyclicSf_(ptf.nbrCyclicSf_),
openFraction_(ptf.openFraction_),
openingTime_(ptf.openingTime_),
maxOpenFractionDelta_(ptf.maxOpenFractionDelta_),
curTimeIndex_(-1),
minThresholdValue_(ptf.minThresholdValue_),
fBased_(ptf.fBased_),
baffleActivated_(ptf.baffleActivated_)
{}
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
void Foam::activePressureForceBaffleVelocityFvPatchVectorField::autoMap
(
const fvPatchFieldMapper& m
)
{
fixedValueFvPatchVectorField::autoMap(m);
//- Note: cannot map field from cyclic patch anyway so just recalculate
// Areas should be consistent when doing autoMap except in case of
// topo changes.
//- Note: we don't want to use Sf here since triggers rebuilding of
// fvMesh::S() which will give problems when mapped (since already
// on new mesh)
forAll (patch().boundaryMesh().mesh().faceAreas(), i)
{
if (mag(patch().boundaryMesh().mesh().faceAreas()[i]) == 0)
{
Info << "faceArea[active] "<< i << endl;
}
}
if (patch().size() > 0)
{
const vectorField& areas = patch().boundaryMesh().mesh().faceAreas();
initWallSf_ = patch().patchSlice(areas);
initCyclicSf_ = patch().boundaryMesh()
[
cyclicPatchLabel_
].patchSlice(areas);
nbrCyclicSf_ = refCast<const cyclicFvPatch>
(
patch().boundaryMesh()
[
cyclicPatchLabel_
]
).neighbFvPatch().patch().patchSlice(areas);
}
}
void Foam::activePressureForceBaffleVelocityFvPatchVectorField::rmap
(
const fvPatchVectorField& ptf,
const labelList& addr
)
{
fixedValueFvPatchVectorField::rmap(ptf, addr);
// See autoMap.
const vectorField& areas = patch().boundaryMesh().mesh().faceAreas();
initWallSf_ = patch().patchSlice(areas);
initCyclicSf_ = patch().boundaryMesh()
[
cyclicPatchLabel_
].patchSlice(areas);
nbrCyclicSf_ = refCast<const cyclicFvPatch>
(
patch().boundaryMesh()
[
cyclicPatchLabel_
]
).neighbFvPatch().patch().patchSlice(areas);
}
void Foam::activePressureForceBaffleVelocityFvPatchVectorField::updateCoeffs()
{
if (updated())
{
return;
}
// Execute the change to the openFraction only once per time-step
if (curTimeIndex_ != this->db().time().timeIndex())
{
const volScalarField& p = db().lookupObject<volScalarField>
(
pName_
);
const fvPatch& cyclicPatch = patch().boundaryMesh()[cyclicPatchLabel_];
const labelList& cyclicFaceCells = cyclicPatch.patch().faceCells();
const fvPatch& nbrPatch = refCast<const cyclicFvPatch>
(
cyclicPatch
).neighbFvPatch();
const labelList& nbrFaceCells = nbrPatch.patch().faceCells();
scalar valueDiff = 0;
if (fBased_)
{
// Add this side
forAll(cyclicFaceCells, facei)
{
valueDiff +=p[cyclicFaceCells[facei]]*mag(initCyclicSf_[facei]);
}
// Remove other side
forAll(nbrFaceCells, facei)
{
valueDiff -=p[nbrFaceCells[facei]]*mag(initCyclicSf_[facei]);
}
}
else //pressure based
{
forAll(cyclicFaceCells, facei)
{
valueDiff += p[cyclicFaceCells[facei]];
}
forAll(nbrFaceCells, facei)
{
valueDiff -= p[nbrFaceCells[facei]];
}
}
if ((mag(valueDiff) > mag(minThresholdValue_) || baffleActivated_))
{
openFraction_ =
max(
min(
openFraction_
+ max
(
this->db().time().deltaT().value()/openingTime_,
maxOpenFractionDelta_
)*(orientation_),
1 - 1e-6
),
1e-6
);
baffleActivated_ = true;
}
else
{
openFraction_ = max(min(1 - 1e-6, openFraction_), 1e-6);
}
Info<< "Open fraction = " << openFraction_ << endl;
Info<< "Pressure difference = " << valueDiff << endl;
vectorField::subField Sfw = patch().patch().faceAreas();
vectorField newSfw = (1 - openFraction_)*initWallSf_;
forAll(Sfw, facei)
{
Sfw[facei] = newSfw[facei];
}
const_cast<scalarField&>(patch().magSf()) = mag(patch().Sf());
// Update owner side of cyclic
const_cast<vectorField&>(cyclicPatch.Sf()) =
openFraction_*initCyclicSf_;
const_cast<scalarField&>(cyclicPatch.magSf()) =
mag(cyclicPatch.Sf());
// Update neighbour side of cyclic
const_cast<vectorField&>(nbrPatch.Sf()) =
openFraction_*nbrCyclicSf_;
const_cast<scalarField&>(nbrPatch.magSf()) =
mag(nbrPatch.Sf());
curTimeIndex_ = this->db().time().timeIndex();
}
fixedValueFvPatchVectorField::updateCoeffs();
}
void Foam::activePressureForceBaffleVelocityFvPatchVectorField::
write(Ostream& os) const
{
fvPatchVectorField::write(os);
os.writeKeyword("cyclicPatch")
<< cyclicPatchName_ << token::END_STATEMENT << nl;
os.writeKeyword("orientation")
<< orientation_ << token::END_STATEMENT << nl;
os.writeKeyword("openingTime")
<< openingTime_ << token::END_STATEMENT << nl;
os.writeKeyword("maxOpenFractionDelta")
<< maxOpenFractionDelta_ << token::END_STATEMENT << nl;
os.writeKeyword("openFraction")
<< openFraction_ << token::END_STATEMENT << nl;
os.writeKeyword("p")
<< pName_ << token::END_STATEMENT << nl;
os.writeKeyword("minThresholdValue")
<< minThresholdValue_ << token::END_STATEMENT << nl;
os.writeKeyword("forceBased")
<< fBased_ << token::END_STATEMENT << nl;
writeEntry("value", os);
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
makePatchTypeField
(
fvPatchVectorField,
activePressureForceBaffleVelocityFvPatchVectorField
);
}
// ************************************************************************* //

View File

@ -0,0 +1,210 @@
/*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2010-2011 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
OpenFOAM is free software: you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
Class
Foam::activePressureForceBaffleVelocityFvPatchVectorField
Description
Bounday which emulates the operation of a release pressure panel.
The boundary condition modifies mesh areas based on difference
of pressure or force face beween both sides of the panel. Once opened the
panel continues to open at a fixed rate.
SourceFiles
activePressureForceBaffleVelocityFvPatchVectorField.C
\*---------------------------------------------------------------------------*/
#ifndef activePressureForceBaffleVelocityFvPatchVectorField_H
#define activePressureForceBaffleVelocityFvPatchVectorField_H
#include "fvPatchFields.H"
#include "fixedValueFvPatchFields.H"
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
/*---------------------------------------------------------------------------*\
Class activePressureForceBaffleVelocityFvPatch Declaration
\*---------------------------------------------------------------------------*/
class activePressureForceBaffleVelocityFvPatchVectorField
:
public fixedValueFvPatchVectorField
{
// Private data
//- Name of the pressure field used to calculate the force
// on the active baffle
word pName_;
//- Name of the cyclic patch used when the active baffle is open
word cyclicPatchName_;
//- Index of the cyclic patch used when the active baffle is open
label cyclicPatchLabel_;
//- Orientation (1 or -1) of the active baffle patch.
// Used to change the direction of opening without the need for
// reordering the patch faces
label orientation_;
//- Initial wall patch areas
vectorField initWallSf_;
//- Initial cyclic patch areas
vectorField initCyclicSf_;
//- Initial neighbour-side cyclic patch areas
vectorField nbrCyclicSf_;
//- Current fraction of the active baffle which is open
scalar openFraction_;
//- Time taken for the active baffle to open
scalar openingTime_;
//- Maximum fractional change to the active baffle openness
// per time-step
scalar maxOpenFractionDelta_;
label curTimeIndex_;
//- Minimum value for the active baffle to start opening
scalar minThresholdValue_;
//- Force based active baffle
bool fBased_;
//- Baffle is activated
bool baffleActivated_;
public:
//- Runtime type information
TypeName("activePressureForceBaffleVelocity");
// Constructors
//- Construct from patch and internal field
activePressureForceBaffleVelocityFvPatchVectorField
(
const fvPatch&,
const DimensionedField<vector, volMesh>&
);
//- Construct from patch, internal field and dictionary
activePressureForceBaffleVelocityFvPatchVectorField
(
const fvPatch&,
const DimensionedField<vector, volMesh>&,
const dictionary&
);
//- Construct by mapping
activePressureForceBaffleVelocityFvPatchVectorField
(
const activePressureForceBaffleVelocityFvPatchVectorField&,
const fvPatch&,
const DimensionedField<vector, volMesh>&,
const fvPatchFieldMapper&
);
//- Construct as copy
activePressureForceBaffleVelocityFvPatchVectorField
(
const activePressureForceBaffleVelocityFvPatchVectorField&
);
//- Construct and return a clone
virtual tmp<fvPatchVectorField> clone() const
{
return tmp<fvPatchVectorField>
(
new activePressureForceBaffleVelocityFvPatchVectorField(*this)
);
}
//- Construct as copy setting internal field reference
activePressureForceBaffleVelocityFvPatchVectorField
(
const activePressureForceBaffleVelocityFvPatchVectorField&,
const DimensionedField<vector, volMesh>&
);
//- Construct and return a clone setting internal field reference
virtual tmp<fvPatchVectorField> clone
(
const DimensionedField<vector, volMesh>& iF
) const
{
return tmp<fvPatchVectorField>
(
new activePressureForceBaffleVelocityFvPatchVectorField
(
*this,
iF
)
);
}
// Member functions
// Mapping functions
//- Map (and resize as needed) from self given a mapping object
virtual void autoMap
(
const fvPatchFieldMapper&
);
//- Reverse map the given fvPatchField onto this fvPatchField
virtual void rmap
(
const fvPatchVectorField&,
const labelList&
);
//- Update the coefficients associated with the patch field
virtual void updateCoeffs();
//- Write
virtual void write(Ostream&) const;
};
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace Foam
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#endif
// ************************************************************************* //

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,53 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
location "0";
object Su;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [ 0 1 -1 0 0 0 0 ];
internalField uniform 0.5;
boundaryField
{
outer
{
type inletOutlet;
inletValue uniform 0.5;
value uniform 0.5;
}
ground
{
type zeroGradient;
}
blockedFaces
{
type zeroGradient;
}
baffleWall
{
type zeroGradient;
}
baffleCyclic_half0
{
type cyclic;
}
baffleCyclic_half1
{
type cyclic;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,54 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
location "0";
object T;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [ 0 0 0 1 0 0 0 ];
internalField uniform 300;
boundaryField
{
outer
{
type inletOutlet;
inletValue uniform 300;
value uniform 300;
}
ground
{
type zeroGradient;
}
blockedFaces
{
type zeroGradient;
}
baffleWall
{
type zeroGradient;
value uniform 300;
}
baffleCyclic_half0
{
type cyclic;
}
baffleCyclic_half1
{
type cyclic;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,54 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
location "0";
object Tu;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [ 0 0 0 1 0 0 0 ];
internalField uniform 300;
boundaryField
{
outer
{
type inletOutlet;
inletValue uniform 300;
value uniform 300;
}
ground
{
type zeroGradient;
}
blockedFaces
{
type zeroGradient;
}
baffleWall
{
type zeroGradient;
value uniform 300;
}
baffleCyclic_half0
{
type cyclic;
}
baffleCyclic_half1
{
type cyclic;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,64 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volVectorField;
location "0";
object U;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [ 0 1 -1 0 0 0 0 ];
internalField uniform ( 0 0 0 );
boundaryField
{
outer
{
type inletOutlet;
inletValue uniform ( 0 0 0 );
value uniform ( 0 0 0 );
}
ground
{
type fixedValue;
value uniform ( 0 0 0 );
}
blockedFaces
{
type fixedValue;
value uniform ( 0 0 0 );
}
baffleWall
{
type activePressureForceBaffleVelocity;
value uniform ( 0 0 0 );
cyclicPatch baffleCyclic_half0;
orientation 1;
openingTime 0.01;
maxOpenFractionDelta 0.1;
openFraction 0;
p p;
minThresholdValue 8000;
forceBased 0;
}
baffleCyclic_half0
{
type cyclic;
}
baffleCyclic_half1
{
type cyclic;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,54 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
location "0";
object Xi;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [ 0 0 0 0 0 0 0 ];
internalField uniform 1;
boundaryField
{
outer
{
type inletOutlet;
inletValue uniform 1;
value uniform 1;
}
ground
{
type zeroGradient;
}
blockedFaces
{
type zeroGradient;
}
baffleWall
{
type zeroGradient;
value uniform 1;
}
baffleCyclic_half0
{
type cyclic;
}
baffleCyclic_half1
{
type cyclic;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,58 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
location "0";
object alphat;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [1 -1 -1 0 0 0 0];
internalField uniform 0;
boundaryField
{
outer
{
type calculated;
value uniform 0;
}
ground
{
type alphatWallFunction;
Prt 0.85;
value uniform 0;
}
blockedFaces
{
type alphatWallFunction;
Prt 0.85;
value nonuniform 0();
}
baffleWall
{
type alphatWallFunction;
Prt 0.85;
value nonuniform 0();
}
baffleCyclic_half0
{
type cyclic;
}
baffleCyclic_half1
{
type cyclic;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,54 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
location "0";
object b;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [ 0 0 0 0 0 0 0 ];
internalField uniform 1;
boundaryField
{
outer
{
type inletOutlet;
inletValue uniform 1;
value uniform 1;
}
ground
{
type zeroGradient;
}
blockedFaces
{
type zeroGradient;
}
baffleWall
{
type zeroGradient;
value uniform 1;
}
baffleCyclic_half0
{
type cyclic;
}
baffleCyclic_half1
{
type cyclic;
}
}
// ************************************************************************* //

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,65 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
location "0";
object epsilon;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [ 0 2 -3 0 0 0 0 ];
internalField uniform 0.1;
boundaryField
{
outer
{
type inletOutlet;
inletValue uniform 0.1;
value uniform 0.1;
}
ground
{
type compressible::epsilonWallFunction;
Cmu 0.09;
kappa 0.41;
E 9.8;
value uniform 0.1;
}
blockedFaces
{
type compressible::epsilonWallFunction;
Cmu 0.09;
kappa 0.41;
E 9.8;
value uniform 0.1;
}
baffleWall
{
type compressible::epsilonWallFunction;
Cmu 0.09;
kappa 0.41;
E 9.8;
value uniform 1e-05;
}
baffleCyclic_half0
{
type cyclic;
}
baffleCyclic_half1
{
type cyclic;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,56 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
location "0";
object epsilon;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [ 0 2 -3 0 0 0 0 ];
internalField uniform 0.1;
boundaryField
{
outer
{
type inletOutlet;
inletValue uniform 0.1;
value uniform 0.1;
}
ground
{
type compressible::epsilonWallFunction;
value uniform 0.1;
}
blockedFaces
{
type compressible::epsilonWallFunction;
value uniform 0.1;
}
baffleWall
{
type compressible::epsilonWallFunction;
value uniform 1e-05;
}
baffleCyclic_half0
{
type cyclic;
}
baffleCyclic_half1
{
type cyclic;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,54 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
location "0";
object ft;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [ 0 0 0 0 0 0 0 ];
internalField uniform 0.0623;
boundaryField
{
outer
{
type inletOutlet;
inletValue uniform 0.0623;
value uniform 0.0623;
}
ground
{
type zeroGradient;
}
blockedFaces
{
type zeroGradient;
}
baffleWall
{
type zeroGradient;
value uniform 0.06024096;
}
baffleCyclic_half0
{
type cyclic;
}
baffleCyclic_half1
{
type cyclic;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,56 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
location "0";
object k;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [ 0 2 -2 0 0 0 0 ];
internalField uniform 1.5;
boundaryField
{
outer
{
type inletOutlet;
inletValue uniform 1.5;
value uniform 1.5;
}
ground
{
type compressible::kqRWallFunction;
value uniform 1.5;
}
blockedFaces
{
type compressible::kqRWallFunction;
value uniform 1.5;
}
baffleWall
{
type compressible::kqRWallFunction;
value uniform 1.5;
}
baffleCyclic_half0
{
type cyclic;
}
baffleCyclic_half1
{
type cyclic;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,56 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
location "0";
object k;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [ 0 2 -2 0 0 0 0 ];
internalField uniform 1.5;
boundaryField
{
outer
{
type inletOutlet;
inletValue uniform 1.5;
value uniform 1.5;
}
ground
{
type compressible::kqRWallFunction;
value uniform 1.5;
}
blockedFaces
{
type compressible::kqRWallFunction;
value uniform 1.5;
}
baffleWall
{
type compressible::kqRWallFunction;
value uniform 1.5;
}
baffleCyclic_half0
{
type cyclic;
}
baffleCyclic_half1
{
type cyclic;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,64 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
location "0";
object mut;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [1 -1 -1 0 0 0 0];
internalField uniform 0;
boundaryField
{
outer
{
type calculated;
value uniform 0;
}
ground
{
type mutkWallFunction;
Cmu 0.09;
kappa 0.41;
E 9.8;
value uniform 0;
}
blockedFaces
{
type mutkWallFunction;
Cmu 0.09;
kappa 0.41;
E 9.8;
value nonuniform 0();
}
baffleWall
{
type mutkWallFunction;
Cmu 0.09;
kappa 0.41;
E 9.8;
value nonuniform 0();
}
baffleCyclic_half0
{
type cyclic;
}
baffleCyclic_half1
{
type cyclic;
}
}
// ************************************************************************* //

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,55 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
location "0";
object p;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [ 1 -1 -2 0 0 0 0 ];
internalField uniform 100000;
boundaryField
{
outer
{
type waveTransmissive;
gamma 1.3;
fieldInf 100000;
lInf 5;
value uniform 100000;
}
ground
{
type zeroGradient;
}
blockedFaces
{
type zeroGradient;
}
baffleWall
{
type zeroGradient;
}
baffleCyclic_half0
{
type cyclic;
}
baffleCyclic_half1
{
type cyclic;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,15 @@
#!/bin/sh
cd ${0%/*} || exit 1 # run from this directory
# Source tutorial clean functions
. $WM_PROJECT_DIR/bin/tools/CleanFunctions
cleanCase
rm -rf VTK
rm -rf constant/polyMesh/sets constant/polyMesh/faces
rm -rf constant/polyMesh/faces
rm -rf constant/polyMesh/points
rm -rf constant/polyMesh/owner
rm -rf constant/polyMesh/neighbour
# ----------------------------------------------------------------- end-of-file

View File

@ -0,0 +1,18 @@
#!/bin/sh
cd ${0%/*} || exit 1 # run from this directory
# Source tutorial run functions
. $WM_PROJECT_DIR/bin/tools/RunFunctions
runApplication blockMesh
runApplication changeDictionary
runApplication setSet -batch makeBlockedFaceSet.setSet
runApplication PDRMesh
# Run
runApplication PDRFoam
# ----------------------------------------------------------------- end-of-file

View File

@ -0,0 +1,12 @@
PDR test case
The folder 0.org contains the initial fields for the original
blockMesh.
Step to introduce the PDR fields:
1) Create zero-size patches for wall or/and coupled baffles in
the boundary file.
2) Specify the boundary contitions for these patches in the fields.
3) Create the new PDR mesh using the PDRMesh utility

View File

@ -0,0 +1,101 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "constant";
object PDRProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
PDRDragModel basic;
basicCoeffs
{
drag on;
Csu 0.5;
Csk 0.05;
}
XiModel transport;
transportCoeffs
{
XiShapeCoef 1;
}
XiEqModel instability;
instabilityCoeffs
{
XiEqIn 2.5;
XiEqModel basicSubGrid;
basicSubGridCoeffs
{
XiEqModel SCOPEBlend;
SCOPEBlendCoeffs
{
XiEqModelL
{
XiEqModel Gulder;
GulderCoeffs
{
XiEqCoef 0.62;
uPrimeCoef 1.0;
}
}
XiEqModelH
{
XiEqModel SCOPEXiEq;
SCOPEXiEqCoeffs
{
XiEqCoef 1.6;
XiEqExp 0.33333;
lCoef 0.336;
uPrimeCoef 1.0;
}
}
}
}
}
XiGModel instabilityG;
instabilityGCoeffs
{
lambdaIn lambdaIn [0 1 0 0 0 0 0] 0.6;
GIn GIn [0 0 -1 0 0 0 0] 1.917;
XiGModel basicSubGridG;
basicSubGridGCoeffs
{
k1 0.5;
XiGModel KTS;
KTSCoeffs
{
GEtaCoef 0.28;
}
}
}
// ************************************************************************* //

View File

@ -0,0 +1,36 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "constant";
object RASProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
RASModel PDRkEpsilon;
PDRkEpsilonCoeffs
{
Cmu 0.09;
C1 1.44;
C2 1.92;
C3 0;
C4 0.1;
alphah 1;
alphak 1;
alphaEps 0.76923;
}
turbulence on;
printCoeffs on;
// ************************************************************************* //

View File

@ -0,0 +1,46 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "constant";
object combustionProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
laminarFlameSpeedCorrelation SCOPE;
fuel Propane;
fuelFile "fuels/propane.dat";
ignite yes;
ignitionSites
(
{
location (1.5 1.5 0.5);
diameter 0.005;
start 1E-05;
duration 0.05;
strength 10.0;
}
);
ignitionSphereFraction 1;
ignitionThickness ignitionThickness [0 1 0 0 0 0 0] 0;
ignitionCircleFraction 0;
ignitionKernelArea ignitionKernelArea [0 2 0 0 0 0 0] 0;
// ************************************************************************* //

View File

@ -0,0 +1,58 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object dynamicMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dynamicFvMesh dynamicRefineFvMesh;
dynamicRefineFvMeshCoeffs
{
// Refine every refineInterval timesteps
refineInterval 1;
// Maximum refinement level (starts from 0)
maxRefinement 2;
// Maximum cell limit (approximate)
maxCells 10000;
// volScalarField to base refinement on
field normalisedGradP;
nBufferLayers 1;
dumpLevel true;
lowerRefineLevel 0.5;
upperRefineLevel 1.5;
unrefineLevel 0.5;
nBufferLayers 1;
// Newly introduced patch points optionally get projected onto a surface
//projectSurfaces ("fixedWalls4.stl");
//projectPatches (fixedWalls);
// Maximum project distance
//projectDistance 1;
// Fluxes to adapt. For newly created faces or split faces the flux
// gets estimated from an interpolated volVectorField ('velocity')
// First is name of the flux to adapt, second is velocity that will
// be interpolated and inner-producted with the face area vector.
correctFluxes ((phi U));
}
// ************************************************************************* //

View File

@ -0,0 +1,22 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class uniformDimensionedVectorField;
location "constant";
object g;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 1 -2 0 0 0 0];
value ( 0 0 -9.8 );
// ************************************************************************* //

View File

@ -0,0 +1,242 @@
/*---------------------------------------------------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object blockMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
convertToMeters 1.0;
vertices
(
(0.0 0.0 0.0)
(1.0 0.0 0.0)
(2.0 0.0 0.0)
(3.0 0.0 0.0)
(0.0 1.0 0.0)
(1.0 1.0 0.0)
(2.0 1.0 0.0)
(3.0 1.0 0.0)
(0.0 2.0 0.0)
(1.0 2.0 0.0)
(2.0 2.0 0.0)
(3.0 2.0 0.0)
(0.0 3.0 0.0)
(1.0 3.0 0.0)
(2.0 3.0 0.0)
(3.0 3.0 0.0)
(0.0 0.0 1.0)
(1.0 0.0 1.0)
(2.0 0.0 1.0)
(3.0 0.0 1.0)
(0.0 1.0 1.0)
(1.0 1.0 1.0)
(2.0 1.0 1.0)
(3.0 1.0 1.0)
(0.0 2.0 1.0)
(1.0 2.0 1.0)
(2.0 2.0 1.0)
(3.0 2.0 1.0)
(0.0 3.0 1.0)
(1.0 3.0 1.0)
(2.0 3.0 1.0)
(3.0 3.0 1.0)
(0.0 0.0 2.0)
(1.0 0.0 2.0)
(2.0 0.0 2.0)
(3.0 0.0 2.0)
(0.0 1.0 2.0)
(1.0 1.0 2.0)
(2.0 1.0 2.0)
(3.0 1.0 2.0)
(0.0 2.0 2.0)
(1.0 2.0 2.0)
(2.0 2.0 2.0)
(3.0 2.0 2.0)
(0.0 3.0 2.0)
(1.0 3.0 2.0)
(2.0 3.0 2.0)
(3.0 3.0 2.0)
(-3.53553390593274 -3.53553390593274 0)
(-0.58113883008419 -4.74341649025257 0)
(3.58113883008419 -4.74341649025257 0)
(6.53553390593274 -3.53553390593274 0)
(-4.74341649025257 -0.58113883008419 0)
(-2.53553390593274 -2.53553390593274 0)
(5.53553390593274 -2.53553390593274 0)
(7.74341649025257 -0.58113883008419 0)
(-4.74341649025257 3.58113883008419 0)
(-2.53553390593274 5.53553390593274 0)
(5.53553390593274 5.53553390593274 0)
(7.74341649025257 3.58113883008419 0)
(-3.53553390593274 6.53553390593274 0)
(-0.58113883008419 7.74341649025257 0)
(3.58113883008419 7.74341649025257 0)
(6.53553390593274 6.53553390593274 0)
(-3.19801074533416 -3.19801074533416 3.1320071635561)
(-0.336306209562122 -4.00891862868637 3.67261241912424)
(3.33630620956212 -4.00891862868637 3.67261241912424)
(6.19801074533416 -3.19801074533416 3.1320071635561)
(-4.00891862868637 -0.336306209562122 3.67261241912424)
(7.00891862868637 -0.336306209562122 3.67261241912424)
(-4.00891862868637 3.33630620956212 3.67261241912424)
(7.00891862868637 3.33630620956212 3.67261241912424)
(-3.19801074533416 6.19801074533416 3.1320071635561)
(-0.336306209562122 7.00891862868637 3.67261241912424)
(3.33630620956212 7.00891862868637 3.67261241912424)
(6.19801074533416 6.19801074533416 3.1320071635561)
(-2.57247877713763 -2.57247877713763 5.42997170285018)
(0.0194193243090797 -2.94174202707276 5.92232270276368)
(2.98058067569092 -2.94174202707276 5.92232270276368)
(5.57247877713763 -2.57247877713763 5.42997170285018)
(-2.94174202707276 0.0194193243090797 5.92232270276368)
(-0.178511301977579 -0.178511301977579 6.71404520791032)
(3.17851130197758 -0.178511301977579 6.71404520791032)
(5.94174202707276 0.0194193243090797 5.92232270276368)
(-2.94174202707276 2.98058067569092 5.92232270276368)
(-0.178511301977579 3.17851130197758 6.71404520791032)
(3.17851130197758 3.17851130197758 6.71404520791032)
(5.94174202707276 2.98058067569092 5.92232270276368)
(-2.57247877713763 5.57247877713763 5.42997170285018)
(0.0194193243090797 5.94174202707276 5.92232270276368)
(2.98058067569092 5.94174202707276 5.92232270276368)
(5.57247877713763 5.57247877713763 5.42997170285018)
);
blocks
(
hex (0 1 5 4 16 17 21 20 ) (5 5 5) simpleGrading (1 1 1)
hex (1 2 6 5 17 18 22 21 ) (5 5 5) simpleGrading (1 1 1)
hex (2 3 7 6 18 19 23 22 ) (5 5 5) simpleGrading (1 1 1)
hex (4 5 9 8 20 21 25 24 ) (5 5 5) simpleGrading (1 1 1)
hex (5 6 10 9 21 22 26 25 ) (5 5 5) simpleGrading (1 1 1)
hex (6 7 11 10 22 23 27 26 )(5 5 5) simpleGrading (1 1 1)
hex (8 9 13 12 24 25 29 28 ) (5 5 5) simpleGrading (1 1 1)
hex (9 10 14 13 25 26 30 29 ) (5 5 5) simpleGrading (1 1 1)
hex (10 11 15 14 26 27 31 30 ) (5 5 5) simpleGrading (1 1 1)
hex (16 17 21 20 32 33 37 36 ) (5 5 5) simpleGrading (1 1 1)
hex (17 18 22 21 33 34 38 37 ) (5 5 5) simpleGrading (1 1 1)
hex (18 19 23 22 34 35 39 38 ) (5 5 5) simpleGrading (1 1 1)
hex (20 21 25 24 36 37 41 40 ) (5 5 5) simpleGrading (1 1 1)
hex (21 22 26 25 37 38 42 41 ) (5 5 5) simpleGrading (1 1 1)
hex (22 23 27 26 38 39 43 42 ) (5 5 5) simpleGrading (1 1 1)
hex (24 25 29 28 40 41 45 44 ) (5 5 5) simpleGrading (1 1 1)
hex (25 26 30 29 41 42 46 45 ) (5 5 5) simpleGrading (1 1 1)
hex (26 27 31 30 42 43 47 46 ) (5 5 5) simpleGrading (1 1 1)
hex (47 46 42 43 91 90 86 87) (5 5 7) simpleGrading (1 1 2.985984)
hex (46 45 41 42 90 89 85 86) (5 5 7) simpleGrading (1 1 2.985984)
hex (45 44 40 41 89 88 84 85) (5 5 7) simpleGrading (1 1 2.985984)
hex (43 42 38 39 87 86 82 83) (5 5 7) simpleGrading (1 1 2.985984)
hex (42 41 37 38 86 85 81 82) (5 5 7) simpleGrading (1 1 2.985984)
hex (41 40 36 37 85 84 80 81) (5 5 7) simpleGrading (1 1 2.985984)
hex (39 38 34 35 83 82 78 79) (5 5 7) simpleGrading (1 1 2.985984)
hex (38 37 33 34 82 81 77 78) (5 5 7) simpleGrading (1 1 2.985984)
hex (37 36 32 33 81 80 76 77) (5 5 7) simpleGrading (1 1 2.985984)
hex (0 16 20 4 48 64 68 52) (5 5 7) simpleGrading (1 1 2.985984)
hex (16 32 36 20 64 76 80 68) (5 5 7) simpleGrading (1 1 2.985984)
hex (4 20 24 8 52 68 70 56) (5 5 7) simpleGrading (1 1 2.985984)
hex (20 36 40 24 68 80 84 70) (5 5 7) simpleGrading (1 1 2.985984)
hex (8 24 28 12 56 70 72 60) (5 5 7) simpleGrading (1 1 2.985984)
hex (24 40 44 28 70 84 88 72) (5 5 7) simpleGrading (1 1 2.985984)
hex (47 43 27 31 91 87 71 75) (5 5 7) simpleGrading (1 1 2.985984)
hex (43 39 23 27 87 83 69 71) (5 5 7) simpleGrading (1 1 2.985984)
hex (39 35 19 23 83 79 67 69) (5 5 7) simpleGrading (1 1 2.985984)
hex (31 27 11 15 75 71 59 63) (5 5 7) simpleGrading (1 1 2.985984)
hex (27 23 7 11 71 69 55 59) (5 5 7) simpleGrading (1 1 2.985984)
hex (23 19 3 7 69 67 51 55) (5 5 7) simpleGrading (1 1 2.985984)
hex (0 1 17 16 48 49 65 64) (5 5 7) simpleGrading (1 1 2.985984)
hex (1 2 18 17 49 50 66 65) (5 5 7) simpleGrading (1 1 2.985984)
hex (2 3 19 18 50 51 67 66) (5 5 7) simpleGrading (1 1 2.985984)
hex (16 17 33 32 64 65 77 76) (5 5 7) simpleGrading (1 1 2.985984)
hex (17 18 34 33 65 66 78 77) (5 5 7) simpleGrading (1 1 2.985984)
hex (18 19 35 34 66 67 79 78) (5 5 7) simpleGrading (1 1 2.985984)
hex (47 31 30 46 91 75 74 90) (5 5 7) simpleGrading (1 1 2.985984)
hex (31 15 14 30 75 63 62 74) (5 5 7) simpleGrading (1 1 2.985984)
hex (46 30 29 45 90 74 73 89) (5 5 7) simpleGrading (1 1 2.985984)
hex (30 14 13 29 74 62 61 73) (5 5 7) simpleGrading (1 1 2.985984)
hex (45 29 28 44 89 73 72 88) (5 5 7) simpleGrading (1 1 2.985984)
hex (29 13 12 28 73 61 60 72) (5 5 7) simpleGrading (1 1 2.985984)
);
patches
(
patch outer
(
(91 90 86 87)
(90 89 85 86)
(89 88 84 85)
(87 86 82 83)
(86 85 81 82)
(85 84 80 81)
(83 82 78 79)
(82 81 77 78)
(81 80 76 77)
(48 64 68 52)
(64 76 80 68)
(52 68 70 56)
(68 80 84 70)
(56 70 72 60)
(70 84 88 72)
(91 87 71 75)
(87 83 69 71)
(83 79 67 69)
(75 71 59 63)
(71 69 55 59)
(69 67 51 55)
(48 49 65 64)
(49 50 66 65)
(50 51 67 66)
(64 65 77 76)
(65 66 78 77)
(66 67 79 78)
(91 75 74 90)
(75 63 62 74)
(90 74 73 89)
(74 62 61 73)
(89 73 72 88)
(73 61 60 72)
)
wall ground
(
(0 4 5 1)
(1 5 6 2)
(2 6 7 3)
(4 8 9 5)
(5 9 10 6)
(6 10 11 7)
(8 12 13 9)
(9 13 14 10)
(10 14 15 11)
(4 0 48 52)
(8 4 52 56)
(12 8 56 60)
(11 15 63 59)
(7 11 59 55)
(3 7 55 51)
(0 1 49 48)
(1 2 50 49)
(2 3 51 50)
(15 14 62 63)
(14 13 61 62)
(13 12 60 61)
)
wall blockedFaces
()
wall baffleWall
()
cycic baffleCyclic_half0
()
cycic baffleCyclic_half1
()
);

View File

@ -0,0 +1,60 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class polyBoundaryMesh;
location "constant/polyMesh";
object boundary;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
6
(
outer
{
type patch;
nFaces 825;
startFace 23340;
}
ground
{
type wall;
nFaces 645;
startFace 24165;
}
blockedFaces
{
type wall;
nFaces 0;
startFace 24810;
}
baffleWall
{
type wall;
nFaces 0;
startFace 24810;
}
baffleCyclic_half0
{
type cyclic;
nFaces 0;
startFace 24810;
neighbourPatch baffleCyclic_half1;
}
baffleCyclic_half1
{
type cyclic;
nFaces 0;
startFace 24810;
neighbourPatch baffleCyclic_half0;
}
)
// ************************************************************************* //

View File

@ -0,0 +1,64 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "constant";
object thermophysicalProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
thermoType hhuMixtureThermo<inhomogeneousMixture<sutherlandTransport<specieThermo<janafThermo<perfectGas>>>>>;
stoichiometricAirFuelMassRatio stoichiometricAirFuelMassRatio [0 0 0 0 0 0 0] 15.5776;
fuel
{
nMoles 1;
molWeight 44.0962;
Tlow 200;
Thigh 5000;
Tcommon 1000;
highCpCoeffs ( 7.53414 0.0188722 -6.27185e-06 9.14756e-10 -4.78381e-14 -16467.5 -17.8923 );
lowCpCoeffs ( 0.933554 0.0264246 6.10597e-06 -2.19775e-08 9.51493e-12 -13958.5 19.2017 );
As 1.67212e-06;
Ts 170.672;
}
oxidant
{
nMoles 1;
molWeight 28.8504;
Tlow 200;
Thigh 6000;
Tcommon 1000;
highCpCoeffs ( 3.10131 0.00124137 -4.18816e-07 6.64158e-11 -3.91274e-15 -985.266 5.35597 );
lowCpCoeffs ( 3.58378 -0.000727005 1.67057e-06 -1.09203e-10 -4.31765e-13 -1050.53 3.11239 );
As 1.67212e-06;
Ts 170.672;
}
burntProducts
{
nMoles 1;
molWeight 28.3233;
Tlow 200;
Thigh 6000;
Tcommon 1000;
highCpCoeffs ( 3.10558 0.00179747 -5.94696e-07 9.05605e-11 -5.08443e-15 -11003.6 5.12104 );
lowCpCoeffs ( 3.49796 0.000638555 -1.83881e-07 1.20989e-09 -7.68691e-13 -11080.5 3.18188 );
As 1.67212e-06;
Ts 170.672;
}
// ************************************************************************* //

View File

@ -0,0 +1,21 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "constant";
object turbulenceProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
simulationType RASModel;
// ************************************************************************* //

View File

@ -0,0 +1,73 @@
SCOPECoeffs
{
lowerFlamabilityLimit 0.522;
upperFlamabilityLimit 2.362;
lowerSuPolynomial
{
lowerLimit 0.6;
upperLimit 1.2;
coefficients
(
0.45
0.713364389
-2.359004778
-2.629755677
-29.11933997
-55.34224225
0.0
);
}
upperSuPolynomial
{
lowerLimit 1.1;
upperLimit 1.64;
coefficients
(
0.419664668
2.280811555
-11.53872754
2.98656153
21.04870808
-16.09645303
0.0
);
}
Texp 2;
pexp -0.5;
lowerMaPolynomial
{
lowerLimit 0.5;
upperLimit 0.75;
coefficients
(
3.739047
-5.12414
-38.1444
-134.813
-224.633
-144.27
0
);
}
upperMaPolynomial
{
lowerLimit 0.75;
upperLimit 1.0;
coefficients
(
3.739047
-5.12414
-38.1444
-134.813
-224.633
-144.27
0
);
}
}

View File

@ -0,0 +1,5 @@
faceSet blockedFacesSet new boxToFace (1 1 0.99) (2 2 1)
cellSet blockedCellsSet new boxToCell (2.4 2.4 0) (3 3 1)
cellSet blockedCellsSet add boxToCell (0 0 0) (0.6 0.6 1)
faceSet blockedFacesSet add cellToFace blockedCellsSet all
faceSet coupledFacesSet new boxToFace (1.0 1.99 0) (2.0 2.09 0.6)

View File

@ -0,0 +1,38 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object PDRMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
//- Per faceSet the patch the faces should go into blocked baffles
blockedFaces ((blockedFacesSet blockedFaces));
//- Per faceSet the patch the faces should go into coupled baffles
coupledFaces
{
coupledFacesSet
{
wallPatchName baffleWall;
cyclicMasterPatchName baffleCyclic_half0;
}
}
//- Name of cellSet that holds the cells to fully remove
blockedCells blockedCellsSet;
//- All exposed faces that are not specified in blockedFaces go into
// this patch
defaultPatch outer;
// ************************************************************************* //

View File

@ -0,0 +1,455 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.org |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object changeDictionaryDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dictionaryReplacement
{
p
{
boundaryField
{
blockedFaces
{
type zeroGradient;
}
baffleWall
{
type zeroGradient;
}
baffleCyclic_half0
{
type cyclic;
}
baffleCyclic_half1
{
type cyclic;
}
}
}
U
{
boundaryField
{
blockedFaces
{
type fixedValue;
value uniform (0 0 0);
}
baffleWall
{
type activePressureForceBaffleVelocity;
cyclicPatch baffleCyclic_half0;
orientation 1;
openingTime 0.01;
maxOpenFractionDelta 0.1;
openFraction 0;
p p;
minThresholdValue 8000;
forceBased 0;
value uniform ( 0 0 0 );
}
baffleCyclic_half0
{
type cyclic;
}
baffleCyclic_half1
{
type cyclic;
}
}
}
epsilon
{
boundaryField
{
blockedFaces
{
type compressible::epsilonWallFunction;
value uniform 0.1;
}
baffleWall
{
type compressible::epsilonWallFunction;
value uniform 1e-5;
}
baffleCyclic_half0
{
type cyclic;
}
baffleCyclic_half1
{
type cyclic;
}
}
}
k
{
boundaryField
{
blockedFaces
{
type compressible::kqRWallFunction;
value uniform 1.5;
}
baffleWall
{
type compressible::kqRWallFunction;
value uniform 1.5;
}
baffleCyclic_half0
{
type cyclic;
}
baffleCyclic_half1
{
type cyclic;
}
}
}
Su
{
boundaryField
{
blockedFaces
{
type zeroGradient;
}
baffleWall
{
type zeroGradient;
}
baffleCyclic_half0
{
type cyclic;
}
baffleCyclic_half1
{
type cyclic;
}
}
}
Xi
{
boundaryField
{
blockedFaces
{
type zeroGradient;
}
baffleWall
{
type zeroGradient;
value uniform 1;
}
baffleCyclic_half0
{
type cyclic;
}
baffleCyclic_half1
{
type cyclic;
}
}
}
T
{
boundaryField
{
blockedFaces
{
type zeroGradient;
}
baffleWall
{
type zeroGradient;
value uniform 300;
}
baffleCyclic_half0
{
type cyclic;
}
baffleCyclic_half1
{
type cyclic;
}
}
}
Tu
{
boundaryField
{
blockedFaces
{
type zeroGradient;
}
baffleWall
{
type zeroGradient;
value uniform 300;
}
baffleCyclic_half0
{
type cyclic;
}
baffleCyclic_half1
{
type cyclic;
}
}
}
b
{
boundaryField
{
blockedFaces
{
type zeroGradient;
}
baffleWall
{
type zeroGradient;
value uniform 1;
}
baffleCyclic_half0
{
type cyclic;
}
baffleCyclic_half1
{
type cyclic;
}
}
}
ft
{
boundaryField
{
blockedFaces
{
type zeroGradient;
}
baffleWall
{
type zeroGradient;
value uniform 0.06024096;
}
baffleCyclic_half0
{
type cyclic;
}
baffleCyclic_half1
{
type cyclic;
}
}
}
Aw
{
boundaryField
{
blockedFaces
{
type zeroGradient;
}
baffleWall
{
type zeroGradient;
value uniform 0.0;
}
baffleCyclic_half0
{
type cyclic;
}
baffleCyclic_half1
{
type cyclic;
}
}
}
B
{
boundaryField
{
blockedFaces
{
type zeroGradient;
}
baffleWall
{
type zeroGradient;
value uniform (0 0 0 0 0 0);
}
baffleCyclic_half0
{
type cyclic;
}
baffleCyclic_half1
{
type cyclic;
}
}
}
betav
{
boundaryField
{
blockedFaces
{
type zeroGradient;
}
baffleWall
{
type zeroGradient;
value uniform 0;
}
baffleCyclic_half0
{
type cyclic;
}
baffleCyclic_half1
{
type cyclic;
}
}
}
CR
{
boundaryField
{
blockedFaces
{
type zeroGradient;
}
baffleWall
{
type zeroGradient;
value uniform (0 0 0 0 0 0);
}
baffleCyclic_half0
{
type cyclic;
}
baffleCyclic_half1
{
type cyclic;
}
}
}
CT
{
boundaryField
{
blockedFaces
{
type zeroGradient;
}
baffleWall
{
type zeroGradient;
value uniform (0 0 0 0 0 0);
}
baffleCyclic_half0
{
type cyclic;
}
baffleCyclic_half1
{
type cyclic;
}
}
}
Nv
{
boundaryField
{
blockedFaces
{
type zeroGradient;
}
baffleWall
{
type zeroGradient;
value uniform 0;
}
baffleCyclic_half0
{
type cyclic;
}
baffleCyclic_half1
{
type cyclic;
}
}
}
nsv
{
boundaryField
{
blockedFaces
{
type zeroGradient;
}
baffleWall
{
type zeroGradient;
value uniform (0 0 0 0 0 0);
}
baffleCyclic_half0
{
type cyclic;
}
baffleCyclic_half1
{
type cyclic;
}
}
}
Lobs
{
boundaryField
{
blockedFaces
{
type zeroGradient;
}
baffleWall
{
type zeroGradient;
value uniform 0;
}
baffleCyclic_half0
{
type cyclic;
}
baffleCyclic_half1
{
type cyclic;
}
}
}
}
// ************************************************************************* //

View File

@ -0,0 +1,55 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "system";
object controlDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
application PDRFoam;
startFrom latestTime;
startTime 0;
stopAt endTime;
endTime 0.2;
deltaT 5e-06;
writeControl adjustableRunTime;
writeInterval 0.01;
purgeWrite 0;
writeFormat ascii;
writePrecision 8;
writeCompression off;
timeFormat general;
timePrecision 6;
runTimeModifiable yes;
adjustTimeStep yes;
maxCo 0.3;
maxDeltaT 1;
// ************************************************************************* //

View File

@ -0,0 +1,40 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "system";
object decomposeParDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
numberOfSubdomains 4;
method simple;
simpleCoeffs
{
n (2 2 1);
delta 0.001;
}
hierarchicalCoeffs
{
n (2 2 1);
delta 0.001;
order xyz;
}
manualCoeffs
{
dataFile "decompositionData";
}
// ************************************************************************* //

View File

@ -0,0 +1,87 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "system";
object fvSchemes;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
ddtSchemes
{
default Euler;
}
gradSchemes
{
default Gauss linear;
grad(p) Gauss linear;
}
divSchemes
{
default none;
div(phi,U) Gauss limitedLinearV 1;
div(phiU,p) Gauss limitedLinear 1;
div(phid,p) Gauss limitedLinear 1;
div(phi,k) Gauss limitedLinear 1;
div(phi,epsilon) Gauss limitedLinear 1;
div(phiXi,Xi) Gauss limitedLinear 1;
div(phiSt,b) Gauss limitedLinear01 1;
div(phi,ft_b_h_hu) Gauss multivariateSelection
{
ft limitedLinear01 1;
b limitedLinear01 1;
Xi limitedLinear 1;
h limitedLinear 1;
hu limitedLinear 1;
};
div((Su*grad(b))) Gauss linear;
div((U+((Su*Xi)*grad(b)))) Gauss linear;
div((muEff*dev2(T(grad(U))))) Gauss linear;
div(U) Gauss linear;
}
laplacianSchemes
{
default none;
laplacian(muEff,U) Gauss linear limited 0.333;
laplacian(DkEff,k) Gauss linear limited 0.333;
laplacian(DepsilonEff,epsilon) Gauss linear limited 0.333;
laplacian((rho*inv((((1)*A(U))+((((0.5*rho)*CR)*mag(U))+((((Csu*(1))*betav)*muEff)*sqr(Aw)))))),p) Gauss linear limited 0.333;
laplacian(Db,b) Gauss linear limited 0.333;
laplacian(Db,ft) Gauss linear limited 0.333;
laplacian(Db,h) Gauss linear limited 0.333;
laplacian(Db,hu) Gauss linear limited 0.333;
}
interpolationSchemes
{
default linear;
}
snGradSchemes
{
default limited 0.333;
}
fluxRequired
{
default no;
p;
}
// ************************************************************************* //

View File

@ -0,0 +1,54 @@
/*--------------------------------*- C++ -*----------------------------------*\
| ========= | |
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \\ / O peration | Version: dev |
| \\ / A nd | Web: www.OpenFOAM.com |
| \\/ M anipulation | |
\*---------------------------------------------------------------------------*/
FoamFile
{
version 2.0;
format ascii;
class dictionary;
location "system";
object fvSolution;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
solvers
{
rho
{
solver PCG;
preconditioner DIC;
tolerance 1e-05;
relTol 0;
};
p
{
solver PCG;
preconditioner DIC;
tolerance 1e-6;
relTol 0;
};
"(U|ft|fu|b|Xi|Su|h|hu|R|k|epsilon)"
{
solver PBiCG;
preconditioner DILU;
tolerance 1e-05;
relTol 0;
}
}
PISO
{
nCorrectors 2;
nNonOrthogonalCorrectors 0;
momentumPredictor true;
}
// ************************************************************************* //