mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
Merge branch 'master' of ssh://noisy/home/noisy3/OpenFOAM/OpenFOAM-dev
This commit is contained in:
3
applications/utilities/mesh/advanced/PDRMesh/Make/files
Normal file
3
applications/utilities/mesh/advanced/PDRMesh/Make/files
Normal file
@ -0,0 +1,3 @@
|
||||
PDRMesh.C
|
||||
|
||||
EXE = $(FOAM_APPBIN)/PDRMesh
|
||||
11
applications/utilities/mesh/advanced/PDRMesh/Make/options
Normal file
11
applications/utilities/mesh/advanced/PDRMesh/Make/options
Normal 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
|
||||
|
||||
1181
applications/utilities/mesh/advanced/PDRMesh/PDRMesh.C
Normal file
1181
applications/utilities/mesh/advanced/PDRMesh/PDRMesh.C
Normal file
File diff suppressed because it is too large
Load Diff
40
applications/utilities/mesh/advanced/PDRMesh/PDRMeshDict
Normal file
40
applications/utilities/mesh/advanced/PDRMesh/PDRMeshDict
Normal 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;
|
||||
|
||||
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -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
|
||||
46
etc/apps/paraview3/cshrc-EXAMPLE
Normal file
46
etc/apps/paraview3/cshrc-EXAMPLE
Normal 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
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
@ -112,6 +112,7 @@ $(constraintFvPatchFields)/wedge/wedgeFvPatchScalarField.C
|
||||
|
||||
derivedFvPatchFields = $(fvPatchFields)/derived
|
||||
$(derivedFvPatchFields)/activeBaffleVelocity/activeBaffleVelocityFvPatchVectorField.C
|
||||
$(derivedFvPatchFields)/activePressureForceBaffleVelocity/activePressureForceBaffleVelocityFvPatchVectorField.C
|
||||
$(derivedFvPatchFields)/advective/advectiveFvPatchFields.C
|
||||
|
||||
$(derivedFvPatchFields)/codedFixedValue/codedFixedValueFvPatchScalarField.C
|
||||
|
||||
@ -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
|
||||
);
|
||||
}
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -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
|
||||
|
||||
// ************************************************************************* //
|
||||
8083
tutorials/combustion/PDRFoam/0/Aw
Normal file
8083
tutorials/combustion/PDRFoam/0/Aw
Normal file
File diff suppressed because it is too large
Load Diff
8083
tutorials/combustion/PDRFoam/0/B
Normal file
8083
tutorials/combustion/PDRFoam/0/B
Normal file
File diff suppressed because it is too large
Load Diff
8083
tutorials/combustion/PDRFoam/0/CR
Normal file
8083
tutorials/combustion/PDRFoam/0/CR
Normal file
File diff suppressed because it is too large
Load Diff
8083
tutorials/combustion/PDRFoam/0/CT
Normal file
8083
tutorials/combustion/PDRFoam/0/CT
Normal file
File diff suppressed because it is too large
Load Diff
8083
tutorials/combustion/PDRFoam/0/Lobs
Normal file
8083
tutorials/combustion/PDRFoam/0/Lobs
Normal file
File diff suppressed because it is too large
Load Diff
8083
tutorials/combustion/PDRFoam/0/Nv
Normal file
8083
tutorials/combustion/PDRFoam/0/Nv
Normal file
File diff suppressed because it is too large
Load Diff
53
tutorials/combustion/PDRFoam/0/Su
Normal file
53
tutorials/combustion/PDRFoam/0/Su
Normal 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;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
54
tutorials/combustion/PDRFoam/0/T
Normal file
54
tutorials/combustion/PDRFoam/0/T
Normal 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;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
54
tutorials/combustion/PDRFoam/0/Tu
Normal file
54
tutorials/combustion/PDRFoam/0/Tu
Normal 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;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
64
tutorials/combustion/PDRFoam/0/U
Normal file
64
tutorials/combustion/PDRFoam/0/U
Normal 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;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
54
tutorials/combustion/PDRFoam/0/Xi
Normal file
54
tutorials/combustion/PDRFoam/0/Xi
Normal 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;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
58
tutorials/combustion/PDRFoam/0/alphat
Normal file
58
tutorials/combustion/PDRFoam/0/alphat
Normal 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;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
54
tutorials/combustion/PDRFoam/0/b
Normal file
54
tutorials/combustion/PDRFoam/0/b
Normal 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;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
8083
tutorials/combustion/PDRFoam/0/betav
Normal file
8083
tutorials/combustion/PDRFoam/0/betav
Normal file
File diff suppressed because it is too large
Load Diff
65
tutorials/combustion/PDRFoam/0/epsilon
Normal file
65
tutorials/combustion/PDRFoam/0/epsilon
Normal 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;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
56
tutorials/combustion/PDRFoam/0/epsilon.old
Normal file
56
tutorials/combustion/PDRFoam/0/epsilon.old
Normal 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;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
54
tutorials/combustion/PDRFoam/0/ft
Normal file
54
tutorials/combustion/PDRFoam/0/ft
Normal 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;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
56
tutorials/combustion/PDRFoam/0/k
Normal file
56
tutorials/combustion/PDRFoam/0/k
Normal 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;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
56
tutorials/combustion/PDRFoam/0/k.old
Normal file
56
tutorials/combustion/PDRFoam/0/k.old
Normal 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;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
64
tutorials/combustion/PDRFoam/0/mut
Normal file
64
tutorials/combustion/PDRFoam/0/mut
Normal 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;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
8085
tutorials/combustion/PDRFoam/0/nsv
Normal file
8085
tutorials/combustion/PDRFoam/0/nsv
Normal file
File diff suppressed because it is too large
Load Diff
55
tutorials/combustion/PDRFoam/0/p
Normal file
55
tutorials/combustion/PDRFoam/0/p
Normal 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;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
15
tutorials/combustion/PDRFoam/Allclean
Executable file
15
tutorials/combustion/PDRFoam/Allclean
Executable 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
|
||||
18
tutorials/combustion/PDRFoam/Allrun
Executable file
18
tutorials/combustion/PDRFoam/Allrun
Executable 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
|
||||
|
||||
12
tutorials/combustion/PDRFoam/README
Normal file
12
tutorials/combustion/PDRFoam/README
Normal 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
|
||||
|
||||
101
tutorials/combustion/PDRFoam/constant/PDRProperties
Executable file
101
tutorials/combustion/PDRFoam/constant/PDRProperties
Executable 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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
36
tutorials/combustion/PDRFoam/constant/RASProperties
Executable file
36
tutorials/combustion/PDRFoam/constant/RASProperties
Executable 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;
|
||||
|
||||
// ************************************************************************* //
|
||||
46
tutorials/combustion/PDRFoam/constant/combustionProperties
Normal file
46
tutorials/combustion/PDRFoam/constant/combustionProperties
Normal 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;
|
||||
|
||||
// ************************************************************************* //
|
||||
58
tutorials/combustion/PDRFoam/constant/dynamicMeshDict
Normal file
58
tutorials/combustion/PDRFoam/constant/dynamicMeshDict
Normal 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));
|
||||
}
|
||||
|
||||
// ************************************************************************* //
|
||||
22
tutorials/combustion/PDRFoam/constant/g
Executable file
22
tutorials/combustion/PDRFoam/constant/g
Executable 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 );
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
242
tutorials/combustion/PDRFoam/constant/polyMesh/blockMeshDict
Normal file
242
tutorials/combustion/PDRFoam/constant/polyMesh/blockMeshDict
Normal 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
|
||||
()
|
||||
|
||||
|
||||
);
|
||||
60
tutorials/combustion/PDRFoam/constant/polyMesh/boundary
Normal file
60
tutorials/combustion/PDRFoam/constant/polyMesh/boundary
Normal 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;
|
||||
}
|
||||
)
|
||||
|
||||
// ************************************************************************* //
|
||||
@ -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;
|
||||
}
|
||||
|
||||
// ************************************************************************* //
|
||||
|
||||
|
||||
21
tutorials/combustion/PDRFoam/constant/turbulenceProperties
Executable file
21
tutorials/combustion/PDRFoam/constant/turbulenceProperties
Executable 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;
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
73
tutorials/combustion/PDRFoam/fuels/propane.dat
Normal file
73
tutorials/combustion/PDRFoam/fuels/propane.dat
Normal 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
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
5
tutorials/combustion/PDRFoam/makeBlockedFaceSet.setSet
Normal file
5
tutorials/combustion/PDRFoam/makeBlockedFaceSet.setSet
Normal 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)
|
||||
38
tutorials/combustion/PDRFoam/system/PDRMeshDict
Normal file
38
tutorials/combustion/PDRFoam/system/PDRMeshDict
Normal 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;
|
||||
|
||||
// ************************************************************************* //
|
||||
455
tutorials/combustion/PDRFoam/system/changeDictionaryDict
Normal file
455
tutorials/combustion/PDRFoam/system/changeDictionaryDict
Normal 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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// ************************************************************************* //
|
||||
55
tutorials/combustion/PDRFoam/system/controlDict
Normal file
55
tutorials/combustion/PDRFoam/system/controlDict
Normal 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;
|
||||
|
||||
// ************************************************************************* //
|
||||
|
||||
40
tutorials/combustion/PDRFoam/system/decomposeParDict
Normal file
40
tutorials/combustion/PDRFoam/system/decomposeParDict
Normal 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";
|
||||
}
|
||||
|
||||
// ************************************************************************* //
|
||||
87
tutorials/combustion/PDRFoam/system/fvSchemes
Executable file
87
tutorials/combustion/PDRFoam/system/fvSchemes
Executable 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;
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
54
tutorials/combustion/PDRFoam/system/fvSolution
Executable file
54
tutorials/combustion/PDRFoam/system/fvSolution
Executable 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;
|
||||
}
|
||||
|
||||
|
||||
// ************************************************************************* //
|
||||
Reference in New Issue
Block a user