mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
Merge commit 'origin/master' into olesenm
This commit is contained in:
@ -5,4 +5,3 @@ foamToEnsight.C
|
|||||||
ensightWriteBinary.C
|
ensightWriteBinary.C
|
||||||
|
|
||||||
EXE = $(FOAM_APPBIN)/foamToEnsight
|
EXE = $(FOAM_APPBIN)/foamToEnsight
|
||||||
//EXE = $(FOAM_USER_APPBIN)/foamToEnsight
|
|
||||||
|
|||||||
@ -1,7 +1,9 @@
|
|||||||
EXE_INC = \
|
EXE_INC = \
|
||||||
|
-DFULLDEBUG -g -O0 \
|
||||||
-I$(LIB_SRC)/finiteVolume/lnInclude \
|
-I$(LIB_SRC)/finiteVolume/lnInclude \
|
||||||
-I$(LIB_SRC)/lagrangian/basic/lnInclude
|
-I$(LIB_SRC)/lagrangian/basic/lnInclude
|
||||||
|
|
||||||
EXE_LIBS = \
|
EXE_LIBS = \
|
||||||
-lfiniteVolume \
|
-lfiniteVolume \
|
||||||
-llagrangian
|
-llagrangian \
|
||||||
|
|
||||||
|
|||||||
@ -1,13 +0,0 @@
|
|||||||
forAll(Times, n1)
|
|
||||||
{
|
|
||||||
IOobject fieldObjectHeader
|
|
||||||
(
|
|
||||||
fieldName,
|
|
||||||
Times[n1].name(),
|
|
||||||
"lagrangian",
|
|
||||||
mesh,
|
|
||||||
IOobject::NO_READ
|
|
||||||
);
|
|
||||||
|
|
||||||
variableGood = variableGood && fieldObjectHeader.headerOk();
|
|
||||||
}
|
|
||||||
@ -24,7 +24,7 @@ License
|
|||||||
|
|
||||||
\*---------------------------------------------------------------------------*/
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#include "ensightSprayField.H"
|
#include "ensightCloudField.H"
|
||||||
#include "Time.H"
|
#include "Time.H"
|
||||||
#include "IOField.H"
|
#include "IOField.H"
|
||||||
#include "OFstream.H"
|
#include "OFstream.H"
|
||||||
@ -35,39 +35,48 @@ using namespace Foam;
|
|||||||
// * * * * * * * * * * * * * * * Global Functions * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * Global Functions * * * * * * * * * * * * * //
|
||||||
|
|
||||||
template<class Type>
|
template<class Type>
|
||||||
void ensightSprayField
|
void ensightCloudField
|
||||||
(
|
(
|
||||||
const Foam::IOobject& fieldObject,
|
const Foam::IOobject& fieldObject,
|
||||||
const Foam::fileName& postProcPath,
|
const Foam::fileName& postProcPath,
|
||||||
const Foam::word& prepend,
|
const Foam::word& prepend,
|
||||||
const Foam::label timeIndex,
|
const Foam::label timeIndex,
|
||||||
const Foam::word& sprayName,
|
const Foam::word& cloudName,
|
||||||
Foam::Ostream& ensightCaseFile
|
Foam::Ostream& ensightCaseFile,
|
||||||
|
const bool dataExists
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
Info<< "Converting spray field " << fieldObject.name() << endl;
|
if (dataExists)
|
||||||
|
{
|
||||||
|
Info<< "Converting cloud " << cloudName
|
||||||
|
<< " field " << fieldObject.name() << endl;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Info<< "Creating empty cloud " << cloudName
|
||||||
|
<< " field " << fieldObject.name() << endl;
|
||||||
|
}
|
||||||
|
|
||||||
word timeFile = prepend + itoa(timeIndex);
|
word timeFile = prepend + itoa(timeIndex);
|
||||||
|
|
||||||
const Time& runTime = fieldObject.time();
|
const Time& runTime = fieldObject.time();
|
||||||
|
|
||||||
if (timeIndex == 0)
|
if (timeIndex == 0 && Pstream::master())
|
||||||
{
|
{
|
||||||
ensightCaseFile
|
ensightCaseFile
|
||||||
<< pTraits<Type>::typeName << " per measured node: 1 ";
|
<< pTraits<Type>::typeName << " per measured node: 1 ";
|
||||||
ensightCaseFile.width(15);
|
ensightCaseFile.width(15);
|
||||||
ensightCaseFile.setf(ios_base::left);
|
ensightCaseFile.setf(ios_base::left);
|
||||||
ensightCaseFile
|
ensightCaseFile
|
||||||
<< ("s" + fieldObject.name()).c_str()
|
<< ("c" + fieldObject.name()).c_str()
|
||||||
<< (' ' + prepend + "***." + sprayName
|
<< (' ' + prepend + "***." + cloudName
|
||||||
+ "." + fieldObject.name()).c_str()
|
+ "." + fieldObject.name()).c_str()
|
||||||
<< nl;
|
<< nl;
|
||||||
}
|
}
|
||||||
|
|
||||||
// set the filename of the ensight file
|
|
||||||
fileName ensightFileName
|
fileName ensightFileName
|
||||||
(
|
(
|
||||||
timeFile + "." + sprayName +"." + fieldObject.name()
|
timeFile + "." + cloudName +"." + fieldObject.name()
|
||||||
);
|
);
|
||||||
|
|
||||||
OFstream ensightFile
|
OFstream ensightFile
|
||||||
@ -80,6 +89,8 @@ void ensightSprayField
|
|||||||
|
|
||||||
ensightFile<< pTraits<Type>::typeName << " values" << nl;
|
ensightFile<< pTraits<Type>::typeName << " values" << nl;
|
||||||
|
|
||||||
|
if (dataExists)
|
||||||
|
{
|
||||||
IOField<Type> vf(fieldObject);
|
IOField<Type> vf(fieldObject);
|
||||||
|
|
||||||
ensightFile.setf(ios_base::scientific, ios_base::floatfield);
|
ensightFile.setf(ios_base::scientific, ios_base::floatfield);
|
||||||
@ -110,6 +121,7 @@ void ensightSprayField
|
|||||||
ensightFile << nl;
|
ensightFile << nl;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
// ************************************************************************* //
|
||||||
@ -28,33 +28,34 @@ InApplication
|
|||||||
Description
|
Description
|
||||||
|
|
||||||
SourceFiles
|
SourceFiles
|
||||||
ensightSprayField.C
|
ensightCloudField.C
|
||||||
|
|
||||||
\*---------------------------------------------------------------------------*/
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#ifndef ensightSprayField_H
|
#ifndef ensightCloudField_H
|
||||||
#define ensightSprayField_H
|
#define ensightCloudField_H
|
||||||
|
|
||||||
#include "IOobject.H"
|
#include "IOobject.H"
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
template<class Type>
|
template<class Type>
|
||||||
void ensightSprayField
|
void ensightCloudField
|
||||||
(
|
(
|
||||||
const Foam::IOobject& fieldObject,
|
const Foam::IOobject& fieldObject,
|
||||||
const Foam::fileName& postProcPath,
|
const Foam::fileName& postProcPath,
|
||||||
const Foam::word& prepend,
|
const Foam::word& prepend,
|
||||||
const Foam::label timeIndex,
|
const Foam::label timeIndex,
|
||||||
const Foam::word& timeFile,
|
const Foam::word& timeFile,
|
||||||
const Foam::word& sprayName,
|
const Foam::word& cloudName,
|
||||||
Foam::Ostream& ensightCaseFile
|
Foam::Ostream& ensightCaseFile,
|
||||||
|
const bool dataExists
|
||||||
);
|
);
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
#ifdef NoRepository
|
#ifdef NoRepository
|
||||||
# include "ensightSprayField.C"
|
# include "ensightCloudField.C"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
@ -278,7 +278,7 @@ bool writePatchField
|
|||||||
const Foam::label patchi,
|
const Foam::label patchi,
|
||||||
const Foam::label ensightPatchi,
|
const Foam::label ensightPatchi,
|
||||||
const Foam::faceSets& boundaryFaceSet,
|
const Foam::faceSets& boundaryFaceSet,
|
||||||
const Foam::ensightMesh::nFacePrims& nfp,
|
const Foam::ensightMesh::nFacePrimitives& nfp,
|
||||||
const Foam::labelList& patchProcessors,
|
const Foam::labelList& patchProcessors,
|
||||||
Foam::OFstream& ensightFile
|
Foam::OFstream& ensightFile
|
||||||
)
|
)
|
||||||
@ -338,7 +338,7 @@ bool writePatchFieldBinary
|
|||||||
const Foam::label patchi,
|
const Foam::label patchi,
|
||||||
const Foam::label ensightPatchi,
|
const Foam::label ensightPatchi,
|
||||||
const Foam::faceSets& boundaryFaceSet,
|
const Foam::faceSets& boundaryFaceSet,
|
||||||
const Foam::ensightMesh::nFacePrims& nfp,
|
const Foam::ensightMesh::nFacePrimitives& nfp,
|
||||||
const Foam::labelList& patchProcessors,
|
const Foam::labelList& patchProcessors,
|
||||||
std::ofstream& ensightFile
|
std::ofstream& ensightFile
|
||||||
)
|
)
|
||||||
@ -403,12 +403,13 @@ void writePatchField
|
|||||||
Foam::Ostream& ensightCaseFile
|
Foam::Ostream& ensightCaseFile
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
const Time& runTime = eMesh.mesh.time();
|
const Time& runTime = eMesh.mesh().time();
|
||||||
|
|
||||||
const List<faceSets>& boundaryFaceSets = eMesh.boundaryFaceSets;
|
const List<faceSets>& boundaryFaceSets = eMesh.boundaryFaceSets;
|
||||||
const HashTable<labelList>& allPatchNames = eMesh.allPatchNames;
|
const HashTable<labelList>& allPatchNames = eMesh.allPatchNames;
|
||||||
const HashTable<label>& patchIndices = eMesh.patchIndices;
|
const HashTable<label>& patchIndices = eMesh.patchIndices;
|
||||||
const HashTable<ensightMesh::nFacePrims>& nPatchPrims = eMesh.nPatchPrims;
|
const HashTable<ensightMesh::nFacePrimitives>&
|
||||||
|
nPatchPrims = eMesh.nPatchPrims();
|
||||||
|
|
||||||
label patchi = -1;
|
label patchi = -1;
|
||||||
|
|
||||||
@ -521,15 +522,16 @@ void ensightFieldAscii
|
|||||||
|
|
||||||
word timeFile = prepend + itoa(timeIndex);
|
word timeFile = prepend + itoa(timeIndex);
|
||||||
|
|
||||||
const fvMesh& mesh = eMesh.mesh;
|
const fvMesh& mesh = eMesh.mesh();
|
||||||
const Time& runTime = mesh.time();
|
const Time& runTime = mesh.time();
|
||||||
|
|
||||||
const cellSets& meshCellSets = eMesh.meshCellSets;
|
const cellSets& meshCellSets = eMesh.meshCellSets();
|
||||||
const List<faceSets>& boundaryFaceSets = eMesh.boundaryFaceSets;
|
const List<faceSets>& boundaryFaceSets = eMesh.boundaryFaceSets();
|
||||||
const HashTable<labelList>& allPatchNames = eMesh.allPatchNames;
|
const HashTable<labelList>& allPatchNames = eMesh.allPatchNames();
|
||||||
const HashTable<label>& patchIndices = eMesh.patchIndices;
|
const HashTable<label>& patchIndices = eMesh.patchIndices();
|
||||||
const wordHashSet& patchNames = eMesh.patchNames;
|
const wordHashSet& patchNames = eMesh.patchNames();
|
||||||
const HashTable<ensightMesh::nFacePrims>& nPatchPrims = eMesh.nPatchPrims;
|
const HashTable<ensightMesh::nFacePrimitives>&
|
||||||
|
nPatchPrims = eMesh.nPatchPrims();
|
||||||
|
|
||||||
const labelList& tets = meshCellSets.tets;
|
const labelList& tets = meshCellSets.tets;
|
||||||
const labelList& pyrs = meshCellSets.pyrs;
|
const labelList& pyrs = meshCellSets.pyrs;
|
||||||
@ -701,15 +703,16 @@ void ensightFieldBinary
|
|||||||
|
|
||||||
word timeFile = prepend + itoa(timeIndex);
|
word timeFile = prepend + itoa(timeIndex);
|
||||||
|
|
||||||
const fvMesh& mesh = eMesh.mesh;
|
const fvMesh& mesh = eMesh.mesh();
|
||||||
//const Time& runTime = mesh.time();
|
//const Time& runTime = mesh.time();
|
||||||
|
|
||||||
const cellSets& meshCellSets = eMesh.meshCellSets;
|
const cellSets& meshCellSets = eMesh.meshCellSets();
|
||||||
const List<faceSets>& boundaryFaceSets = eMesh.boundaryFaceSets;
|
const List<faceSets>& boundaryFaceSets = eMesh.boundaryFaceSets();
|
||||||
const HashTable<labelList>& allPatchNames = eMesh.allPatchNames;
|
const HashTable<labelList>& allPatchNames = eMesh.allPatchNames();
|
||||||
const HashTable<label>& patchIndices = eMesh.patchIndices;
|
const HashTable<label>& patchIndices = eMesh.patchIndices();
|
||||||
const wordHashSet& patchNames = eMesh.patchNames;
|
const wordHashSet& patchNames = eMesh.patchNames();
|
||||||
const HashTable<ensightMesh::nFacePrims>& nPatchPrims = eMesh.nPatchPrims;
|
const HashTable<ensightMesh::nFacePrimitives>&
|
||||||
|
nPatchPrims = eMesh.nPatchPrims();
|
||||||
|
|
||||||
const labelList& tets = meshCellSets.tets;
|
const labelList& tets = meshCellSets.tets;
|
||||||
const labelList& pyrs = meshCellSets.pyrs;
|
const labelList& pyrs = meshCellSets.pyrs;
|
||||||
|
|||||||
@ -52,12 +52,7 @@ public:
|
|||||||
const HashTable<labelList>& y
|
const HashTable<labelList>& y
|
||||||
) const
|
) const
|
||||||
{
|
{
|
||||||
for
|
forAllConstIter(HashTable<labelList>, y, iter)
|
||||||
(
|
|
||||||
HashTable<labelList>::const_iterator iter = y.begin();
|
|
||||||
iter != y.end();
|
|
||||||
++iter
|
|
||||||
)
|
|
||||||
{
|
{
|
||||||
HashTable<labelList>::iterator xiter = x.find(iter.key());
|
HashTable<labelList>::iterator xiter = x.find(iter.key());
|
||||||
|
|
||||||
@ -89,38 +84,46 @@ public:
|
|||||||
|
|
||||||
Foam::ensightMesh::ensightMesh
|
Foam::ensightMesh::ensightMesh
|
||||||
(
|
(
|
||||||
const fvMesh& fMesh,
|
const fvMesh& mesh,
|
||||||
const argList& args,
|
const argList& args,
|
||||||
const bool binary
|
const bool binary
|
||||||
)
|
)
|
||||||
:
|
:
|
||||||
binary_(binary),
|
binary_(binary),
|
||||||
mesh(fMesh),
|
mesh_(mesh),
|
||||||
meshCellSets(mesh.nCells()),
|
meshCellSets_(mesh_.nCells()),
|
||||||
boundaryFaceSets(mesh.boundary().size())
|
boundaryFaceSets_(mesh_.boundary().size()),
|
||||||
|
allPatchNames_(0),
|
||||||
|
patchIndices_(0),
|
||||||
|
patchNames_(0),
|
||||||
|
nPatchPrims_(0)
|
||||||
{
|
{
|
||||||
forAll (mesh.boundaryMesh(), patchi)
|
forAll (mesh_.boundaryMesh(), patchi)
|
||||||
{
|
{
|
||||||
if (typeid(mesh.boundaryMesh()[patchi]) != typeid(processorPolyPatch))
|
if
|
||||||
{
|
|
||||||
if (!allPatchNames.found(mesh.boundaryMesh()[patchi].name()))
|
|
||||||
{
|
|
||||||
allPatchNames.insert
|
|
||||||
(
|
(
|
||||||
mesh.boundaryMesh()[patchi].name(),
|
typeid(mesh_.boundaryMesh()[patchi])
|
||||||
|
!= typeid(processorPolyPatch)
|
||||||
|
)
|
||||||
|
{
|
||||||
|
if (!allPatchNames_.found(mesh_.boundaryMesh()[patchi].name()))
|
||||||
|
{
|
||||||
|
allPatchNames_.insert
|
||||||
|
(
|
||||||
|
mesh_.boundaryMesh()[patchi].name(),
|
||||||
labelList(1, Pstream::myProcNo())
|
labelList(1, Pstream::myProcNo())
|
||||||
);
|
);
|
||||||
|
|
||||||
patchIndices.insert
|
patchIndices_.insert
|
||||||
(
|
(
|
||||||
mesh.boundaryMesh()[patchi].name(),
|
mesh_.boundaryMesh()[patchi].name(),
|
||||||
patchi
|
patchi
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
combineReduce(allPatchNames, concatPatchNames());
|
combineReduce(allPatchNames_, concatPatchNames());
|
||||||
|
|
||||||
if (args.options().found("patches"))
|
if (args.options().found("patches"))
|
||||||
{
|
{
|
||||||
@ -128,12 +131,12 @@ Foam::ensightMesh::ensightMesh
|
|||||||
|
|
||||||
if (!patchNameList.size())
|
if (!patchNameList.size())
|
||||||
{
|
{
|
||||||
patchNameList = allPatchNames.toc();
|
patchNameList = allPatchNames_.toc();
|
||||||
}
|
}
|
||||||
|
|
||||||
forAll (patchNameList, i)
|
forAll (patchNameList, i)
|
||||||
{
|
{
|
||||||
patchNames.insert(patchNameList[i]);
|
patchNames_.insert(patchNameList[i]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -145,12 +148,12 @@ Foam::ensightMesh::ensightMesh
|
|||||||
const cellModel& wedge = *(cellModeller::lookup("wedge"));
|
const cellModel& wedge = *(cellModeller::lookup("wedge"));
|
||||||
const cellModel& hex = *(cellModeller::lookup("hex"));
|
const cellModel& hex = *(cellModeller::lookup("hex"));
|
||||||
|
|
||||||
labelList& tets = meshCellSets.tets;
|
labelList& tets = meshCellSets_.tets;
|
||||||
labelList& pyrs = meshCellSets.pyrs;
|
labelList& pyrs = meshCellSets_.pyrs;
|
||||||
labelList& prisms = meshCellSets.prisms;
|
labelList& prisms = meshCellSets_.prisms;
|
||||||
labelList& wedges = meshCellSets.wedges;
|
labelList& wedges = meshCellSets_.wedges;
|
||||||
labelList& hexes = meshCellSets.hexes;
|
labelList& hexes = meshCellSets_.hexes;
|
||||||
labelList& polys = meshCellSets.polys;
|
labelList& polys = meshCellSets_.polys;
|
||||||
|
|
||||||
// Count the shapes
|
// Count the shapes
|
||||||
label nTets = 0;
|
label nTets = 0;
|
||||||
@ -160,7 +163,7 @@ Foam::ensightMesh::ensightMesh
|
|||||||
label nHexes = 0;
|
label nHexes = 0;
|
||||||
label nPolys = 0;
|
label nPolys = 0;
|
||||||
|
|
||||||
if (!patchNames.size())
|
if (!patchNames_.size())
|
||||||
{
|
{
|
||||||
forAll(cellShapes, celli)
|
forAll(cellShapes, celli)
|
||||||
{
|
{
|
||||||
@ -200,20 +203,20 @@ Foam::ensightMesh::ensightMesh
|
|||||||
hexes.setSize(nHexes);
|
hexes.setSize(nHexes);
|
||||||
polys.setSize(nPolys);
|
polys.setSize(nPolys);
|
||||||
|
|
||||||
meshCellSets.nTets = nTets;
|
meshCellSets_.nTets = nTets;
|
||||||
reduce(meshCellSets.nTets, sumOp<label>());
|
reduce(meshCellSets_.nTets, sumOp<label>());
|
||||||
|
|
||||||
meshCellSets.nPyrs = nPyrs;
|
meshCellSets_.nPyrs = nPyrs;
|
||||||
reduce(meshCellSets.nPyrs, sumOp<label>());
|
reduce(meshCellSets_.nPyrs, sumOp<label>());
|
||||||
|
|
||||||
meshCellSets.nPrisms = nPrisms;
|
meshCellSets_.nPrisms = nPrisms;
|
||||||
reduce(meshCellSets.nPrisms, sumOp<label>());
|
reduce(meshCellSets_.nPrisms, sumOp<label>());
|
||||||
|
|
||||||
meshCellSets.nHexesWedges = nHexes + nWedges;
|
meshCellSets_.nHexesWedges = nHexes + nWedges;
|
||||||
reduce(meshCellSets.nHexesWedges, sumOp<label>());
|
reduce(meshCellSets_.nHexesWedges, sumOp<label>());
|
||||||
|
|
||||||
meshCellSets.nPolys = nPolys;
|
meshCellSets_.nPolys = nPolys;
|
||||||
reduce(meshCellSets.nPolys, sumOp<label>());
|
reduce(meshCellSets_.nPolys, sumOp<label>());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -223,9 +226,9 @@ Foam::ensightMesh::ensightMesh
|
|||||||
{
|
{
|
||||||
const polyPatch& p = mesh.boundaryMesh()[patchi];
|
const polyPatch& p = mesh.boundaryMesh()[patchi];
|
||||||
|
|
||||||
labelList& tris = boundaryFaceSets[patchi].tris;
|
labelList& tris = boundaryFaceSets_[patchi].tris;
|
||||||
labelList& quads = boundaryFaceSets[patchi].quads;
|
labelList& quads = boundaryFaceSets_[patchi].quads;
|
||||||
labelList& polys = boundaryFaceSets[patchi].polys;
|
labelList& polys = boundaryFaceSets_[patchi].polys;
|
||||||
|
|
||||||
tris.setSize(p.size());
|
tris.setSize(p.size());
|
||||||
quads.setSize(p.size());
|
quads.setSize(p.size());
|
||||||
@ -259,26 +262,21 @@ Foam::ensightMesh::ensightMesh
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for
|
forAllConstIter(HashTable<labelList>, allPatchNames_, iter)
|
||||||
(
|
|
||||||
HashTable<labelList>::const_iterator iter = allPatchNames.begin();
|
|
||||||
iter != allPatchNames.end();
|
|
||||||
++iter
|
|
||||||
)
|
|
||||||
{
|
{
|
||||||
const word& patchName = iter.key();
|
const word& patchName = iter.key();
|
||||||
nFacePrims nfp;
|
nFacePrimitives nfp;
|
||||||
|
|
||||||
if (!patchNames.size() || patchNames.found(patchName))
|
if (!patchNames_.size() || patchNames_.found(patchName))
|
||||||
{
|
{
|
||||||
if (patchIndices.found(patchName))
|
if (patchIndices_.found(patchName))
|
||||||
{
|
{
|
||||||
label patchi = patchIndices.find(patchName)();
|
label patchi = patchIndices_.find(patchName)();
|
||||||
|
|
||||||
nfp.nPoints = mesh.boundaryMesh()[patchi].localPoints().size();
|
nfp.nPoints = mesh.boundaryMesh()[patchi].localPoints().size();
|
||||||
nfp.nTris = boundaryFaceSets[patchi].tris.size();
|
nfp.nTris = boundaryFaceSets_[patchi].tris.size();
|
||||||
nfp.nQuads = boundaryFaceSets[patchi].quads.size();
|
nfp.nQuads = boundaryFaceSets_[patchi].quads.size();
|
||||||
nfp.nPolys = boundaryFaceSets[patchi].polys.size();
|
nfp.nPolys = boundaryFaceSets_[patchi].polys.size();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -287,7 +285,7 @@ Foam::ensightMesh::ensightMesh
|
|||||||
reduce(nfp.nQuads, sumOp<label>());
|
reduce(nfp.nQuads, sumOp<label>());
|
||||||
reduce(nfp.nPolys, sumOp<label>());
|
reduce(nfp.nPolys, sumOp<label>());
|
||||||
|
|
||||||
nPatchPrims.insert(patchName, nfp);
|
nPatchPrims_.insert(patchName, nfp);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -866,11 +864,11 @@ void Foam::ensightMesh::writeAscii
|
|||||||
Ostream& ensightCaseFile
|
Ostream& ensightCaseFile
|
||||||
) const
|
) const
|
||||||
{
|
{
|
||||||
const Time& runTime = mesh.time();
|
const Time& runTime = mesh_.time();
|
||||||
const pointField& points = mesh.points();
|
const pointField& points = mesh_.points();
|
||||||
const cellList& cellFaces = mesh.cells();
|
const cellList& cellFaces = mesh_.cells();
|
||||||
const faceList& faces = mesh.faces();
|
const faceList& faces = mesh_.faces();
|
||||||
const cellShapeList& cellShapes = mesh.cellShapes();
|
const cellShapeList& cellShapes = mesh_.cellShapes();
|
||||||
|
|
||||||
word timeFile = prepend;
|
word timeFile = prepend;
|
||||||
|
|
||||||
@ -878,7 +876,7 @@ void Foam::ensightMesh::writeAscii
|
|||||||
{
|
{
|
||||||
timeFile += "000.";
|
timeFile += "000.";
|
||||||
}
|
}
|
||||||
else if (mesh.moving())
|
else if (mesh_.moving())
|
||||||
{
|
{
|
||||||
timeFile += itoa(timeIndex) + '.';
|
timeFile += itoa(timeIndex) + '.';
|
||||||
}
|
}
|
||||||
@ -919,7 +917,7 @@ void Foam::ensightMesh::writeAscii
|
|||||||
|
|
||||||
labelList pointOffsets(Pstream::nProcs(), 0);
|
labelList pointOffsets(Pstream::nProcs(), 0);
|
||||||
|
|
||||||
if (!patchNames.size())
|
if (!patchNames_.size())
|
||||||
{
|
{
|
||||||
label nPoints = points.size();
|
label nPoints = points.size();
|
||||||
Pstream::gather(nPoints, sumOp<label>());
|
Pstream::gather(nPoints, sumOp<label>());
|
||||||
@ -962,8 +960,8 @@ void Foam::ensightMesh::writeAscii
|
|||||||
writeAllPrims
|
writeAllPrims
|
||||||
(
|
(
|
||||||
"hexa8",
|
"hexa8",
|
||||||
meshCellSets.nHexesWedges,
|
meshCellSets_.nHexesWedges,
|
||||||
map(cellShapes, meshCellSets.hexes, meshCellSets.wedges),
|
map(cellShapes, meshCellSets_.hexes, meshCellSets_.wedges),
|
||||||
pointOffsets,
|
pointOffsets,
|
||||||
ensightGeometryFile
|
ensightGeometryFile
|
||||||
);
|
);
|
||||||
@ -971,8 +969,8 @@ void Foam::ensightMesh::writeAscii
|
|||||||
writeAllPrims
|
writeAllPrims
|
||||||
(
|
(
|
||||||
"penta6",
|
"penta6",
|
||||||
meshCellSets.nPrisms,
|
meshCellSets_.nPrisms,
|
||||||
map(cellShapes, meshCellSets.prisms),
|
map(cellShapes, meshCellSets_.prisms),
|
||||||
pointOffsets,
|
pointOffsets,
|
||||||
ensightGeometryFile
|
ensightGeometryFile
|
||||||
);
|
);
|
||||||
@ -980,8 +978,8 @@ void Foam::ensightMesh::writeAscii
|
|||||||
writeAllPrims
|
writeAllPrims
|
||||||
(
|
(
|
||||||
"pyramid5",
|
"pyramid5",
|
||||||
meshCellSets.nPyrs,
|
meshCellSets_.nPyrs,
|
||||||
map(cellShapes, meshCellSets.pyrs),
|
map(cellShapes, meshCellSets_.pyrs),
|
||||||
pointOffsets,
|
pointOffsets,
|
||||||
ensightGeometryFile
|
ensightGeometryFile
|
||||||
);
|
);
|
||||||
@ -989,25 +987,25 @@ void Foam::ensightMesh::writeAscii
|
|||||||
writeAllPrims
|
writeAllPrims
|
||||||
(
|
(
|
||||||
"tetra4",
|
"tetra4",
|
||||||
meshCellSets.nTets,
|
meshCellSets_.nTets,
|
||||||
map(cellShapes, meshCellSets.tets),
|
map(cellShapes, meshCellSets_.tets),
|
||||||
pointOffsets,
|
pointOffsets,
|
||||||
ensightGeometryFile
|
ensightGeometryFile
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
if (meshCellSets.nPolys)
|
if (meshCellSets_.nPolys)
|
||||||
{
|
{
|
||||||
if (Pstream::master())
|
if (Pstream::master())
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
ensightGeometryFile
|
ensightGeometryFile
|
||||||
<< "nfaced" << nl
|
<< "nfaced" << nl
|
||||||
<< setw(10) << meshCellSets.nPolys << nl;
|
<< setw(10) << meshCellSets_.nPolys << nl;
|
||||||
*/
|
*/
|
||||||
writePolys
|
writePolys
|
||||||
(
|
(
|
||||||
meshCellSets.polys,
|
meshCellSets_.polys,
|
||||||
cellFaces,
|
cellFaces,
|
||||||
faces,
|
faces,
|
||||||
0,
|
0,
|
||||||
@ -1034,7 +1032,7 @@ void Foam::ensightMesh::writeAscii
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
OPstream toMaster(Pstream::scheduled, Pstream::masterNo());
|
OPstream toMaster(Pstream::scheduled, Pstream::masterNo());
|
||||||
toMaster<< meshCellSets.polys << cellFaces << faces;
|
toMaster<< meshCellSets_.polys << cellFaces << faces;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1042,19 +1040,14 @@ void Foam::ensightMesh::writeAscii
|
|||||||
|
|
||||||
label ensightPatchi = 2;
|
label ensightPatchi = 2;
|
||||||
|
|
||||||
for
|
forAllConstIter(HashTable<labelList>, allPatchNames_, iter)
|
||||||
(
|
|
||||||
HashTable<labelList>::const_iterator iter = allPatchNames.begin();
|
|
||||||
iter != allPatchNames.end();
|
|
||||||
++iter
|
|
||||||
)
|
|
||||||
{
|
{
|
||||||
const labelList& patchProcessors = iter();
|
const labelList& patchProcessors = iter();
|
||||||
|
|
||||||
if (!patchNames.size() || patchNames.found(iter.key()))
|
if (!patchNames_.size() || patchNames_.found(iter.key()))
|
||||||
{
|
{
|
||||||
const word& patchName = iter.key();
|
const word& patchName = iter.key();
|
||||||
const nFacePrims& nfp = nPatchPrims.find(patchName)();
|
const nFacePrimitives& nfp = nPatchPrims_.find(patchName)();
|
||||||
|
|
||||||
const labelList *trisPtr = NULL;
|
const labelList *trisPtr = NULL;
|
||||||
const labelList *quadsPtr = NULL;
|
const labelList *quadsPtr = NULL;
|
||||||
@ -1063,14 +1056,14 @@ void Foam::ensightMesh::writeAscii
|
|||||||
const pointField *patchPointsPtr = NULL;
|
const pointField *patchPointsPtr = NULL;
|
||||||
const faceList *patchFacesPtr = NULL;
|
const faceList *patchFacesPtr = NULL;
|
||||||
|
|
||||||
if (patchIndices.found(iter.key()))
|
if (patchIndices_.found(iter.key()))
|
||||||
{
|
{
|
||||||
label patchi = patchIndices.find(iter.key())();
|
label patchi = patchIndices_.find(iter.key())();
|
||||||
const polyPatch& p = mesh.boundaryMesh()[patchi];
|
const polyPatch& p = mesh_.boundaryMesh()[patchi];
|
||||||
|
|
||||||
trisPtr = &boundaryFaceSets[patchi].tris;
|
trisPtr = &boundaryFaceSets_[patchi].tris;
|
||||||
quadsPtr = &boundaryFaceSets[patchi].quads;
|
quadsPtr = &boundaryFaceSets_[patchi].quads;
|
||||||
polysPtr = &boundaryFaceSets[patchi].polys;
|
polysPtr = &boundaryFaceSets_[patchi].polys;
|
||||||
|
|
||||||
patchPointsPtr = &(p.localPoints());
|
patchPointsPtr = &(p.localPoints());
|
||||||
patchFacesPtr = &(p.localFaces());
|
patchFacesPtr = &(p.localFaces());
|
||||||
@ -1207,10 +1200,10 @@ void Foam::ensightMesh::writeBinary
|
|||||||
) const
|
) const
|
||||||
{
|
{
|
||||||
//const Time& runTime = mesh.time();
|
//const Time& runTime = mesh.time();
|
||||||
const pointField& points = mesh.points();
|
const pointField& points = mesh_.points();
|
||||||
const cellList& cellFaces = mesh.cells();
|
const cellList& cellFaces = mesh_.cells();
|
||||||
const faceList& faces = mesh.faces();
|
const faceList& faces = mesh_.faces();
|
||||||
const cellShapeList& cellShapes = mesh.cellShapes();
|
const cellShapeList& cellShapes = mesh_.cellShapes();
|
||||||
|
|
||||||
word timeFile = prepend;
|
word timeFile = prepend;
|
||||||
|
|
||||||
@ -1218,7 +1211,7 @@ void Foam::ensightMesh::writeBinary
|
|||||||
{
|
{
|
||||||
timeFile += "000.";
|
timeFile += "000.";
|
||||||
}
|
}
|
||||||
else if (mesh.moving())
|
else if (mesh_.moving())
|
||||||
{
|
{
|
||||||
timeFile += itoa(timeIndex) + '.';
|
timeFile += itoa(timeIndex) + '.';
|
||||||
}
|
}
|
||||||
@ -1230,7 +1223,11 @@ void Foam::ensightMesh::writeBinary
|
|||||||
|
|
||||||
if (Pstream::master())
|
if (Pstream::master())
|
||||||
{
|
{
|
||||||
ensightGeometryFilePtr = new std::ofstream((postProcPath/ensightGeometryFileName).c_str(), ios_base::out | ios_base::binary | ios_base::trunc);
|
ensightGeometryFilePtr = new std::ofstream
|
||||||
|
(
|
||||||
|
(postProcPath/ensightGeometryFileName).c_str(),
|
||||||
|
ios_base::out | ios_base::binary | ios_base::trunc
|
||||||
|
);
|
||||||
// Check on file opened?
|
// Check on file opened?
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1247,7 +1244,7 @@ void Foam::ensightMesh::writeBinary
|
|||||||
|
|
||||||
labelList pointOffsets(Pstream::nProcs(), 0);
|
labelList pointOffsets(Pstream::nProcs(), 0);
|
||||||
|
|
||||||
if (!patchNames.size())
|
if (!patchNames_.size())
|
||||||
{
|
{
|
||||||
label nPoints = points.size();
|
label nPoints = points.size();
|
||||||
Pstream::gather(nPoints, sumOp<label>());
|
Pstream::gather(nPoints, sumOp<label>());
|
||||||
@ -1290,8 +1287,8 @@ void Foam::ensightMesh::writeBinary
|
|||||||
writeAllPrimsBinary
|
writeAllPrimsBinary
|
||||||
(
|
(
|
||||||
"hexa8",
|
"hexa8",
|
||||||
meshCellSets.nHexesWedges,
|
meshCellSets_.nHexesWedges,
|
||||||
map(cellShapes, meshCellSets.hexes, meshCellSets.wedges),
|
map(cellShapes, meshCellSets_.hexes, meshCellSets_.wedges),
|
||||||
pointOffsets,
|
pointOffsets,
|
||||||
ensightGeometryFile
|
ensightGeometryFile
|
||||||
);
|
);
|
||||||
@ -1299,8 +1296,8 @@ void Foam::ensightMesh::writeBinary
|
|||||||
writeAllPrimsBinary
|
writeAllPrimsBinary
|
||||||
(
|
(
|
||||||
"penta6",
|
"penta6",
|
||||||
meshCellSets.nPrisms,
|
meshCellSets_.nPrisms,
|
||||||
map(cellShapes, meshCellSets.prisms),
|
map(cellShapes, meshCellSets_.prisms),
|
||||||
pointOffsets,
|
pointOffsets,
|
||||||
ensightGeometryFile
|
ensightGeometryFile
|
||||||
);
|
);
|
||||||
@ -1308,8 +1305,8 @@ void Foam::ensightMesh::writeBinary
|
|||||||
writeAllPrimsBinary
|
writeAllPrimsBinary
|
||||||
(
|
(
|
||||||
"pyramid5",
|
"pyramid5",
|
||||||
meshCellSets.nPyrs,
|
meshCellSets_.nPyrs,
|
||||||
map(cellShapes, meshCellSets.pyrs),
|
map(cellShapes, meshCellSets_.pyrs),
|
||||||
pointOffsets,
|
pointOffsets,
|
||||||
ensightGeometryFile
|
ensightGeometryFile
|
||||||
);
|
);
|
||||||
@ -1317,24 +1314,24 @@ void Foam::ensightMesh::writeBinary
|
|||||||
writeAllPrimsBinary
|
writeAllPrimsBinary
|
||||||
(
|
(
|
||||||
"tetra4",
|
"tetra4",
|
||||||
meshCellSets.nTets,
|
meshCellSets_.nTets,
|
||||||
map(cellShapes, meshCellSets.tets),
|
map(cellShapes, meshCellSets_.tets),
|
||||||
pointOffsets,
|
pointOffsets,
|
||||||
ensightGeometryFile
|
ensightGeometryFile
|
||||||
);
|
);
|
||||||
|
|
||||||
if (meshCellSets.nPolys)
|
if (meshCellSets_.nPolys)
|
||||||
{
|
{
|
||||||
if (Pstream::master())
|
if (Pstream::master())
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
ensightGeometryFile
|
ensightGeometryFile
|
||||||
<< "nfaced" << nl
|
<< "nfaced" << nl
|
||||||
<< setw(10) << meshCellSets.nPolys << nl;
|
<< setw(10) << meshCellSets_.nPolys << nl;
|
||||||
*/
|
*/
|
||||||
writePolysBinary
|
writePolysBinary
|
||||||
(
|
(
|
||||||
meshCellSets.polys,
|
meshCellSets_.polys,
|
||||||
cellFaces,
|
cellFaces,
|
||||||
faces,
|
faces,
|
||||||
0,
|
0,
|
||||||
@ -1361,7 +1358,7 @@ void Foam::ensightMesh::writeBinary
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
OPstream toMaster(Pstream::scheduled, Pstream::masterNo());
|
OPstream toMaster(Pstream::scheduled, Pstream::masterNo());
|
||||||
toMaster<< meshCellSets.polys << cellFaces << faces;
|
toMaster<< meshCellSets_.polys << cellFaces << faces;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1371,20 +1368,15 @@ void Foam::ensightMesh::writeBinary
|
|||||||
|
|
||||||
label iCount = 0;
|
label iCount = 0;
|
||||||
|
|
||||||
for
|
forAllConstIter(HashTable<labelList>, allPatchNames_, iter)
|
||||||
(
|
|
||||||
HashTable<labelList>::const_iterator iter = allPatchNames.begin();
|
|
||||||
iter != allPatchNames.end();
|
|
||||||
++iter
|
|
||||||
)
|
|
||||||
{
|
{
|
||||||
iCount ++;
|
iCount ++;
|
||||||
const labelList& patchProcessors = iter();
|
const labelList& patchProcessors = iter();
|
||||||
|
|
||||||
if (!patchNames.size() || patchNames.found(iter.key()))
|
if (!patchNames_.size() || patchNames_.found(iter.key()))
|
||||||
{
|
{
|
||||||
const word& patchName = iter.key();
|
const word& patchName = iter.key();
|
||||||
const nFacePrims& nfp = nPatchPrims.find(patchName)();
|
const nFacePrimitives& nfp = nPatchPrims_.find(patchName)();
|
||||||
|
|
||||||
const labelList *trisPtr = NULL;
|
const labelList *trisPtr = NULL;
|
||||||
const labelList *quadsPtr = NULL;
|
const labelList *quadsPtr = NULL;
|
||||||
@ -1393,14 +1385,14 @@ void Foam::ensightMesh::writeBinary
|
|||||||
const pointField *patchPointsPtr = NULL;
|
const pointField *patchPointsPtr = NULL;
|
||||||
const faceList *patchFacesPtr = NULL;
|
const faceList *patchFacesPtr = NULL;
|
||||||
|
|
||||||
if (patchIndices.found(iter.key()))
|
if (patchIndices_.found(iter.key()))
|
||||||
{
|
{
|
||||||
label patchi = patchIndices.find(iter.key())();
|
label patchi = patchIndices_.find(iter.key())();
|
||||||
const polyPatch& p = mesh.boundaryMesh()[patchi];
|
const polyPatch& p = mesh_.boundaryMesh()[patchi];
|
||||||
|
|
||||||
trisPtr = &boundaryFaceSets[patchi].tris;
|
trisPtr = &boundaryFaceSets_[patchi].tris;
|
||||||
quadsPtr = &boundaryFaceSets[patchi].quads;
|
quadsPtr = &boundaryFaceSets_[patchi].quads;
|
||||||
polysPtr = &boundaryFaceSets[patchi].polys;
|
polysPtr = &boundaryFaceSets_[patchi].polys;
|
||||||
|
|
||||||
patchPointsPtr = &(p.localPoints());
|
patchPointsPtr = &(p.localPoints());
|
||||||
patchFacesPtr = &(p.localFaces());
|
patchFacesPtr = &(p.localFaces());
|
||||||
|
|||||||
@ -57,11 +57,48 @@ class argList;
|
|||||||
|
|
||||||
class ensightMesh
|
class ensightMesh
|
||||||
{
|
{
|
||||||
|
class nFacePrimitives
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
|
||||||
|
label nPoints;
|
||||||
|
label nTris;
|
||||||
|
label nQuads;
|
||||||
|
label nPolys;
|
||||||
|
|
||||||
|
nFacePrimitives()
|
||||||
|
:
|
||||||
|
nPoints(0),
|
||||||
|
nTris(0),
|
||||||
|
nQuads(0),
|
||||||
|
nPolys(0)
|
||||||
|
{}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
// Private data
|
// Private data
|
||||||
|
|
||||||
//- Set binary file output
|
//- Set binary file output
|
||||||
bool binary_;
|
bool binary_;
|
||||||
|
|
||||||
|
//- Reference to the OpenFOAM mesh
|
||||||
|
const fvMesh& mesh_;
|
||||||
|
|
||||||
|
cellSets meshCellSets_;
|
||||||
|
|
||||||
|
List<faceSets> boundaryFaceSets_;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
HashTable<labelList> allPatchNames_;
|
||||||
|
|
||||||
|
HashTable<label> patchIndices_;
|
||||||
|
|
||||||
|
wordHashSet patchNames_;
|
||||||
|
|
||||||
|
HashTable<nFacePrimitives> nPatchPrims_;
|
||||||
|
|
||||||
|
|
||||||
// Private Member Functions
|
// Private Member Functions
|
||||||
|
|
||||||
@ -203,37 +240,6 @@ class ensightMesh
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
// Public data
|
|
||||||
|
|
||||||
const fvMesh& mesh;
|
|
||||||
cellSets meshCellSets;
|
|
||||||
List<faceSets> boundaryFaceSets;
|
|
||||||
|
|
||||||
HashTable<labelList> allPatchNames;
|
|
||||||
HashTable<label> patchIndices;
|
|
||||||
wordHashSet patchNames;
|
|
||||||
|
|
||||||
class nFacePrims
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
|
|
||||||
label nPoints;
|
|
||||||
label nTris;
|
|
||||||
label nQuads;
|
|
||||||
label nPolys;
|
|
||||||
|
|
||||||
nFacePrims()
|
|
||||||
:
|
|
||||||
nPoints(0),
|
|
||||||
nTris(0),
|
|
||||||
nQuads(0),
|
|
||||||
nPolys(0)
|
|
||||||
{}
|
|
||||||
};
|
|
||||||
|
|
||||||
HashTable<nFacePrims> nPatchPrims;
|
|
||||||
|
|
||||||
|
|
||||||
// Constructors
|
// Constructors
|
||||||
|
|
||||||
//- Construct from fvMesh
|
//- Construct from fvMesh
|
||||||
@ -247,6 +253,46 @@ public:
|
|||||||
|
|
||||||
// Member Functions
|
// Member Functions
|
||||||
|
|
||||||
|
// Access
|
||||||
|
|
||||||
|
const fvMesh& mesh() const
|
||||||
|
{
|
||||||
|
return mesh_;
|
||||||
|
}
|
||||||
|
|
||||||
|
const cellSets& meshCellSets() const
|
||||||
|
{
|
||||||
|
return meshCellSets_;
|
||||||
|
}
|
||||||
|
|
||||||
|
const List<faceSets>& boundaryFaceSets() const
|
||||||
|
{
|
||||||
|
return boundaryFaceSets_;
|
||||||
|
}
|
||||||
|
|
||||||
|
const HashTable<labelList>& allPatchNames() const
|
||||||
|
{
|
||||||
|
return allPatchNames_;
|
||||||
|
}
|
||||||
|
|
||||||
|
const HashTable<label>& patchIndices() const
|
||||||
|
{
|
||||||
|
return patchIndices_;
|
||||||
|
}
|
||||||
|
|
||||||
|
const wordHashSet& patchNames() const
|
||||||
|
{
|
||||||
|
return patchNames_;
|
||||||
|
}
|
||||||
|
|
||||||
|
const HashTable<nFacePrimitives>& nPatchPrims() const
|
||||||
|
{
|
||||||
|
return nPatchPrims_;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// I-O
|
||||||
|
|
||||||
void write
|
void write
|
||||||
(
|
(
|
||||||
const fileName& postProcPath,
|
const fileName& postProcPath,
|
||||||
|
|||||||
@ -41,14 +41,22 @@ void ensightParticlePositions
|
|||||||
const Foam::fvMesh& mesh,
|
const Foam::fvMesh& mesh,
|
||||||
const Foam::fileName& postProcPath,
|
const Foam::fileName& postProcPath,
|
||||||
const Foam::word& timeFile,
|
const Foam::word& timeFile,
|
||||||
const Foam::word& sprayName
|
const Foam::word& cloudName,
|
||||||
|
const bool dataExists
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
|
if (dataExists)
|
||||||
|
{
|
||||||
|
Info<< "Converting cloud " << cloudName << " positions" << endl;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Info<< "Creating empty cloud " << cloudName << " positions" << endl;
|
||||||
|
}
|
||||||
|
|
||||||
const Time& runTime = mesh.time();
|
const Time& runTime = mesh.time();
|
||||||
|
|
||||||
Cloud<passiveParticle> parcels(mesh);
|
fileName ensightFileName(timeFile + "." + cloudName);
|
||||||
|
|
||||||
fileName ensightFileName(timeFile + "."+ sprayName);
|
|
||||||
OFstream ensightFile
|
OFstream ensightFile
|
||||||
(
|
(
|
||||||
postProcPath/ensightFileName,
|
postProcPath/ensightFileName,
|
||||||
@ -59,9 +67,13 @@ void ensightParticlePositions
|
|||||||
|
|
||||||
// Output header
|
// Output header
|
||||||
ensightFile
|
ensightFile
|
||||||
<< "lagrangian " << nl
|
<< cloudName.c_str() << nl
|
||||||
<< "particle coordinates" << nl;
|
<< "particle coordinates" << nl;
|
||||||
|
|
||||||
|
if (dataExists)
|
||||||
|
{
|
||||||
|
Cloud<passiveParticle> parcels(mesh, cloudName, false);
|
||||||
|
|
||||||
// Set Format
|
// Set Format
|
||||||
ensightFile.setf(ios_base::scientific, ios_base::floatfield);
|
ensightFile.setf(ios_base::scientific, ios_base::floatfield);
|
||||||
ensightFile.precision(5);
|
ensightFile.precision(5);
|
||||||
@ -70,13 +82,8 @@ void ensightParticlePositions
|
|||||||
|
|
||||||
label nParcels = 0;
|
label nParcels = 0;
|
||||||
|
|
||||||
// Output position
|
// Output positions
|
||||||
for
|
forAllConstIter(Cloud<passiveParticle>, parcels, elmnt)
|
||||||
(
|
|
||||||
Cloud<passiveParticle>::iterator elmnt = parcels.begin();
|
|
||||||
elmnt != parcels.end();
|
|
||||||
++elmnt
|
|
||||||
)
|
|
||||||
{
|
{
|
||||||
const vector& p = elmnt().position();
|
const vector& p = elmnt().position();
|
||||||
|
|
||||||
@ -86,6 +93,12 @@ void ensightParticlePositions
|
|||||||
<< nl;
|
<< nl;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
label nParcels = 0;
|
||||||
|
ensightFile<< setw(8) << nParcels << nl;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
// ************************************************************************* //
|
||||||
|
|||||||
@ -44,7 +44,8 @@ void ensightParticlePositions
|
|||||||
const Foam::fvMesh& mesh,
|
const Foam::fvMesh& mesh,
|
||||||
const Foam::fileName& postProcPath,
|
const Foam::fileName& postProcPath,
|
||||||
const Foam::word& timeFile,
|
const Foam::word& timeFile,
|
||||||
const Foam::word& sprayName
|
const Foam::word& CloudName,
|
||||||
|
const bool dataExists
|
||||||
);
|
);
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|||||||
@ -24,22 +24,26 @@ License
|
|||||||
|
|
||||||
Description
|
Description
|
||||||
Translates FOAM data to EnSight format
|
Translates FOAM data to EnSight format
|
||||||
|
Parallel support for cloud data is not supported
|
||||||
|
|
||||||
\*---------------------------------------------------------------------------*/
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
#include "argList.H"
|
#include "argList.H"
|
||||||
#include "volFields.H"
|
|
||||||
#include "tensorIOField.H"
|
|
||||||
#include "IOobjectList.H"
|
#include "IOobjectList.H"
|
||||||
#include "OFstream.H"
|
|
||||||
#include "IOmanip.H"
|
#include "IOmanip.H"
|
||||||
|
#include "OFstream.H"
|
||||||
|
|
||||||
|
#include "volFields.H"
|
||||||
|
|
||||||
|
#include "labelIOField.H"
|
||||||
#include "scalarIOField.H"
|
#include "scalarIOField.H"
|
||||||
|
#include "tensorIOField.H"
|
||||||
|
|
||||||
#include "ensightMesh.H"
|
#include "ensightMesh.H"
|
||||||
#include "ensightField.H"
|
#include "ensightField.H"
|
||||||
|
|
||||||
#include "ensightParticlePositions.H"
|
#include "ensightParticlePositions.H"
|
||||||
#include "ensightSprayField.H"
|
#include "ensightCloudField.H"
|
||||||
|
|
||||||
#include "fvc.H"
|
#include "fvc.H"
|
||||||
|
|
||||||
@ -47,6 +51,24 @@ using namespace Foam;
|
|||||||
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
bool inFileNameList
|
||||||
|
(
|
||||||
|
const fileNameList& nameList,
|
||||||
|
const word& name
|
||||||
|
)
|
||||||
|
{
|
||||||
|
forAll(nameList, i)
|
||||||
|
{
|
||||||
|
if (nameList[i] == name)
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// Main program:
|
// Main program:
|
||||||
|
|
||||||
int main(int argc, char *argv[])
|
int main(int argc, char *argv[])
|
||||||
@ -55,21 +77,15 @@ int main(int argc, char *argv[])
|
|||||||
argList::validOptions.insert("binary", "" );
|
argList::validOptions.insert("binary", "" );
|
||||||
# include "addTimeOptions.H"
|
# include "addTimeOptions.H"
|
||||||
|
|
||||||
const label nTypes = 2;
|
|
||||||
const word fieldTypes[] =
|
|
||||||
{
|
|
||||||
volScalarField::typeName,
|
|
||||||
volVectorField::typeName
|
|
||||||
};
|
|
||||||
|
|
||||||
const label nSprayFieldTypes = 2;
|
|
||||||
const word sprayFieldTypes[] =
|
|
||||||
{
|
|
||||||
scalarIOField::typeName,
|
|
||||||
vectorIOField::typeName
|
|
||||||
};
|
|
||||||
|
|
||||||
# include "setRootCase.H"
|
# include "setRootCase.H"
|
||||||
|
|
||||||
|
// Check options
|
||||||
|
bool binary = false;
|
||||||
|
if (args.options().found("binary"))
|
||||||
|
{
|
||||||
|
binary = true;
|
||||||
|
}
|
||||||
|
|
||||||
# include "createTime.H"
|
# include "createTime.H"
|
||||||
|
|
||||||
// get the available time-steps
|
// get the available time-steps
|
||||||
@ -79,12 +95,29 @@ int main(int argc, char *argv[])
|
|||||||
|
|
||||||
runTime.setTime(Times[startTime], startTime);
|
runTime.setTime(Times[startTime], startTime);
|
||||||
|
|
||||||
# include "createMesh.H"
|
# include "createNamedMesh.H"
|
||||||
|
|
||||||
|
// Mesh instance (region0 gets filtered out)
|
||||||
|
fileName regionPrefix = "";
|
||||||
|
|
||||||
|
if (regionName != polyMesh::defaultRegion)
|
||||||
|
{
|
||||||
|
regionPrefix = regionName;
|
||||||
|
}
|
||||||
|
|
||||||
|
const label nTypes = 2;
|
||||||
|
const word fieldTypes[] =
|
||||||
|
{
|
||||||
|
volScalarField::typeName,
|
||||||
|
volVectorField::typeName
|
||||||
|
};
|
||||||
|
|
||||||
|
// Create the output folder
|
||||||
const word postProcDir = "EnSight";
|
const word postProcDir = "EnSight";
|
||||||
const word prepend = args.globalCaseName() + '.';
|
|
||||||
const word sprayName = "lagrangian";
|
|
||||||
|
|
||||||
|
// Path to EnSight folder at case level only
|
||||||
|
// - For parallel cases, data only written from master
|
||||||
|
// fileName postProcPath = runTime.path()/postProcDir;
|
||||||
fileName postProcPath = args.rootPath()/args.globalCaseName()/postProcDir;
|
fileName postProcPath = args.rootPath()/args.globalCaseName()/postProcDir;
|
||||||
|
|
||||||
if (Pstream::master())
|
if (Pstream::master())
|
||||||
@ -97,18 +130,14 @@ int main(int argc, char *argv[])
|
|||||||
mkDir(postProcPath);
|
mkDir(postProcPath);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Start of case file header output
|
||||||
|
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
const word prepend = args.globalCaseName() + '.';
|
||||||
|
|
||||||
OFstream *ensightCaseFilePtr = NULL;
|
OFstream *ensightCaseFilePtr = NULL;
|
||||||
|
|
||||||
// Check options
|
|
||||||
bool binary = false;
|
|
||||||
if (args.options().found("binary"))
|
|
||||||
{
|
|
||||||
binary = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (Pstream::master())
|
if (Pstream::master())
|
||||||
{
|
{
|
||||||
// Open the Case file
|
|
||||||
fileName ensightCaseFileName = prepend + "case";
|
fileName ensightCaseFileName = prepend + "case";
|
||||||
|
|
||||||
if (!binary)
|
if (!binary)
|
||||||
@ -137,49 +166,117 @@ int main(int argc, char *argv[])
|
|||||||
|
|
||||||
OFstream& ensightCaseFile = *ensightCaseFilePtr;
|
OFstream& ensightCaseFile = *ensightCaseFilePtr;
|
||||||
|
|
||||||
|
# include "ensightCaseHeader.H"
|
||||||
|
|
||||||
// Construct the EnSight mesh
|
// Construct the EnSight mesh
|
||||||
ensightMesh eMesh(mesh, args, binary);
|
ensightMesh eMesh(mesh, args, binary);
|
||||||
|
|
||||||
// Set Time to the last time before looking for the spray objects
|
// Set Time to the last time before looking for the lagrangian objects
|
||||||
runTime.setTime(Times[Times.size()-1], Times.size()-1);
|
runTime.setTime(Times[Times.size()-1], Times.size()-1);
|
||||||
|
|
||||||
IOobjectList objects(mesh, runTime.timeName());
|
IOobjectList objects(mesh, runTime.timeName());
|
||||||
IOobjectList sprayObjects(mesh, runTime.timeName(), "lagrangian");
|
|
||||||
|
|
||||||
bool lagrangianExist = false;
|
|
||||||
|
|
||||||
if (!eMesh.patchNames.size())
|
|
||||||
{
|
|
||||||
IOobject lagrangianHeader
|
|
||||||
(
|
|
||||||
"positions",
|
|
||||||
runTime.timeName(),
|
|
||||||
"lagrangian",
|
|
||||||
mesh,
|
|
||||||
IOobject::NO_READ
|
|
||||||
);
|
|
||||||
|
|
||||||
if (lagrangianHeader.headerOk())
|
|
||||||
{
|
|
||||||
lagrangianExist = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
# include "ensightCaseHeader.H"
|
|
||||||
|
|
||||||
# include "checkMeshMoving.H"
|
# include "checkMeshMoving.H"
|
||||||
|
|
||||||
|
wordHashSet allCloudNames;
|
||||||
word geomCaseFileName = prepend + "000";
|
word geomCaseFileName = prepend + "000";
|
||||||
if (Pstream::master())
|
if (Pstream::master())
|
||||||
{
|
{
|
||||||
// test pre check variable if there is a moving mesh
|
// test pre check variable if there is a moving mesh
|
||||||
if (meshMoving == true) geomCaseFileName = prepend + "***";
|
if (meshMoving == true)
|
||||||
|
{
|
||||||
|
geomCaseFileName = prepend + "***";
|
||||||
|
}
|
||||||
|
|
||||||
ensightCaseFile
|
ensightCaseFile
|
||||||
<< "GEOMETRY" << nl
|
<< "GEOMETRY" << nl
|
||||||
<< "model: 1 "
|
<< "model: 1 "
|
||||||
<< (geomCaseFileName + ".mesh").c_str() << nl;
|
<< (geomCaseFileName + ".mesh").c_str() << nl;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Identify if lagrangian data exists at each time, and add clouds
|
||||||
|
// to the 'allCloudNames' hash set
|
||||||
|
for (label n=startTime; n<endTime; n++)
|
||||||
|
{
|
||||||
|
runTime.setTime(Times[n], n);
|
||||||
|
|
||||||
|
fileNameList cloudDirs = readDir
|
||||||
|
(
|
||||||
|
runTime.timePath()/regionPrefix/"lagrangian",
|
||||||
|
fileName::DIRECTORY
|
||||||
|
);
|
||||||
|
|
||||||
|
forAll(cloudDirs, cloudI)
|
||||||
|
{
|
||||||
|
IOobjectList cloudObjs
|
||||||
|
(
|
||||||
|
mesh,
|
||||||
|
runTime.timeName(),
|
||||||
|
"lagrangian"/cloudDirs[cloudI]
|
||||||
|
);
|
||||||
|
|
||||||
|
IOobject* positionsPtr = cloudObjs.lookup("positions");
|
||||||
|
|
||||||
|
if (positionsPtr)
|
||||||
|
{
|
||||||
|
allCloudNames.insert(cloudDirs[cloudI]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
HashTable<HashTable<word> > allCloudFields;
|
||||||
|
forAllConstIter(wordHashSet, allCloudNames, cloudIter)
|
||||||
|
{
|
||||||
|
// Add the name of the cloud(s) to the case file header
|
||||||
|
if (Pstream::master())
|
||||||
|
{
|
||||||
|
ensightCaseFile
|
||||||
|
<< (
|
||||||
|
"measured: 1 "
|
||||||
|
+ prepend
|
||||||
|
+ "***."
|
||||||
|
+ cloudIter.key()
|
||||||
|
).c_str()
|
||||||
|
<< nl;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Create a new hash table for each cloud
|
||||||
|
allCloudFields.insert(cloudIter.key(), HashTable<word>());
|
||||||
|
|
||||||
|
// Identify the new cloud in the hash table
|
||||||
|
HashTable<HashTable<word> >::iterator newCloudIter =
|
||||||
|
allCloudFields.find(cloudIter.key());
|
||||||
|
|
||||||
|
// Loop over all times to build list of fields and field types
|
||||||
|
// for each cloud
|
||||||
|
for (label n=startTime; n<endTime; n++)
|
||||||
|
{
|
||||||
|
runTime.setTime(Times[n], n);
|
||||||
|
|
||||||
|
IOobjectList cloudObjs
|
||||||
|
(
|
||||||
|
mesh,
|
||||||
|
runTime.timeName(),
|
||||||
|
"lagrangian"/cloudIter.key()
|
||||||
|
);
|
||||||
|
|
||||||
|
forAllConstIter(IOobjectList, cloudObjs, fieldIter)
|
||||||
|
{
|
||||||
|
const IOobject obj = *fieldIter();
|
||||||
|
|
||||||
|
if (obj.name() != "positions")
|
||||||
|
{
|
||||||
|
// Add field and field type
|
||||||
|
newCloudIter().insert
|
||||||
|
(
|
||||||
|
obj.name(),
|
||||||
|
obj.headerClassName()
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
label nTimeSteps = 0;
|
label nTimeSteps = 0;
|
||||||
for (label n=startTime; n<endTime; n++)
|
for (label n=startTime; n<endTime; n++)
|
||||||
{
|
{
|
||||||
@ -205,22 +302,19 @@ int main(int argc, char *argv[])
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Pstream::master() && timeIndex == 0)
|
|
||||||
|
// Start of field data output
|
||||||
|
// ~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
if (timeIndex == 0 && Pstream::master())
|
||||||
{
|
{
|
||||||
if (lagrangianExist)
|
|
||||||
{
|
|
||||||
ensightCaseFile
|
|
||||||
<< (
|
|
||||||
"measured: 1 "
|
|
||||||
+ prepend
|
|
||||||
+ "***."
|
|
||||||
+ sprayName
|
|
||||||
).c_str()
|
|
||||||
<< nl;
|
|
||||||
}
|
|
||||||
ensightCaseFile<< nl << "VARIABLE" << nl;
|
ensightCaseFile<< nl << "VARIABLE" << nl;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Cell field data output
|
||||||
|
// ~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
for (label i=0; i<nTypes; i++)
|
for (label i=0; i<nTypes; i++)
|
||||||
{
|
{
|
||||||
wordList fieldNames = objects.names(fieldTypes[i]);
|
wordList fieldNames = objects.names(fieldTypes[i]);
|
||||||
@ -313,70 +407,75 @@ int main(int argc, char *argv[])
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (lagrangianExist)
|
|
||||||
|
// Cloud field data output
|
||||||
|
// ~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
forAllConstIter(HashTable<HashTable<word> >, allCloudFields, cloudIter)
|
||||||
{
|
{
|
||||||
|
const word& cloudName = cloudIter.key();
|
||||||
|
|
||||||
|
fileNameList currentCloudDirs = readDir
|
||||||
|
(
|
||||||
|
runTime.timePath()/regionPrefix/"lagrangian",
|
||||||
|
fileName::DIRECTORY
|
||||||
|
);
|
||||||
|
|
||||||
|
bool cloudExists = inFileNameList(currentCloudDirs, cloudName);
|
||||||
ensightParticlePositions
|
ensightParticlePositions
|
||||||
(
|
(
|
||||||
mesh,
|
mesh,
|
||||||
postProcPath,
|
postProcPath,
|
||||||
timeFile,
|
timeFile,
|
||||||
sprayName
|
cloudName,
|
||||||
|
cloudExists
|
||||||
);
|
);
|
||||||
|
|
||||||
for (label i=0; i<nSprayFieldTypes; i++)
|
forAllConstIter(HashTable<word>, cloudIter(), fieldIter)
|
||||||
{
|
{
|
||||||
wordList fieldNames = sprayObjects.names(sprayFieldTypes[i]);
|
const word& fieldName = fieldIter.key();
|
||||||
|
const word& fieldType = fieldIter();
|
||||||
for (label j=0; j<fieldNames.size(); j++)
|
|
||||||
{
|
|
||||||
word fieldName = fieldNames[j];
|
|
||||||
|
|
||||||
IOobject fieldObject
|
IOobject fieldObject
|
||||||
(
|
(
|
||||||
fieldName,
|
fieldName,
|
||||||
mesh.time().timeName(),
|
mesh.time().timeName(),
|
||||||
"lagrangian",
|
"lagrangian"/cloudName,
|
||||||
mesh,
|
mesh,
|
||||||
IOobject::MUST_READ,
|
IOobject::MUST_READ
|
||||||
IOobject::NO_WRITE
|
|
||||||
);
|
);
|
||||||
|
|
||||||
if (sprayFieldTypes[i] == scalarIOField::typeName)
|
bool fieldExists = fieldObject.headerOk();
|
||||||
|
if (fieldType == scalarIOField::typeName)
|
||||||
{
|
{
|
||||||
ensightSprayField<scalar>
|
ensightCloudField<scalar>
|
||||||
(
|
(
|
||||||
fieldObject,
|
fieldObject,
|
||||||
postProcPath,
|
postProcPath,
|
||||||
prepend,
|
prepend,
|
||||||
timeIndex,
|
timeIndex,
|
||||||
sprayName,
|
cloudName,
|
||||||
ensightCaseFile
|
ensightCaseFile,
|
||||||
|
fieldExists
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
else if (sprayFieldTypes[i] == vectorIOField::typeName)
|
else if (fieldType == vectorIOField::typeName)
|
||||||
{
|
{
|
||||||
ensightSprayField<vector>
|
ensightCloudField<vector>
|
||||||
(
|
(
|
||||||
fieldObject,
|
fieldObject,
|
||||||
postProcPath,
|
postProcPath,
|
||||||
prepend,
|
prepend,
|
||||||
timeIndex,
|
timeIndex,
|
||||||
sprayName,
|
cloudName,
|
||||||
ensightCaseFile
|
ensightCaseFile,
|
||||||
|
fieldExists
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
else if (sprayFieldTypes[i] == tensorIOField::typeName)
|
else
|
||||||
{
|
{
|
||||||
ensightSprayField<tensor>
|
Info<< "Unable to convert field type " << fieldType
|
||||||
(
|
<< " for field " << fieldName << endl;
|
||||||
fieldObject,
|
|
||||||
postProcPath,
|
|
||||||
prepend,
|
|
||||||
timeIndex,
|
|
||||||
sprayName,
|
|
||||||
ensightCaseFile
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -233,7 +233,7 @@
|
|||||||
</StringVectorProperty>
|
</StringVectorProperty>
|
||||||
|
|
||||||
<!-- Available times array -->
|
<!-- Available times array -->
|
||||||
<StringVectorProperty
|
<!-- <StringVectorProperty
|
||||||
name="TimeArrayInfo"
|
name="TimeArrayInfo"
|
||||||
information_only="1">
|
information_only="1">
|
||||||
<ArraySelectionInformationHelper
|
<ArraySelectionInformationHelper
|
||||||
@ -255,6 +255,7 @@
|
|||||||
</RequiredProperties>
|
</RequiredProperties>
|
||||||
</ArraySelectionDomain>
|
</ArraySelectionDomain>
|
||||||
</StringVectorProperty>
|
</StringVectorProperty>
|
||||||
|
-->
|
||||||
|
|
||||||
</SourceProxy>
|
</SourceProxy>
|
||||||
</ProxyGroup>
|
</ProxyGroup>
|
||||||
|
|||||||
@ -194,14 +194,6 @@ void Foam::vtkPV3Foam::initializeTime()
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// preserve the currently selected values
|
|
||||||
const stringList selectedEntries = getSelectedArrayEntries
|
|
||||||
(
|
|
||||||
arraySelection
|
|
||||||
);
|
|
||||||
// Clear current time lists
|
|
||||||
arraySelection->RemoveAllArrays();
|
|
||||||
|
|
||||||
// "constant" is implicit - skip it
|
// "constant" is implicit - skip it
|
||||||
// All the time selections are enabled by default
|
// All the time selections are enabled by default
|
||||||
for (label timeI = 1; timeI < times.size(); ++timeI)
|
for (label timeI = 1; timeI < times.size(); ++timeI)
|
||||||
@ -211,29 +203,6 @@ void Foam::vtkPV3Foam::initializeTime()
|
|||||||
times[timeI].name().c_str()
|
times[timeI].name().c_str()
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: select latestTime from the current selections
|
|
||||||
// restore selections
|
|
||||||
if (selectedEntries.size())
|
|
||||||
{
|
|
||||||
// Update time selection according to the data just read in
|
|
||||||
setSelectedArrayEntries
|
|
||||||
(
|
|
||||||
arraySelection,
|
|
||||||
selectedEntries
|
|
||||||
);
|
|
||||||
|
|
||||||
Info << "last selected: " << selectedEntries[selectedEntries.size()-1] << endl;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
if (debug)
|
|
||||||
{
|
|
||||||
Info<< "Selecting time " << times[timeIndex].name() << endl;
|
|
||||||
}
|
|
||||||
|
|
||||||
runTime.setTime(times[timeIndex], timeIndex);
|
|
||||||
*/
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
68
bin/foamCleanTutorials
Executable file
68
bin/foamCleanTutorials
Executable file
@ -0,0 +1,68 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
#------------------------------------------------------------------------------
|
||||||
|
# ========= |
|
||||||
|
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
|
# \\ / O peration |
|
||||||
|
# \\ / A nd | Copyright (C) 1991-2007 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 2 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, write to the Free Software Foundation,
|
||||||
|
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||||
|
#
|
||||||
|
# Script
|
||||||
|
# foamCleanTutorials
|
||||||
|
#
|
||||||
|
# Description
|
||||||
|
# Run either Allclean or default cleanCase in current directory
|
||||||
|
# and all its subdirectories.
|
||||||
|
#
|
||||||
|
#------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
# Source tutorial clean functions
|
||||||
|
. $WM_PROJECT_DIR/bin/tools/CleanFunctions
|
||||||
|
|
||||||
|
thisScript=$0
|
||||||
|
if [ "/${thisScript#/}" != "$thisScript" ]
|
||||||
|
then
|
||||||
|
thisScript="$PWD/$thisScript"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# If an argument is supplied do not execute ./Allclean to avoid recursion
|
||||||
|
if [ $# = 0 -a -f "./Allclean" ]
|
||||||
|
then
|
||||||
|
# Specialised script.
|
||||||
|
./Allclean
|
||||||
|
elif [ -d "./system" ]
|
||||||
|
then
|
||||||
|
# Normal case.
|
||||||
|
cleanCase
|
||||||
|
elif [ -d "./Make" ]
|
||||||
|
then
|
||||||
|
# Normal application.
|
||||||
|
cleanApplication
|
||||||
|
else
|
||||||
|
# Recurse to subdirectories
|
||||||
|
for case in *
|
||||||
|
do
|
||||||
|
if [ -d $case ]
|
||||||
|
then
|
||||||
|
(cd $case && $thisScript)
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
#------------------------------------------------------------------------------
|
||||||
75
bin/foamRunTutorials
Executable file
75
bin/foamRunTutorials
Executable file
@ -0,0 +1,75 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
#------------------------------------------------------------------------------
|
||||||
|
# ========= |
|
||||||
|
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
|
# \\ / O peration |
|
||||||
|
# \\ / A nd | Copyright (C) 1991-2007 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 2 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, write to the Free Software Foundation,
|
||||||
|
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||||
|
#
|
||||||
|
# Script
|
||||||
|
# foamRunTutorials
|
||||||
|
#
|
||||||
|
# Description
|
||||||
|
# Run either Allrun or blockMesh/application in current directory
|
||||||
|
# and all its subdirectories.
|
||||||
|
#
|
||||||
|
#------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
# Source tutorial functions
|
||||||
|
. $WM_PROJECT_DIR/bin/tools/RunFunctions
|
||||||
|
|
||||||
|
thisScript=$0
|
||||||
|
if [ "/${thisScript#/}" != "$thisScript" ]
|
||||||
|
then
|
||||||
|
thisScript="$PWD/$thisScript"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# If an argument is supplied do not execute ./Allrun to avoid recursion
|
||||||
|
if [ $# = 0 -a -f "./Allrun" ]
|
||||||
|
then
|
||||||
|
# Specialised script.
|
||||||
|
./Allrun
|
||||||
|
elif [ -d "./system" ]
|
||||||
|
then
|
||||||
|
# Normal case.
|
||||||
|
parentDir=`dirname $PWD`
|
||||||
|
application=`basename $parentDir`
|
||||||
|
runApplication blockMesh
|
||||||
|
runApplication $application
|
||||||
|
else
|
||||||
|
# Loop over sub-directories and compile any applications
|
||||||
|
for case in *
|
||||||
|
do
|
||||||
|
if [ -d $case -a -d "$case/Make" ]
|
||||||
|
then
|
||||||
|
(compileApplication $case)
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
# Recurse to subdirectories
|
||||||
|
for case in *
|
||||||
|
do
|
||||||
|
if [ -d $case ]
|
||||||
|
then
|
||||||
|
(cd $case && $thisScript)
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
#------------------------------------------------------------------------------
|
||||||
@ -30,4 +30,4 @@
|
|||||||
#
|
#
|
||||||
#------------------------------------------------------------------------------
|
#------------------------------------------------------------------------------
|
||||||
|
|
||||||
#------------------------------------------------------------------------------
|
# ----------------------------------------------------------------- end-of-file
|
||||||
|
|||||||
107
bin/tools/CleanFunctions
Normal file
107
bin/tools/CleanFunctions
Normal file
@ -0,0 +1,107 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
#------------------------------------------------------------------------------
|
||||||
|
# ========= |
|
||||||
|
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
|
# \\ / O peration |
|
||||||
|
# \\ / A nd | Copyright (C) 1991-2007 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 2 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, write to the Free Software Foundation,
|
||||||
|
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||||
|
#
|
||||||
|
# Script
|
||||||
|
# CleanFunctions
|
||||||
|
#
|
||||||
|
# Description
|
||||||
|
#
|
||||||
|
#------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
#cleanTimeDirectories ()
|
||||||
|
#{
|
||||||
|
# echo "Cleaning $case case of $application application"
|
||||||
|
# TIME_DIRS=`foamInfoExec . $1 -times | sed '1,/constant/d'`
|
||||||
|
# for T in $TIME_DIRS
|
||||||
|
# do
|
||||||
|
# if [ $T != "0" ] ; then
|
||||||
|
# echo "Deleting directory $T"
|
||||||
|
# rm -rf ${T} > /dev/null 2>&1
|
||||||
|
# fi
|
||||||
|
# done
|
||||||
|
# rm -rf {log,log.*,log-*,logSummary.*,.fxLock,*.xml,ParaView*,paraFoam*,*.foam} > /dev/null 2>&1
|
||||||
|
#}
|
||||||
|
|
||||||
|
cleanTimeDirectories ()
|
||||||
|
{
|
||||||
|
echo "Cleaning $PWD case"
|
||||||
|
nZeros=0
|
||||||
|
zeros=""
|
||||||
|
while [ $nZeros -lt 8 ] ; do
|
||||||
|
timeDir="0.${zeros}[1-9]*"
|
||||||
|
rm -rf ${timeDir} > /dev/null 2>&1
|
||||||
|
rm -rf ./-${timeDir} > /dev/null 2>&1
|
||||||
|
zeros=`printf %0${nZeros}d 0`
|
||||||
|
nZeros=$(($nZeros + 1))
|
||||||
|
done
|
||||||
|
rm -rf ./{[1-9]*,-[1-9]*,log,log.*,log-*,logSummary.*,.fxLock,*.xml,ParaView*,paraFoam*,*.foam} > /dev/null 2>&1
|
||||||
|
}
|
||||||
|
|
||||||
|
cleanCase ()
|
||||||
|
{
|
||||||
|
cleanTimeDirectories
|
||||||
|
|
||||||
|
rm -rf constant/polyMesh/{allOwner*,cell*,face*,meshModifiers*} \
|
||||||
|
constant/polyMesh/{owner*,neighbour*,point*,edge*} \
|
||||||
|
> /dev/null 2>&1
|
||||||
|
|
||||||
|
for f in `find . -name "*Dict"`
|
||||||
|
do
|
||||||
|
sed -e /arguments/d $f > temp.$$
|
||||||
|
mv temp.$$ $f
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
cleanParallelCase ()
|
||||||
|
{
|
||||||
|
cleanCase
|
||||||
|
|
||||||
|
rm -rf processor* > /dev/null 2>&1
|
||||||
|
}
|
||||||
|
|
||||||
|
removeCase ()
|
||||||
|
{
|
||||||
|
echo "Removing $case case"
|
||||||
|
rm -rf $1
|
||||||
|
}
|
||||||
|
|
||||||
|
cleanSamples ()
|
||||||
|
{
|
||||||
|
rm -rf {samples,sampleSurfaces} > /dev/null 2>&1
|
||||||
|
}
|
||||||
|
|
||||||
|
cleanUcomponents ()
|
||||||
|
{
|
||||||
|
rm -rf 0/{Ux,Uy,Uz} > /dev/null 2>&1
|
||||||
|
}
|
||||||
|
|
||||||
|
cleanApplication ()
|
||||||
|
{
|
||||||
|
echo "Cleaning $PWD application"
|
||||||
|
wclean
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#------------------------------------------------------------------------------
|
||||||
88
bin/tools/RunFunctions
Normal file
88
bin/tools/RunFunctions
Normal file
@ -0,0 +1,88 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
#------------------------------------------------------------------------------
|
||||||
|
# ========= |
|
||||||
|
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
|
# \\ / O peration |
|
||||||
|
# \\ / A nd | Copyright (C) 1991-2007 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 2 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, write to the Free Software Foundation,
|
||||||
|
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||||
|
#
|
||||||
|
# Script
|
||||||
|
# RunFunctions
|
||||||
|
#
|
||||||
|
# Description
|
||||||
|
#
|
||||||
|
#------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
runApplication ()
|
||||||
|
{
|
||||||
|
APP_RUN=$1; shift
|
||||||
|
|
||||||
|
if [ -f log.$APP_RUN ] ; then
|
||||||
|
echo "$APP_RUN already run on $PWD: remove log file to run"
|
||||||
|
else
|
||||||
|
echo "Running $APP_RUN on $PWD"
|
||||||
|
$APP_RUN $* > log.$APP_RUN 2>&1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
runParallel ()
|
||||||
|
{
|
||||||
|
APP_RUN=$1; shift
|
||||||
|
|
||||||
|
if [ -f $log.$APP_RUN ] ; then
|
||||||
|
echo "$APP_RUN already run on $PWD: remove log file to run"
|
||||||
|
else
|
||||||
|
if [ "$WM_MPLIB" = LAM ]
|
||||||
|
then
|
||||||
|
echo "Starting LAM using $2 machines file"
|
||||||
|
lamboot -v $2
|
||||||
|
fi
|
||||||
|
echo "Running $APP_RUN in parallel on $PWD using $1 processes"
|
||||||
|
( mpirun -np $1 $APP_RUN -parallel < /dev/null > log.$APP_RUN 2>&1 )
|
||||||
|
if [ "$WM_MPLIB" = LAM ]
|
||||||
|
then
|
||||||
|
echo "Stopping LAM"
|
||||||
|
lamclean
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
compileApplication ()
|
||||||
|
{
|
||||||
|
echo "Compiling $1 application"
|
||||||
|
wmake $1
|
||||||
|
}
|
||||||
|
|
||||||
|
cloneCase ()
|
||||||
|
{
|
||||||
|
if [ -d $2 ] ; then
|
||||||
|
echo "Case already cloned: remove case directory $2 to clone"
|
||||||
|
else
|
||||||
|
echo "Cloning $2 case from $1"
|
||||||
|
mkdir $2
|
||||||
|
cpfiles="0 system constant"
|
||||||
|
for f in $cpfiles
|
||||||
|
do
|
||||||
|
cp -r $1/$f $2
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
#------------------------------------------------------------------------------
|
||||||
44
tutorials/Allclean
Executable file
44
tutorials/Allclean
Executable file
@ -0,0 +1,44 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
#------------------------------------------------------------------------------
|
||||||
|
# ========= |
|
||||||
|
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
|
# \\ / O peration |
|
||||||
|
# \\ / A nd | Copyright (C) 1991-2007 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 2 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, write to the Free Software Foundation,
|
||||||
|
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||||
|
#
|
||||||
|
# Script
|
||||||
|
# Allclean
|
||||||
|
#
|
||||||
|
# Description
|
||||||
|
#
|
||||||
|
#------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
echo "Cleaning backup files"
|
||||||
|
find . -type f \( -name "*~" -o -name "*.bak" \) -exec rm {} \;
|
||||||
|
find . \( -name 'core' -o -name 'core.[1-9]*' \) -exec rm {} \;
|
||||||
|
find . \( -name '*.pvs' -o -name '*.foam' \) -exec rm {} \;
|
||||||
|
rm logs > /dev/null 2>&1
|
||||||
|
rm testLoopReport > /dev/null 2>&1
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
foamCleanTutorials cases
|
||||||
|
|
||||||
|
# ----------------------------------------------------------------- end-of-file
|
||||||
92
tutorials/Allrun
Executable file
92
tutorials/Allrun
Executable file
@ -0,0 +1,92 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
#------------------------------------------------------------------------------
|
||||||
|
# ========= |
|
||||||
|
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
|
# \\ / O peration |
|
||||||
|
# \\ / A nd | Copyright (C) 1991-2007 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 2 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, write to the Free Software Foundation,
|
||||||
|
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||||
|
#
|
||||||
|
# Script
|
||||||
|
# Allrun
|
||||||
|
#
|
||||||
|
# Description
|
||||||
|
#
|
||||||
|
#------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
# Source tutorial run functions
|
||||||
|
. $WM_PROJECT_DIR/bin/tools/RunFunctions
|
||||||
|
|
||||||
|
# logReport <logfile>
|
||||||
|
# Extracts useful info from log file.
|
||||||
|
logReport () {
|
||||||
|
case=`dirname $1 | sed s/"\(.*\)\.\/"/""/g`
|
||||||
|
app=`echo $1 | sed s/"\(.*\)\."/""/g`
|
||||||
|
appAndCase="Application $app - case $case"
|
||||||
|
|
||||||
|
fatalError=`grep "FOAM FATAL" $1`
|
||||||
|
UxSS=`grep -E "Ux[:| ]*solution singularity" $1`
|
||||||
|
UySS=`grep -E "Uy[:| ]*solution singularity" $1`
|
||||||
|
UzSS=`grep -E "Uz[:| ]*solution singularity" $1`
|
||||||
|
completed=`grep -E "^[\t ]*[eE]nd" $1`
|
||||||
|
|
||||||
|
if [ "$fatalError" ] ; then
|
||||||
|
echo "$appAndCase: ** FOAM FATAL ERROR **"
|
||||||
|
return
|
||||||
|
elif [ "$UxSS" -a "$UySS" -a "$UzSS" ] ; then
|
||||||
|
echo "$appAndCase: ** Solution singularity **"
|
||||||
|
return
|
||||||
|
elif [ "$completed" ] ; then
|
||||||
|
completionTime=`tail -10 $log | grep Execution | cut -d= -f2 | sed 's/^[ \t]*//'`
|
||||||
|
if [ "$completionTime" ] ; then
|
||||||
|
completionTime="in $completionTime"
|
||||||
|
fi
|
||||||
|
echo "$appAndCase: completed $completionTime"
|
||||||
|
return
|
||||||
|
else
|
||||||
|
echo "$appAndCase: unconfirmed completion"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
# Recursively run all tutorials
|
||||||
|
foamRunTutorials cases
|
||||||
|
|
||||||
|
|
||||||
|
# Analyse all log files
|
||||||
|
rm testLoopReport > /dev/null 2>&1 &
|
||||||
|
touch testLoopReport
|
||||||
|
for application in *
|
||||||
|
do
|
||||||
|
if [ -d $application ]
|
||||||
|
then
|
||||||
|
cd $application
|
||||||
|
for log in `find . -name "log.*" | xargs ls -rt`
|
||||||
|
do
|
||||||
|
logReport $log >> ../testLoopReport
|
||||||
|
done
|
||||||
|
echo "" >> ../testLoopReport
|
||||||
|
cd ..
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
find . -name "log.*" -exec cat {} \; >> logs
|
||||||
|
|
||||||
|
|
||||||
|
# ----------------------------------------------------------------- end-of-file
|
||||||
215
tutorials/Alltest
Executable file
215
tutorials/Alltest
Executable file
@ -0,0 +1,215 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
#------------------------------------------------------------------------------
|
||||||
|
# ========= |
|
||||||
|
# \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
|
# \\ / O peration |
|
||||||
|
# \\ / A nd | Copyright (C) 1991-2007 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 2 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, write to the Free Software Foundation,
|
||||||
|
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||||
|
#
|
||||||
|
# Script
|
||||||
|
# Alltest
|
||||||
|
#
|
||||||
|
# Description
|
||||||
|
#
|
||||||
|
#------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
# FUNCTIONS
|
||||||
|
#
|
||||||
|
printUsage () {
|
||||||
|
cat <<EOF
|
||||||
|
Usage: $0
|
||||||
|
Quickly tests the tutorials and writes out the scheme/solver information
|
||||||
|
|
||||||
|
Options are:
|
||||||
|
-d sets up a default scheme on all schemes
|
||||||
|
-h help
|
||||||
|
EOF
|
||||||
|
}
|
||||||
|
|
||||||
|
setDefaultFvSchemes () {
|
||||||
|
cat<<EOF
|
||||||
|
gradSchemes { default Gauss linear; }
|
||||||
|
divSchemes
|
||||||
|
{
|
||||||
|
default Gauss linear;
|
||||||
|
div(phi,fu_ft_h) Gauss multivariateSelection
|
||||||
|
{
|
||||||
|
fu upwind;
|
||||||
|
ft upwind;
|
||||||
|
h upwind;
|
||||||
|
};
|
||||||
|
div(phi,ft_b_h_hu) Gauss multivariateSelection
|
||||||
|
{
|
||||||
|
fu upwind;
|
||||||
|
ft upwind;
|
||||||
|
b upwind;
|
||||||
|
h upwind;
|
||||||
|
hu upwind;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
laplacianSchemes { default Gauss linear corrected; }
|
||||||
|
interpolationSchemes { default linear; }
|
||||||
|
snGradSchemes { default corrected; }
|
||||||
|
fluxRequired { default yes; }
|
||||||
|
EOF
|
||||||
|
}
|
||||||
|
#
|
||||||
|
# VARIABLE
|
||||||
|
#
|
||||||
|
MAIN_CONTROL_DICT=
|
||||||
|
|
||||||
|
for i in \
|
||||||
|
$HOME/.$WM_PROJECT-$WM_PROJECT_VERSION \
|
||||||
|
$HOME/.$WM_PROJECT/$WM_PROJECT_VERSION \
|
||||||
|
$HOME/.$WM_PROJECT \
|
||||||
|
$WM_PROJECT_DIR/etc \
|
||||||
|
;
|
||||||
|
do
|
||||||
|
if [ -f "$i/controlDict" ]; then
|
||||||
|
MAIN_CONTROL_DICT="$i/controlDict"
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
TUTORIALS_DIR=.
|
||||||
|
TEST_RUN_DIR=../tutorialsTest
|
||||||
|
FV_SCHEMES=\
|
||||||
|
" \
|
||||||
|
gradScheme \
|
||||||
|
divScheme \
|
||||||
|
laplacianScheme \
|
||||||
|
interpolationScheme \
|
||||||
|
snGradScheme \
|
||||||
|
fluxRequired \
|
||||||
|
"
|
||||||
|
SCHEMES_FILE="FvSchemes"
|
||||||
|
SCHEMES_TEMP="FvSchemes.temp"
|
||||||
|
SOLVERS_FILE="FvSolution"
|
||||||
|
SOLVERS_TEMP="FvSolution.temp"
|
||||||
|
DEFAULT_SCHEMES=0
|
||||||
|
|
||||||
|
#
|
||||||
|
# OPTIONS
|
||||||
|
#
|
||||||
|
OPTS=`getopt hd $*`
|
||||||
|
if [ $? -ne 0 ] ; then
|
||||||
|
echo "Aborting due to invalid option"
|
||||||
|
printUsage
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
eval set -- "$OPTS"
|
||||||
|
while [ $1 != -- ]; do
|
||||||
|
case $1 in
|
||||||
|
-d) DEFAULT_SCHEMES=1;;
|
||||||
|
-h) printUsage; exit 1;;
|
||||||
|
esac
|
||||||
|
shift
|
||||||
|
done
|
||||||
|
shift
|
||||||
|
|
||||||
|
#
|
||||||
|
# MAIN
|
||||||
|
#
|
||||||
|
|
||||||
|
if [ -d "$TEST_RUN_DIR" ] ; then
|
||||||
|
rm -rf $TEST_RUN_DIR
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Modifying ${MAIN_CONTROL_DICT}"
|
||||||
|
if [ -e ${MAIN_CONTROL_DICT}.org ]
|
||||||
|
then
|
||||||
|
echo "File " ${MAIN_CONTROL_DICT}.org " already exists"
|
||||||
|
echo "Did Alltest fail in some way and then run again?"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Clean up on termination and on Ctrl-C
|
||||||
|
trap 'mv ${MAIN_CONTROL_DICT}.org ${MAIN_CONTROL_DICT} 2>/dev/null; exit 0' \
|
||||||
|
EXIT TERM INT
|
||||||
|
cp ${MAIN_CONTROL_DICT} ${MAIN_CONTROL_DICT}.org
|
||||||
|
|
||||||
|
sed \
|
||||||
|
-e s/"\(fvSchemes[ \t]*\)\([0-9]\);"/"\1 1;"/g \
|
||||||
|
-e s/"\(fvSolution[ \t]*\)\([0-9]\);"/"\1 1;"/g \
|
||||||
|
${MAIN_CONTROL_DICT}.org > ${MAIN_CONTROL_DICT}
|
||||||
|
|
||||||
|
echo "Copying the tutorials"
|
||||||
|
cp -a ${TUTORIALS_DIR} ${TEST_RUN_DIR}
|
||||||
|
|
||||||
|
echo "Modifying the controlDicts to run only one time step"
|
||||||
|
cd ${TEST_RUN_DIR}
|
||||||
|
|
||||||
|
for CD in `find . -name "controlDict*"`
|
||||||
|
do
|
||||||
|
mv ${CD} ${CD}.org
|
||||||
|
sed \
|
||||||
|
-e s/"\(startFrom[ \t]*\)\([a-zA-Z]*\);"/"\1 latestTime;"/g \
|
||||||
|
-e s/"\(stopAt[ \t]*\)\([a-zA-Z]*\);"/"\1 nextWrite;"/g \
|
||||||
|
-e s/"\(writeControl[ \t]*\)\([a-zA-Z]*\);"/"\1 timeStep;"/g \
|
||||||
|
-e s/"\(writeInterval[ \t]*\)\([0-9a-zA-Z.-]*\);"/"\1 1;"/g \
|
||||||
|
${CD}.org > ${CD}
|
||||||
|
done
|
||||||
|
|
||||||
|
if [ $DEFAULT_SCHEMES = 1 ] ; then
|
||||||
|
echo "Modifying the fvSchemes to contain only default schemes"
|
||||||
|
for FV_SC in `find . -name fvSchemes`
|
||||||
|
do
|
||||||
|
for S in $FV_SCHEMES
|
||||||
|
do
|
||||||
|
mv ${FV_SC} ${FV_SC}.org
|
||||||
|
sed -e /"${S}"/,/$p/d ${FV_SC}.org > ${FV_SC}
|
||||||
|
done
|
||||||
|
setDefaultFvSchemes >> ${FV_SC}
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
./Allrun
|
||||||
|
|
||||||
|
sed -e :a -e '/\\$/N; s/\\\n//; ta' Allrun > temp
|
||||||
|
APPLICATIONS=\
|
||||||
|
`grep "applications=" temp | sed 's/applications=\"\([A-Za-z \t]*\)\"/\1/g'`
|
||||||
|
|
||||||
|
rm $SCHEMES_FILE > /dev/null 2>&1
|
||||||
|
for APP in $APPLICATIONS
|
||||||
|
do
|
||||||
|
echo $APP >> $SCHEMES_FILE
|
||||||
|
echo "$APP: " | tr -d "\n" >> $SOLVERS_FILE
|
||||||
|
for ST in $FV_SCHEMES
|
||||||
|
do
|
||||||
|
rm $SCHEMES_TEMP > /dev/null 2>&1
|
||||||
|
rm $SOLVERS_TEMP > /dev/null 2>&1
|
||||||
|
echo " ${ST}" >> $SCHEMES_FILE
|
||||||
|
for LOG in `find ${APP} -name "log.${APP}"`
|
||||||
|
do
|
||||||
|
for S in `grep ${ST} ${LOG} | cut -d" " -f4`
|
||||||
|
do
|
||||||
|
echo " ${S}" >> $SCHEMES_TEMP
|
||||||
|
done
|
||||||
|
echo `grep solver ${LOG} | cut -d" " -f4` >> $SOLVERS_TEMP
|
||||||
|
done
|
||||||
|
if [ -f $SCHEMES_TEMP ] ; then
|
||||||
|
cat $SCHEMES_TEMP | sort -u >> $SCHEMES_FILE
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
cat $SOLVERS_TEMP | tr " " "\n" | sort -u | tr "\n" " " >> $SOLVERS_FILE
|
||||||
|
echo "" >> $SOLVERS_FILE
|
||||||
|
done
|
||||||
|
|
||||||
|
|
||||||
|
# ----------------------------------------------------------------- end-of-file
|
||||||
129
tutorials/MRFSimpleFoam/MRFSimpleFoam/MRFSimpleFoam.C
Normal file
129
tutorials/MRFSimpleFoam/MRFSimpleFoam/MRFSimpleFoam.C
Normal file
@ -0,0 +1,129 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
========= |
|
||||||
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
|
\\ / O peration |
|
||||||
|
\\ / A nd | Copyright (C) 1991-2007 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 2 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, write to the Free Software Foundation,
|
||||||
|
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||||
|
|
||||||
|
Application
|
||||||
|
MRFSimpleFoam
|
||||||
|
|
||||||
|
Description
|
||||||
|
Steady-state solver for incompressible, turbulent flow of non-Newtonian
|
||||||
|
fluids with MRF regions.
|
||||||
|
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
#include "fvCFD.H"
|
||||||
|
#include "incompressible/singlePhaseTransportModel/singlePhaseTransportModel.H"
|
||||||
|
#include "incompressible/turbulenceModel/turbulenceModel.H"
|
||||||
|
#include "MRFZones.H"
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
int main(int argc, char *argv[])
|
||||||
|
{
|
||||||
|
|
||||||
|
# include "setRootCase.H"
|
||||||
|
|
||||||
|
# include "createTime.H"
|
||||||
|
# include "createMesh.H"
|
||||||
|
# include "createFields.H"
|
||||||
|
# include "initContinuityErrs.H"
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
Info<< "\nStarting time loop\n" << endl;
|
||||||
|
|
||||||
|
for (runTime++; !runTime.end(); runTime++)
|
||||||
|
{
|
||||||
|
Info<< "Time = " << runTime.timeName() << nl << endl;
|
||||||
|
|
||||||
|
# include "readSIMPLEControls.H"
|
||||||
|
|
||||||
|
p.storePrevIter();
|
||||||
|
|
||||||
|
// Pressure-velocity SIMPLE corrector
|
||||||
|
{
|
||||||
|
// Momentum predictor
|
||||||
|
|
||||||
|
tmp<fvVectorMatrix> UEqn
|
||||||
|
(
|
||||||
|
fvm::div(phi, U)
|
||||||
|
+ turbulence->divDevReff(U)
|
||||||
|
);
|
||||||
|
mrfZones.addCoriolis(UEqn());
|
||||||
|
|
||||||
|
UEqn().relax();
|
||||||
|
|
||||||
|
solve(UEqn() == -fvc::grad(p));
|
||||||
|
|
||||||
|
p.boundaryField().updateCoeffs();
|
||||||
|
volScalarField rAU = 1.0/UEqn().A();
|
||||||
|
U = rAU*UEqn().H();
|
||||||
|
UEqn.clear();
|
||||||
|
|
||||||
|
phi = fvc::interpolate(U, "interpolate(HbyA)") & mesh.Sf();
|
||||||
|
mrfZones.relativeFlux(phi);
|
||||||
|
adjustPhi(phi, U, p);
|
||||||
|
|
||||||
|
// Non-orthogonal pressure corrector loop
|
||||||
|
for (int nonOrth=0; nonOrth<=nNonOrthCorr; nonOrth++)
|
||||||
|
{
|
||||||
|
fvScalarMatrix pEqn
|
||||||
|
(
|
||||||
|
fvm::laplacian(rAU, p) == fvc::div(phi)
|
||||||
|
);
|
||||||
|
|
||||||
|
pEqn.setReference(pRefCell, pRefValue);
|
||||||
|
pEqn.solve();
|
||||||
|
|
||||||
|
if (nonOrth == nNonOrthCorr)
|
||||||
|
{
|
||||||
|
phi -= pEqn.flux();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
# include "continuityErrs.H"
|
||||||
|
|
||||||
|
// Explicitly relax pressure for momentum corrector
|
||||||
|
p.relax();
|
||||||
|
|
||||||
|
// Momentum corrector
|
||||||
|
U -= rAU*fvc::grad(p);
|
||||||
|
U.correctBoundaryConditions();
|
||||||
|
}
|
||||||
|
|
||||||
|
turbulence->correct();
|
||||||
|
|
||||||
|
runTime.write();
|
||||||
|
|
||||||
|
Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
|
||||||
|
<< " ClockTime = " << runTime.elapsedClockTime() << " s"
|
||||||
|
<< nl << endl;
|
||||||
|
}
|
||||||
|
|
||||||
|
Info<< "End\n" << endl;
|
||||||
|
|
||||||
|
return(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
3
tutorials/MRFSimpleFoam/MRFSimpleFoam/Make/files
Normal file
3
tutorials/MRFSimpleFoam/MRFSimpleFoam/Make/files
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
MRFSimpleFoam.C
|
||||||
|
|
||||||
|
EXE = $(FOAM_USER_APPBIN)/MRFSimpleFoam
|
||||||
9
tutorials/MRFSimpleFoam/MRFSimpleFoam/Make/options
Normal file
9
tutorials/MRFSimpleFoam/MRFSimpleFoam/Make/options
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
EXE_INC = \
|
||||||
|
-I$(LIB_SRC)/finiteVolume/lnInclude \
|
||||||
|
-I$(LIB_SRC)/turbulenceModels \
|
||||||
|
-I$(LIB_SRC)/transportModels
|
||||||
|
|
||||||
|
EXE_LIBS = \
|
||||||
|
-lincompressibleTurbulenceModels \
|
||||||
|
-lincompressibleTransportModels \
|
||||||
|
-lfiniteVolume
|
||||||
46
tutorials/MRFSimpleFoam/MRFSimpleFoam/createFields.H
Normal file
46
tutorials/MRFSimpleFoam/MRFSimpleFoam/createFields.H
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
Info << "Reading field p\n" << endl;
|
||||||
|
volScalarField p
|
||||||
|
(
|
||||||
|
IOobject
|
||||||
|
(
|
||||||
|
"p",
|
||||||
|
runTime.timeName(),
|
||||||
|
mesh,
|
||||||
|
IOobject::MUST_READ,
|
||||||
|
IOobject::AUTO_WRITE
|
||||||
|
),
|
||||||
|
mesh
|
||||||
|
);
|
||||||
|
|
||||||
|
Info << "Reading field U\n" << endl;
|
||||||
|
volVectorField U
|
||||||
|
(
|
||||||
|
IOobject
|
||||||
|
(
|
||||||
|
"U",
|
||||||
|
runTime.timeName(),
|
||||||
|
mesh,
|
||||||
|
IOobject::MUST_READ,
|
||||||
|
IOobject::AUTO_WRITE
|
||||||
|
),
|
||||||
|
mesh
|
||||||
|
);
|
||||||
|
|
||||||
|
# include "createPhi.H"
|
||||||
|
|
||||||
|
|
||||||
|
label pRefCell = 0;
|
||||||
|
scalar pRefValue = 0.0;
|
||||||
|
setRefCell(p, mesh.solutionDict().subDict("SIMPLE"), pRefCell, pRefValue);
|
||||||
|
|
||||||
|
|
||||||
|
singlePhaseTransportModel laminarTransport(U, phi);
|
||||||
|
|
||||||
|
autoPtr<turbulenceModel> turbulence
|
||||||
|
(
|
||||||
|
turbulenceModel::New(U, phi, laminarTransport)
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
MRFZones mrfZones(mesh);
|
||||||
|
mrfZones.correctBoundaryVelocity(U);
|
||||||
55
tutorials/MRFSimpleFoam/mixerVessel2D/0/U
Normal file
55
tutorials/MRFSimpleFoam/mixerVessel2D/0/U
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 1.4 |
|
||||||
|
| \\ / A nd | Web: http://www.openfoam.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
|
||||||
|
root "";
|
||||||
|
case "";
|
||||||
|
instance "";
|
||||||
|
local "";
|
||||||
|
|
||||||
|
class volVectorField;
|
||||||
|
object U;
|
||||||
|
}
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
dimensions [0 1 -1 0 0 0 0];
|
||||||
|
|
||||||
|
internalField uniform (0 0 0);
|
||||||
|
|
||||||
|
boundaryField
|
||||||
|
{
|
||||||
|
rotor
|
||||||
|
{
|
||||||
|
type fixedValue;
|
||||||
|
value uniform (0 0 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
stator
|
||||||
|
{
|
||||||
|
type fixedValue;
|
||||||
|
value uniform (0 0 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
front
|
||||||
|
{
|
||||||
|
type empty;
|
||||||
|
}
|
||||||
|
|
||||||
|
back
|
||||||
|
{
|
||||||
|
type empty;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
54
tutorials/MRFSimpleFoam/mixerVessel2D/0/epsilon
Normal file
54
tutorials/MRFSimpleFoam/mixerVessel2D/0/epsilon
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 1.4 |
|
||||||
|
| \\ / A nd | Web: http://www.openfoam.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
|
||||||
|
root "";
|
||||||
|
case "";
|
||||||
|
instance "";
|
||||||
|
local "";
|
||||||
|
|
||||||
|
class volScalarField;
|
||||||
|
object epsilon;
|
||||||
|
}
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
|
||||||
|
dimensions [0 2 -3 0 0 0 0];
|
||||||
|
|
||||||
|
internalField uniform 20;
|
||||||
|
|
||||||
|
boundaryField
|
||||||
|
{
|
||||||
|
rotor
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
|
||||||
|
stator
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
|
||||||
|
front
|
||||||
|
{
|
||||||
|
type empty;
|
||||||
|
}
|
||||||
|
|
||||||
|
back
|
||||||
|
{
|
||||||
|
type empty;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
54
tutorials/MRFSimpleFoam/mixerVessel2D/0/k
Normal file
54
tutorials/MRFSimpleFoam/mixerVessel2D/0/k
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 1.4 |
|
||||||
|
| \\ / A nd | Web: http://www.openfoam.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
|
||||||
|
root "";
|
||||||
|
case "";
|
||||||
|
instance "";
|
||||||
|
local "";
|
||||||
|
|
||||||
|
class volScalarField;
|
||||||
|
object k;
|
||||||
|
}
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
|
||||||
|
dimensions [0 2 -2 0 0 0 0];
|
||||||
|
|
||||||
|
internalField uniform 1;
|
||||||
|
|
||||||
|
boundaryField
|
||||||
|
{
|
||||||
|
rotor
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
|
||||||
|
stator
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
|
||||||
|
front
|
||||||
|
{
|
||||||
|
type empty;
|
||||||
|
}
|
||||||
|
|
||||||
|
back
|
||||||
|
{
|
||||||
|
type empty;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
53
tutorials/MRFSimpleFoam/mixerVessel2D/0/p
Normal file
53
tutorials/MRFSimpleFoam/mixerVessel2D/0/p
Normal file
@ -0,0 +1,53 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 1.4 |
|
||||||
|
| \\ / A nd | Web: http://www.openfoam.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
|
||||||
|
root "";
|
||||||
|
case "";
|
||||||
|
instance "";
|
||||||
|
local "";
|
||||||
|
|
||||||
|
class volScalarField;
|
||||||
|
object p;
|
||||||
|
}
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
dimensions [0 2 -2 0 0 0 0];
|
||||||
|
|
||||||
|
internalField uniform 0;
|
||||||
|
|
||||||
|
boundaryField
|
||||||
|
{
|
||||||
|
rotor
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
|
||||||
|
stator
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
|
||||||
|
front
|
||||||
|
{
|
||||||
|
type empty;
|
||||||
|
}
|
||||||
|
|
||||||
|
back
|
||||||
|
{
|
||||||
|
type empty;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
9
tutorials/MRFSimpleFoam/mixerVessel2D/Allrun
Normal file
9
tutorials/MRFSimpleFoam/mixerVessel2D/Allrun
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
# Source tutorial run functions
|
||||||
|
. $WM_PROJECT_DIR/bin/tools/RunFunctions
|
||||||
|
|
||||||
|
# Get application name from directory
|
||||||
|
application=`basename $PWD`
|
||||||
|
|
||||||
|
runApplication makeMesh
|
||||||
|
runApplication $application
|
||||||
36
tutorials/MRFSimpleFoam/mixerVessel2D/constant/MRFZones
Normal file
36
tutorials/MRFSimpleFoam/mixerVessel2D/constant/MRFZones
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 1.4 |
|
||||||
|
| \\ / A nd | Web: http://www.openfoam.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
|
||||||
|
root "";
|
||||||
|
case "";
|
||||||
|
instance "";
|
||||||
|
local "";
|
||||||
|
|
||||||
|
class dictionary;
|
||||||
|
object MRFZones;
|
||||||
|
}
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
1
|
||||||
|
(
|
||||||
|
rotor
|
||||||
|
{
|
||||||
|
patches (rotor);
|
||||||
|
origin origin [0 1 0 0 0 0 0] (0 0 0);
|
||||||
|
axis axis [0 0 0 0 0 0 0] (0 0 1);
|
||||||
|
omega omega [0 0 -1 0 0 0 0] 104.72;
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,48 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 1.4 |
|
||||||
|
| \\ / A nd | Web: http://www.openfoam.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
|
||||||
|
root "";
|
||||||
|
case "";
|
||||||
|
instance "";
|
||||||
|
local "";
|
||||||
|
|
||||||
|
class dictionary;
|
||||||
|
object dynamicMeshDict;
|
||||||
|
}
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
dynamicFvMeshLib "libtopoChangerFvMesh.so";
|
||||||
|
dynamicFvMesh mixerFvMesh;
|
||||||
|
|
||||||
|
mixerFvMeshCoeffs
|
||||||
|
{
|
||||||
|
coordinateSystem
|
||||||
|
{
|
||||||
|
type cylindrical;
|
||||||
|
origin (0 0 0);
|
||||||
|
axis (0 0 1);
|
||||||
|
direction (1 0 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
rpm 10;
|
||||||
|
|
||||||
|
slider
|
||||||
|
{
|
||||||
|
inside insideSlider;
|
||||||
|
outside outsideSlider;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,842 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 1.4 |
|
||||||
|
| \\ / A nd | Web: http://www.openfoam.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
|
||||||
|
root "";
|
||||||
|
case "";
|
||||||
|
instance "";
|
||||||
|
local "";
|
||||||
|
|
||||||
|
class dictionary;
|
||||||
|
object blockMeshDict;
|
||||||
|
}
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
// General macros to create 2D/extruded-2D meshes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//define(calc, [esyscmd(echo $1 | bc | tr -d \\n)])
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
convertToMeters 0.1;
|
||||||
|
|
||||||
|
// Hub radius
|
||||||
|
|
||||||
|
|
||||||
|
// Impeller-tip radius
|
||||||
|
|
||||||
|
|
||||||
|
// Baffle-tip radius
|
||||||
|
|
||||||
|
|
||||||
|
// Tank radius
|
||||||
|
|
||||||
|
|
||||||
|
// MRF region radius
|
||||||
|
|
||||||
|
|
||||||
|
// Thickness of 2D slab
|
||||||
|
|
||||||
|
|
||||||
|
// Base z
|
||||||
|
|
||||||
|
|
||||||
|
// Top z
|
||||||
|
|
||||||
|
|
||||||
|
// Number of cells radially between hub and impeller tip
|
||||||
|
|
||||||
|
|
||||||
|
// Number of cells radially in each of the two regions between
|
||||||
|
// impeller and baffle tips
|
||||||
|
|
||||||
|
|
||||||
|
// Number of cells radially between baffle tip and tank
|
||||||
|
|
||||||
|
|
||||||
|
// Number of cells azimuthally in each of the 8 blocks
|
||||||
|
|
||||||
|
|
||||||
|
// Number of cells in the thickness of the slab
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
vertices
|
||||||
|
(
|
||||||
|
(0.2 0 0) // Vertex r0b = 0
|
||||||
|
(0.2 0 0) // Vertex r0sb = 1
|
||||||
|
(0.141421356364228 -0.141421356110391 0) // Vertex r1b = 2
|
||||||
|
(3.58979347393082e-10 -0.2 0) // Vertex r2b = 3
|
||||||
|
(3.58979347393082e-10 -0.2 0) // Vertex r2sb = 4
|
||||||
|
(-0.141421355856554 -0.141421356618065 0) // Vertex r3b = 5
|
||||||
|
(-0.2 7.17958694786164e-10 0) // Vertex r4b = 6
|
||||||
|
(-0.2 7.17958694786164e-10 0) // Vertex r4sb = 7
|
||||||
|
(-0.141421355856554 0.141421356618065 0) // Vertex r5b = 8
|
||||||
|
(3.58979347393082e-10 0.2 0) // Vertex r6b = 9
|
||||||
|
(3.58979347393082e-10 0.2 0) // Vertex r6sb = 10
|
||||||
|
(0.141421356364228 0.141421356110391 0) // Vertex r7b = 11
|
||||||
|
|
||||||
|
(0.5 0 0) // Vertex rb0b = 12
|
||||||
|
(0.353553390910569 -0.353553390275978 0) // Vertex rb1b = 13
|
||||||
|
(8.97448368482705e-10 -0.5 0) // Vertex rb2b = 14
|
||||||
|
(-0.353553389641386 -0.353553391545162 0) // Vertex rb3b = 15
|
||||||
|
(-0.5 1.79489673696541e-09 0) // Vertex rb4b = 16
|
||||||
|
(-0.353553389641386 0.353553391545162 0) // Vertex rb5b = 17
|
||||||
|
(8.97448368482705e-10 0.5 0) // Vertex rb6b = 18
|
||||||
|
(0.353553390910569 0.353553390275978 0) // Vertex rb7b = 19
|
||||||
|
|
||||||
|
(0.6 0 0) // Vertex ri0b = 20
|
||||||
|
(0.424264069092683 -0.424264068331174 0) // Vertex ri1b = 21
|
||||||
|
(1.07693804217925e-09 -0.6 0) // Vertex ri2b = 22
|
||||||
|
(-0.424264067569663 -0.424264069854194 0) // Vertex ri3b = 23
|
||||||
|
(-0.6 2.15387608435849e-09 0) // Vertex ri4b = 24
|
||||||
|
(-0.424264067569663 0.424264069854194 0) // Vertex ri5b = 25
|
||||||
|
(1.07693804217925e-09 0.6 0) // Vertex ri6b = 26
|
||||||
|
(0.424264069092683 0.424264068331174 0) // Vertex ri7b = 27
|
||||||
|
|
||||||
|
(0.7 0 0) // Vertex Rb0b = 28
|
||||||
|
(0.494974747274797 -0.494974746386369 0) // Vertex Rb1b = 29
|
||||||
|
(1.25642771587579e-09 -0.7 0) // Vertex Rb2b = 30
|
||||||
|
(-0.49497474549794 -0.494974748163226 0) // Vertex Rb3b = 31
|
||||||
|
(-0.7 2.51285543175157e-09 0) // Vertex Rb4b = 32
|
||||||
|
(-0.49497474549794 0.494974748163226 0) // Vertex Rb5b = 33
|
||||||
|
(1.25642771587579e-09 0.7 0) // Vertex Rb6b = 34
|
||||||
|
(0.494974747274797 0.494974746386369 0) // Vertex Rb7b = 35
|
||||||
|
|
||||||
|
(1 0 0) // Vertex R0b = 36
|
||||||
|
(0.707106781821139 -0.707106780551956 0) // Vertex R1b = 37
|
||||||
|
(0.707106781821139 -0.707106780551956 0) // Vertex R1sb = 38
|
||||||
|
(1.79489673696541e-09 -1 0) // Vertex R2b = 39
|
||||||
|
(-0.707106779282772 -0.707106783090323 0) // Vertex R3b = 40
|
||||||
|
(-0.707106779282772 -0.707106783090323 0) // Vertex R3sb = 41
|
||||||
|
(-1 3.58979347393082e-09 0) // Vertex R4b = 42
|
||||||
|
(-0.707106779282772 0.707106783090323 0) // Vertex R5b = 43
|
||||||
|
(-0.707106779282772 0.707106783090323 0) // Vertex R5sb = 44
|
||||||
|
(1.79489673696541e-09 1 0) // Vertex R6b = 45
|
||||||
|
(0.707106781821139 0.707106780551956 0) // Vertex R7b = 46
|
||||||
|
(0.707106781821139 0.707106780551956 0) // Vertex R7sb = 47
|
||||||
|
|
||||||
|
(0.2 0 0.1) // Vertex r0t = 48
|
||||||
|
(0.2 0 0.1) // Vertex r0st = 49
|
||||||
|
(0.141421356364228 -0.141421356110391 0.1) // Vertex r1t = 50
|
||||||
|
(3.58979347393082e-10 -0.2 0.1) // Vertex r2t = 51
|
||||||
|
(3.58979347393082e-10 -0.2 0.1) // Vertex r2st = 52
|
||||||
|
(-0.141421355856554 -0.141421356618065 0.1) // Vertex r3t = 53
|
||||||
|
(-0.2 7.17958694786164e-10 0.1) // Vertex r4t = 54
|
||||||
|
(-0.2 7.17958694786164e-10 0.1) // Vertex r4st = 55
|
||||||
|
(-0.141421355856554 0.141421356618065 0.1) // Vertex r5t = 56
|
||||||
|
(3.58979347393082e-10 0.2 0.1) // Vertex r6t = 57
|
||||||
|
(3.58979347393082e-10 0.2 0.1) // Vertex r6st = 58
|
||||||
|
(0.141421356364228 0.141421356110391 0.1) // Vertex r7t = 59
|
||||||
|
|
||||||
|
(0.5 0 0.1) // Vertex rb0t = 60
|
||||||
|
(0.353553390910569 -0.353553390275978 0.1) // Vertex rb1t = 61
|
||||||
|
(8.97448368482705e-10 -0.5 0.1) // Vertex rb2t = 62
|
||||||
|
(-0.353553389641386 -0.353553391545162 0.1) // Vertex rb3t = 63
|
||||||
|
(-0.5 1.79489673696541e-09 0.1) // Vertex rb4t = 64
|
||||||
|
(-0.353553389641386 0.353553391545162 0.1) // Vertex rb5t = 65
|
||||||
|
(8.97448368482705e-10 0.5 0.1) // Vertex rb6t = 66
|
||||||
|
(0.353553390910569 0.353553390275978 0.1) // Vertex rb7t = 67
|
||||||
|
|
||||||
|
(0.6 0 0.1) // Vertex ri0t = 68
|
||||||
|
(0.424264069092683 -0.424264068331174 0.1) // Vertex ri1t = 69
|
||||||
|
(1.07693804217925e-09 -0.6 0.1) // Vertex ri2t = 70
|
||||||
|
(-0.424264067569663 -0.424264069854194 0.1) // Vertex ri3t = 71
|
||||||
|
(-0.6 2.15387608435849e-09 0.1) // Vertex ri4t = 72
|
||||||
|
(-0.424264067569663 0.424264069854194 0.1) // Vertex ri5t = 73
|
||||||
|
(1.07693804217925e-09 0.6 0.1) // Vertex ri6t = 74
|
||||||
|
(0.424264069092683 0.424264068331174 0.1) // Vertex ri7t = 75
|
||||||
|
|
||||||
|
(0.7 0 0.1) // Vertex Rb0t = 76
|
||||||
|
(0.494974747274797 -0.494974746386369 0.1) // Vertex Rb1t = 77
|
||||||
|
(1.25642771587579e-09 -0.7 0.1) // Vertex Rb2t = 78
|
||||||
|
(-0.49497474549794 -0.494974748163226 0.1) // Vertex Rb3t = 79
|
||||||
|
(-0.7 2.51285543175157e-09 0.1) // Vertex Rb4t = 80
|
||||||
|
(-0.49497474549794 0.494974748163226 0.1) // Vertex Rb5t = 81
|
||||||
|
(1.25642771587579e-09 0.7 0.1) // Vertex Rb6t = 82
|
||||||
|
(0.494974747274797 0.494974746386369 0.1) // Vertex Rb7t = 83
|
||||||
|
|
||||||
|
(1 0 0.1) // Vertex R0t = 84
|
||||||
|
(0.707106781821139 -0.707106780551956 0.1) // Vertex R1t = 85
|
||||||
|
(0.707106781821139 -0.707106780551956 0.1) // Vertex R1st = 86
|
||||||
|
(1.79489673696541e-09 -1 0.1) // Vertex R2t = 87
|
||||||
|
(-0.707106779282772 -0.707106783090323 0.1) // Vertex R3t = 88
|
||||||
|
(-0.707106779282772 -0.707106783090323 0.1) // Vertex R3st = 89
|
||||||
|
(-1 3.58979347393082e-09 0.1) // Vertex R4t = 90
|
||||||
|
(-0.707106779282772 0.707106783090323 0.1) // Vertex R5t = 91
|
||||||
|
(-0.707106779282772 0.707106783090323 0.1) // Vertex R5st = 92
|
||||||
|
(1.79489673696541e-09 1 0.1) // Vertex R6t = 93
|
||||||
|
(0.707106781821139 0.707106780551956 0.1) // Vertex R7t = 94
|
||||||
|
(0.707106781821139 0.707106780551956 0.1) // Vertex R7st = 95
|
||||||
|
);
|
||||||
|
|
||||||
|
blocks
|
||||||
|
(
|
||||||
|
// block0
|
||||||
|
hex (0 2 13 12 48 50 61 60)
|
||||||
|
rotor
|
||||||
|
(12 12 1)
|
||||||
|
simpleGrading (1 1 1)
|
||||||
|
|
||||||
|
// block1
|
||||||
|
hex (2 4 14 13 50 52 62 61)
|
||||||
|
rotor
|
||||||
|
(12 12 1)
|
||||||
|
simpleGrading (1 1 1)
|
||||||
|
|
||||||
|
// block2
|
||||||
|
hex (3 5 15 14 51 53 63 62)
|
||||||
|
rotor
|
||||||
|
(12 12 1)
|
||||||
|
simpleGrading (1 1 1)
|
||||||
|
|
||||||
|
// block3
|
||||||
|
hex (5 7 16 15 53 55 64 63)
|
||||||
|
rotor
|
||||||
|
(12 12 1)
|
||||||
|
simpleGrading (1 1 1)
|
||||||
|
|
||||||
|
// block4
|
||||||
|
hex (6 8 17 16 54 56 65 64)
|
||||||
|
rotor
|
||||||
|
(12 12 1)
|
||||||
|
simpleGrading (1 1 1)
|
||||||
|
|
||||||
|
// block5
|
||||||
|
hex (8 10 18 17 56 58 66 65)
|
||||||
|
rotor
|
||||||
|
(12 12 1)
|
||||||
|
simpleGrading (1 1 1)
|
||||||
|
|
||||||
|
// block6
|
||||||
|
hex (9 11 19 18 57 59 67 66)
|
||||||
|
rotor
|
||||||
|
(12 12 1)
|
||||||
|
simpleGrading (1 1 1)
|
||||||
|
|
||||||
|
// block7
|
||||||
|
hex (11 1 12 19 59 49 60 67)
|
||||||
|
rotor
|
||||||
|
(12 12 1)
|
||||||
|
simpleGrading (1 1 1)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// block0
|
||||||
|
hex (12 13 21 20 60 61 69 68)
|
||||||
|
rotor
|
||||||
|
(12 4 1)
|
||||||
|
simpleGrading (1 1 1)
|
||||||
|
|
||||||
|
// block1
|
||||||
|
hex (13 14 22 21 61 62 70 69)
|
||||||
|
rotor
|
||||||
|
(12 4 1)
|
||||||
|
simpleGrading (1 1 1)
|
||||||
|
|
||||||
|
// block2
|
||||||
|
hex (14 15 23 22 62 63 71 70)
|
||||||
|
rotor
|
||||||
|
(12 4 1)
|
||||||
|
simpleGrading (1 1 1)
|
||||||
|
|
||||||
|
// block3
|
||||||
|
hex (15 16 24 23 63 64 72 71)
|
||||||
|
rotor
|
||||||
|
(12 4 1)
|
||||||
|
simpleGrading (1 1 1)
|
||||||
|
|
||||||
|
// block4
|
||||||
|
hex (16 17 25 24 64 65 73 72)
|
||||||
|
rotor
|
||||||
|
(12 4 1)
|
||||||
|
simpleGrading (1 1 1)
|
||||||
|
|
||||||
|
// block5
|
||||||
|
hex (17 18 26 25 65 66 74 73)
|
||||||
|
rotor
|
||||||
|
(12 4 1)
|
||||||
|
simpleGrading (1 1 1)
|
||||||
|
|
||||||
|
// block6
|
||||||
|
hex (18 19 27 26 66 67 75 74)
|
||||||
|
rotor
|
||||||
|
(12 4 1)
|
||||||
|
simpleGrading (1 1 1)
|
||||||
|
|
||||||
|
// block7
|
||||||
|
hex (19 12 20 27 67 60 68 75)
|
||||||
|
rotor
|
||||||
|
(12 4 1)
|
||||||
|
simpleGrading (1 1 1)
|
||||||
|
|
||||||
|
|
||||||
|
// block0
|
||||||
|
hex (20 21 29 28 68 69 77 76)
|
||||||
|
(12 4 1)
|
||||||
|
simpleGrading (1 1 1)
|
||||||
|
|
||||||
|
// block1
|
||||||
|
hex (21 22 30 29 69 70 78 77)
|
||||||
|
(12 4 1)
|
||||||
|
simpleGrading (1 1 1)
|
||||||
|
|
||||||
|
// block2
|
||||||
|
hex (22 23 31 30 70 71 79 78)
|
||||||
|
(12 4 1)
|
||||||
|
simpleGrading (1 1 1)
|
||||||
|
|
||||||
|
// block3
|
||||||
|
hex (23 24 32 31 71 72 80 79)
|
||||||
|
(12 4 1)
|
||||||
|
simpleGrading (1 1 1)
|
||||||
|
|
||||||
|
// block4
|
||||||
|
hex (24 25 33 32 72 73 81 80)
|
||||||
|
(12 4 1)
|
||||||
|
simpleGrading (1 1 1)
|
||||||
|
|
||||||
|
// block5
|
||||||
|
hex (25 26 34 33 73 74 82 81)
|
||||||
|
(12 4 1)
|
||||||
|
simpleGrading (1 1 1)
|
||||||
|
|
||||||
|
// block6
|
||||||
|
hex (26 27 35 34 74 75 83 82)
|
||||||
|
(12 4 1)
|
||||||
|
simpleGrading (1 1 1)
|
||||||
|
|
||||||
|
// block7
|
||||||
|
hex (27 20 28 35 75 68 76 83)
|
||||||
|
(12 4 1)
|
||||||
|
simpleGrading (1 1 1)
|
||||||
|
|
||||||
|
|
||||||
|
// block0
|
||||||
|
hex (28 29 38 36 76 77 86 84)
|
||||||
|
(12 12 1)
|
||||||
|
simpleGrading (1 1 1)
|
||||||
|
|
||||||
|
// block1
|
||||||
|
hex (29 30 39 37 77 78 87 85)
|
||||||
|
(12 12 1)
|
||||||
|
simpleGrading (1 1 1)
|
||||||
|
|
||||||
|
// block2
|
||||||
|
hex (30 31 41 39 78 79 89 87)
|
||||||
|
(12 12 1)
|
||||||
|
simpleGrading (1 1 1)
|
||||||
|
|
||||||
|
// block3
|
||||||
|
hex (31 32 42 40 79 80 90 88)
|
||||||
|
(12 12 1)
|
||||||
|
simpleGrading (1 1 1)
|
||||||
|
|
||||||
|
// block4
|
||||||
|
hex (32 33 44 42 80 81 92 90)
|
||||||
|
(12 12 1)
|
||||||
|
simpleGrading (1 1 1)
|
||||||
|
|
||||||
|
// block5
|
||||||
|
hex (33 34 45 43 81 82 93 91)
|
||||||
|
(12 12 1)
|
||||||
|
simpleGrading (1 1 1)
|
||||||
|
|
||||||
|
// block6
|
||||||
|
hex (34 35 47 45 82 83 95 93)
|
||||||
|
(12 12 1)
|
||||||
|
simpleGrading (1 1 1)
|
||||||
|
|
||||||
|
// block7
|
||||||
|
hex (35 28 36 46 83 76 84 94)
|
||||||
|
(12 12 1)
|
||||||
|
simpleGrading (1 1 1)
|
||||||
|
);
|
||||||
|
|
||||||
|
edges
|
||||||
|
(
|
||||||
|
arc 0 2 (0.184775906536601 -0.0765366863901046 0)
|
||||||
|
arc 2 4 (0.0765366867217582 -0.184775906399226 0)
|
||||||
|
arc 3 5 (-0.0765366860584508 -0.184775906673977 0)
|
||||||
|
arc 5 7 (-0.18477590626185 -0.0765366870534118 0)
|
||||||
|
arc 6 8 (-0.18477590626185 0.0765366870534118 0)
|
||||||
|
arc 8 10 (-0.0765366860584508 0.184775906673977 0)
|
||||||
|
arc 9 11 (0.0765366867217582 0.184775906399226 0)
|
||||||
|
arc 11 1 (0.184775906536601 0.0765366863901046 0)
|
||||||
|
|
||||||
|
arc 12 13 (0.461939766341503 -0.191341715975262 0)
|
||||||
|
arc 13 14 (0.191341716804395 -0.461939765998065 0)
|
||||||
|
arc 14 15 (-0.191341715146127 -0.461939766684942 0)
|
||||||
|
arc 15 16 (-0.461939765654626 -0.19134171763353 0)
|
||||||
|
arc 16 17 (-0.461939765654626 0.19134171763353 0)
|
||||||
|
arc 17 18 (-0.191341715146127 0.461939766684942 0)
|
||||||
|
arc 18 19 (0.191341716804395 0.461939765998065 0)
|
||||||
|
arc 19 12 (0.461939766341503 0.191341715975262 0)
|
||||||
|
|
||||||
|
arc 20 21 (0.554327719609804 -0.229610059170314 0)
|
||||||
|
arc 21 22 (0.229610060165275 -0.554327719197677 0)
|
||||||
|
arc 22 23 (-0.229610058175352 -0.55432772002193 0)
|
||||||
|
arc 23 24 (-0.554327718785551 -0.229610061160235 0)
|
||||||
|
arc 24 25 (-0.554327718785551 0.229610061160235 0)
|
||||||
|
arc 25 26 (-0.229610058175352 0.55432772002193 0)
|
||||||
|
arc 26 27 (0.229610060165275 0.554327719197677 0)
|
||||||
|
arc 27 20 (0.554327719609804 0.229610059170314 0)
|
||||||
|
|
||||||
|
arc 28 29 (0.646715672878104 -0.267878402365366 0)
|
||||||
|
arc 29 30 (0.267878403526154 -0.64671567239729 0)
|
||||||
|
arc 30 31 (-0.267878401204578 -0.646715673358918 0)
|
||||||
|
arc 31 32 (-0.646715671916476 -0.267878404686941 0)
|
||||||
|
arc 32 33 (-0.646715671916476 0.267878404686941 0)
|
||||||
|
arc 33 34 (-0.267878401204578 0.646715673358918 0)
|
||||||
|
arc 34 35 (0.267878403526154 0.64671567239729 0)
|
||||||
|
arc 35 28 (0.646715672878104 0.267878402365366 0)
|
||||||
|
|
||||||
|
arc 36 38 (0.923879532683006 -0.382683431950523 0)
|
||||||
|
arc 37 39 (0.382683433608791 -0.923879531996129 0)
|
||||||
|
arc 39 41 (-0.382683430292254 -0.923879533369883 0)
|
||||||
|
arc 40 42 (-0.923879531309252 -0.382683435267059 0)
|
||||||
|
arc 42 44 (-0.923879531309252 0.382683435267059 0)
|
||||||
|
arc 43 45 (-0.382683430292254 0.923879533369883 0)
|
||||||
|
arc 45 47 (0.382683433608791 0.923879531996129 0)
|
||||||
|
arc 46 36 (0.923879532683006 0.382683431950523 0)
|
||||||
|
|
||||||
|
|
||||||
|
arc 48 50 (0.184775906536601 -0.0765366863901046 0.1)
|
||||||
|
arc 50 52 (0.0765366867217582 -0.184775906399226 0.1)
|
||||||
|
arc 51 53 (-0.0765366860584508 -0.184775906673977 0.1)
|
||||||
|
arc 53 55 (-0.18477590626185 -0.0765366870534118 0.1)
|
||||||
|
arc 54 56 (-0.18477590626185 0.0765366870534118 0.1)
|
||||||
|
arc 56 58 (-0.0765366860584508 0.184775906673977 0.1)
|
||||||
|
arc 57 59 (0.0765366867217582 0.184775906399226 0.1)
|
||||||
|
arc 59 49 (0.184775906536601 0.0765366863901046 0.1)
|
||||||
|
|
||||||
|
arc 60 61 (0.461939766341503 -0.191341715975262 0.1)
|
||||||
|
arc 61 62 (0.191341716804395 -0.461939765998065 0.1)
|
||||||
|
arc 62 63 (-0.191341715146127 -0.461939766684942 0.1)
|
||||||
|
arc 63 64 (-0.461939765654626 -0.19134171763353 0.1)
|
||||||
|
arc 64 65 (-0.461939765654626 0.19134171763353 0.1)
|
||||||
|
arc 65 66 (-0.191341715146127 0.461939766684942 0.1)
|
||||||
|
arc 66 67 (0.191341716804395 0.461939765998065 0.1)
|
||||||
|
arc 67 60 (0.461939766341503 0.191341715975262 0.1)
|
||||||
|
|
||||||
|
arc 68 69 (0.554327719609804 -0.229610059170314 0.1)
|
||||||
|
arc 69 70 (0.229610060165275 -0.554327719197677 0.1)
|
||||||
|
arc 70 71 (-0.229610058175352 -0.55432772002193 0.1)
|
||||||
|
arc 71 72 (-0.554327718785551 -0.229610061160235 0.1)
|
||||||
|
arc 72 73 (-0.554327718785551 0.229610061160235 0.1)
|
||||||
|
arc 73 74 (-0.229610058175352 0.55432772002193 0.1)
|
||||||
|
arc 74 75 (0.229610060165275 0.554327719197677 0.1)
|
||||||
|
arc 75 68 (0.554327719609804 0.229610059170314 0.1)
|
||||||
|
|
||||||
|
arc 76 77 (0.646715672878104 -0.267878402365366 0.1)
|
||||||
|
arc 77 78 (0.267878403526154 -0.64671567239729 0.1)
|
||||||
|
arc 78 79 (-0.267878401204578 -0.646715673358918 0.1)
|
||||||
|
arc 79 80 (-0.646715671916476 -0.267878404686941 0.1)
|
||||||
|
arc 80 81 (-0.646715671916476 0.267878404686941 0.1)
|
||||||
|
arc 81 82 (-0.267878401204578 0.646715673358918 0.1)
|
||||||
|
arc 82 83 (0.267878403526154 0.64671567239729 0.1)
|
||||||
|
arc 83 76 (0.646715672878104 0.267878402365366 0.1)
|
||||||
|
|
||||||
|
arc 84 86 (0.923879532683006 -0.382683431950523 0.1)
|
||||||
|
arc 85 87 (0.382683433608791 -0.923879531996129 0.1)
|
||||||
|
arc 87 89 (-0.382683430292254 -0.923879533369883 0.1)
|
||||||
|
arc 88 90 (-0.923879531309252 -0.382683435267059 0.1)
|
||||||
|
arc 90 92 (-0.923879531309252 0.382683435267059 0.1)
|
||||||
|
arc 91 93 (-0.382683430292254 0.923879533369883 0.1)
|
||||||
|
arc 93 95 (0.382683433608791 0.923879531996129 0.1)
|
||||||
|
arc 94 84 (0.923879532683006 0.382683431950523 0.1)
|
||||||
|
);
|
||||||
|
|
||||||
|
patches
|
||||||
|
(
|
||||||
|
wall rotor
|
||||||
|
(
|
||||||
|
(0 2 50 48)
|
||||||
|
(2 4 52 50)
|
||||||
|
(3 5 53 51)
|
||||||
|
(5 7 55 53)
|
||||||
|
(6 8 56 54)
|
||||||
|
(8 10 58 56)
|
||||||
|
(9 11 59 57)
|
||||||
|
(11 1 49 59)
|
||||||
|
|
||||||
|
(0 12 60 48)
|
||||||
|
(1 12 60 49)
|
||||||
|
|
||||||
|
(3 14 62 51)
|
||||||
|
(4 14 62 52)
|
||||||
|
|
||||||
|
(6 16 64 54)
|
||||||
|
(7 16 64 55)
|
||||||
|
|
||||||
|
(9 18 66 57)
|
||||||
|
(10 18 66 58)
|
||||||
|
)
|
||||||
|
|
||||||
|
wall stator
|
||||||
|
(
|
||||||
|
(36 38 86 84)
|
||||||
|
(37 39 87 85)
|
||||||
|
(39 41 89 87)
|
||||||
|
(40 42 90 88)
|
||||||
|
(42 44 92 90)
|
||||||
|
(43 45 93 91)
|
||||||
|
(45 47 95 93)
|
||||||
|
(46 36 84 94)
|
||||||
|
|
||||||
|
(37 29 77 85)
|
||||||
|
(38 29 77 86)
|
||||||
|
|
||||||
|
(40 31 79 88)
|
||||||
|
(41 31 79 89)
|
||||||
|
|
||||||
|
(43 33 81 91)
|
||||||
|
(44 33 81 92)
|
||||||
|
|
||||||
|
(46 35 83 94)
|
||||||
|
(47 35 83 95)
|
||||||
|
)
|
||||||
|
|
||||||
|
empty front
|
||||||
|
(
|
||||||
|
(48 50 61 60)
|
||||||
|
(50 52 62 61)
|
||||||
|
(51 53 63 62)
|
||||||
|
(53 55 64 63)
|
||||||
|
(54 56 65 64)
|
||||||
|
(56 58 66 65)
|
||||||
|
(57 59 67 66)
|
||||||
|
(59 49 60 67)
|
||||||
|
(60 61 69 68)
|
||||||
|
(61 62 70 69)
|
||||||
|
(62 63 71 70)
|
||||||
|
(63 64 72 71)
|
||||||
|
(64 65 73 72)
|
||||||
|
(65 66 74 73)
|
||||||
|
(66 67 75 74)
|
||||||
|
(67 60 68 75)
|
||||||
|
(68 69 77 76)
|
||||||
|
(69 70 78 77)
|
||||||
|
(70 71 79 78)
|
||||||
|
(71 72 80 79)
|
||||||
|
(72 73 81 80)
|
||||||
|
(73 74 82 81)
|
||||||
|
(74 75 83 82)
|
||||||
|
(75 68 76 83)
|
||||||
|
(76 77 86 84)
|
||||||
|
(77 78 87 85)
|
||||||
|
(78 79 89 87)
|
||||||
|
(79 80 90 88)
|
||||||
|
(80 81 92 90)
|
||||||
|
(81 82 93 91)
|
||||||
|
(82 83 95 93)
|
||||||
|
(83 76 84 94)
|
||||||
|
)
|
||||||
|
|
||||||
|
empty back
|
||||||
|
(
|
||||||
|
(0 12 13 2)
|
||||||
|
(2 13 14 4)
|
||||||
|
(3 14 15 5)
|
||||||
|
(5 15 16 7)
|
||||||
|
(6 16 17 8)
|
||||||
|
(8 17 18 10)
|
||||||
|
(9 18 19 11)
|
||||||
|
(11 19 12 1)
|
||||||
|
(12 20 21 13)
|
||||||
|
(13 21 22 14)
|
||||||
|
(14 22 23 15)
|
||||||
|
(15 23 24 16)
|
||||||
|
(16 24 25 17)
|
||||||
|
(17 25 26 18)
|
||||||
|
(18 26 27 19)
|
||||||
|
(19 27 20 12)
|
||||||
|
(20 28 29 21)
|
||||||
|
(21 29 30 22)
|
||||||
|
(22 30 31 23)
|
||||||
|
(23 31 32 24)
|
||||||
|
(24 32 33 25)
|
||||||
|
(25 33 34 26)
|
||||||
|
(26 34 35 27)
|
||||||
|
(27 35 28 20)
|
||||||
|
(28 36 38 29)
|
||||||
|
(29 37 39 30)
|
||||||
|
(30 39 41 31)
|
||||||
|
(31 40 42 32)
|
||||||
|
(32 42 44 33)
|
||||||
|
(33 43 45 34)
|
||||||
|
(34 45 47 35)
|
||||||
|
(35 46 36 28)
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,842 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 1.4 |
|
||||||
|
| \\ / A nd | Web: http://www.openfoam.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
`format' ascii;
|
||||||
|
|
||||||
|
root "";
|
||||||
|
case "";
|
||||||
|
instance "";
|
||||||
|
local "";
|
||||||
|
|
||||||
|
class dictionary;
|
||||||
|
object blockMeshDict;
|
||||||
|
}
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
// General macros to create 2D/extruded-2D meshes
|
||||||
|
|
||||||
|
changecom(//)changequote([,])
|
||||||
|
define(calc, [esyscmd(perl -e 'printf ($1)')])
|
||||||
|
//define(calc, [esyscmd(echo $1 | bc | tr -d \\n)])
|
||||||
|
define(VCOUNT, 0)
|
||||||
|
define(vlabel, [[// ]Vertex $1 = VCOUNT define($1, VCOUNT)define([VCOUNT], incr(VCOUNT))])
|
||||||
|
define(pi, 3.14159265)
|
||||||
|
|
||||||
|
define(hex2D, hex ($1b $2b $3b $4b $1t $2t $3t $4t))
|
||||||
|
define(quad2D, ($1b $2b $2t $1t))
|
||||||
|
define(frontQuad, ($1t $2t $3t $4t))
|
||||||
|
define(backQuad, ($1b $4b $3b $2b))
|
||||||
|
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
convertToMeters 0.1;
|
||||||
|
|
||||||
|
// Hub radius
|
||||||
|
define(r, 0.2)
|
||||||
|
|
||||||
|
// Impeller-tip radius
|
||||||
|
define(rb, 0.5)
|
||||||
|
|
||||||
|
// Baffle-tip radius
|
||||||
|
define(Rb, 0.7)
|
||||||
|
|
||||||
|
// Tank radius
|
||||||
|
define(R, 1)
|
||||||
|
|
||||||
|
// MRF region radius
|
||||||
|
define(ri, calc(0.5*(rb + Rb)))
|
||||||
|
|
||||||
|
// Thickness of 2D slab
|
||||||
|
define(z, 0.1)
|
||||||
|
|
||||||
|
// Base z
|
||||||
|
define(Zb, 0)
|
||||||
|
|
||||||
|
// Top z
|
||||||
|
define(Zt, calc(Zb + z))
|
||||||
|
|
||||||
|
// Number of cells radially between hub and impeller tip
|
||||||
|
define(Nr, 12)
|
||||||
|
|
||||||
|
// Number of cells radially in each of the two regions between
|
||||||
|
// impeller and baffle tips
|
||||||
|
define(Ni, 4)
|
||||||
|
|
||||||
|
// Number of cells radially between baffle tip and tank
|
||||||
|
define(NR, 12)
|
||||||
|
|
||||||
|
// Number of cells azimuthally in each of the 8 blocks
|
||||||
|
define(Na, 12)
|
||||||
|
|
||||||
|
// Number of cells in the thickness of the slab
|
||||||
|
define(Nz, 1)
|
||||||
|
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
define(vert, (x$1$2 y$1$2 $3))
|
||||||
|
define(evert, (ex$1$2 ey$1$2 $3))
|
||||||
|
|
||||||
|
define(a0, 0)
|
||||||
|
define(a1, -45)
|
||||||
|
define(a2, -90)
|
||||||
|
define(a3, -135)
|
||||||
|
define(a4, 180)
|
||||||
|
define(a5, 135)
|
||||||
|
define(a6, 90)
|
||||||
|
define(a7, 45)
|
||||||
|
|
||||||
|
define(ea0, -22.5)
|
||||||
|
define(ea1, -67.5)
|
||||||
|
define(ea2, -112.5)
|
||||||
|
define(ea3, -157.5)
|
||||||
|
define(ea4, 157.5)
|
||||||
|
define(ea5, 112.5)
|
||||||
|
define(ea6, 67.5)
|
||||||
|
define(ea7, 22.5)
|
||||||
|
|
||||||
|
define(ca0, calc(cos((pi/180)*a0)))
|
||||||
|
define(ca1, calc(cos((pi/180)*a1)))
|
||||||
|
define(ca2, calc(cos((pi/180)*a2)))
|
||||||
|
define(ca3, calc(cos((pi/180)*a3)))
|
||||||
|
define(ca4, calc(cos((pi/180)*a4)))
|
||||||
|
define(ca5, calc(cos((pi/180)*a5)))
|
||||||
|
define(ca6, calc(cos((pi/180)*a6)))
|
||||||
|
define(ca7, calc(cos((pi/180)*a7)))
|
||||||
|
|
||||||
|
define(sa0, calc(sin((pi/180)*a0)))
|
||||||
|
define(sa1, calc(sin((pi/180)*a1)))
|
||||||
|
define(sa2, calc(sin((pi/180)*a2)))
|
||||||
|
define(sa3, calc(sin((pi/180)*a3)))
|
||||||
|
define(sa4, calc(sin((pi/180)*a4)))
|
||||||
|
define(sa5, calc(sin((pi/180)*a5)))
|
||||||
|
define(sa6, calc(sin((pi/180)*a6)))
|
||||||
|
define(sa7, calc(sin((pi/180)*a7)))
|
||||||
|
|
||||||
|
define(cea0, calc(cos((pi/180)*ea0)))
|
||||||
|
define(cea1, calc(cos((pi/180)*ea1)))
|
||||||
|
define(cea2, calc(cos((pi/180)*ea2)))
|
||||||
|
define(cea3, calc(cos((pi/180)*ea3)))
|
||||||
|
define(cea4, calc(cos((pi/180)*ea4)))
|
||||||
|
define(cea5, calc(cos((pi/180)*ea5)))
|
||||||
|
define(cea6, calc(cos((pi/180)*ea6)))
|
||||||
|
define(cea7, calc(cos((pi/180)*ea7)))
|
||||||
|
|
||||||
|
define(sea0, calc(sin((pi/180)*ea0)))
|
||||||
|
define(sea1, calc(sin((pi/180)*ea1)))
|
||||||
|
define(sea2, calc(sin((pi/180)*ea2)))
|
||||||
|
define(sea3, calc(sin((pi/180)*ea3)))
|
||||||
|
define(sea4, calc(sin((pi/180)*ea4)))
|
||||||
|
define(sea5, calc(sin((pi/180)*ea5)))
|
||||||
|
define(sea6, calc(sin((pi/180)*ea6)))
|
||||||
|
define(sea7, calc(sin((pi/180)*ea7)))
|
||||||
|
|
||||||
|
|
||||||
|
define(x00, calc(r*ca0))
|
||||||
|
define(x01, calc(r*ca1))
|
||||||
|
define(x02, calc(r*ca2))
|
||||||
|
define(x03, calc(r*ca3))
|
||||||
|
define(x04, calc(r*ca4))
|
||||||
|
define(x05, calc(r*ca5))
|
||||||
|
define(x06, calc(r*ca6))
|
||||||
|
define(x07, calc(r*ca7))
|
||||||
|
|
||||||
|
define(x10, calc(rb*ca0))
|
||||||
|
define(x11, calc(rb*ca1))
|
||||||
|
define(x12, calc(rb*ca2))
|
||||||
|
define(x13, calc(rb*ca3))
|
||||||
|
define(x14, calc(rb*ca4))
|
||||||
|
define(x15, calc(rb*ca5))
|
||||||
|
define(x16, calc(rb*ca6))
|
||||||
|
define(x17, calc(rb*ca7))
|
||||||
|
|
||||||
|
define(x20, calc(ri*ca0))
|
||||||
|
define(x21, calc(ri*ca1))
|
||||||
|
define(x22, calc(ri*ca2))
|
||||||
|
define(x23, calc(ri*ca3))
|
||||||
|
define(x24, calc(ri*ca4))
|
||||||
|
define(x25, calc(ri*ca5))
|
||||||
|
define(x26, calc(ri*ca6))
|
||||||
|
define(x27, calc(ri*ca7))
|
||||||
|
|
||||||
|
define(x30, calc(Rb*ca0))
|
||||||
|
define(x31, calc(Rb*ca1))
|
||||||
|
define(x32, calc(Rb*ca2))
|
||||||
|
define(x33, calc(Rb*ca3))
|
||||||
|
define(x34, calc(Rb*ca4))
|
||||||
|
define(x35, calc(Rb*ca5))
|
||||||
|
define(x36, calc(Rb*ca6))
|
||||||
|
define(x37, calc(Rb*ca7))
|
||||||
|
|
||||||
|
define(x40, calc(R*ca0))
|
||||||
|
define(x41, calc(R*ca1))
|
||||||
|
define(x42, calc(R*ca2))
|
||||||
|
define(x43, calc(R*ca3))
|
||||||
|
define(x44, calc(R*ca4))
|
||||||
|
define(x45, calc(R*ca5))
|
||||||
|
define(x46, calc(R*ca6))
|
||||||
|
define(x47, calc(R*ca7))
|
||||||
|
|
||||||
|
|
||||||
|
define(y00, calc(r*sa0))
|
||||||
|
define(y01, calc(r*sa1))
|
||||||
|
define(y02, calc(r*sa2))
|
||||||
|
define(y03, calc(r*sa3))
|
||||||
|
define(y04, calc(r*sa4))
|
||||||
|
define(y05, calc(r*sa5))
|
||||||
|
define(y06, calc(r*sa6))
|
||||||
|
define(y07, calc(r*sa7))
|
||||||
|
|
||||||
|
define(y10, calc(rb*sa0))
|
||||||
|
define(y11, calc(rb*sa1))
|
||||||
|
define(y12, calc(rb*sa2))
|
||||||
|
define(y13, calc(rb*sa3))
|
||||||
|
define(y14, calc(rb*sa4))
|
||||||
|
define(y15, calc(rb*sa5))
|
||||||
|
define(y16, calc(rb*sa6))
|
||||||
|
define(y17, calc(rb*sa7))
|
||||||
|
|
||||||
|
define(y20, calc(ri*sa0))
|
||||||
|
define(y21, calc(ri*sa1))
|
||||||
|
define(y22, calc(ri*sa2))
|
||||||
|
define(y23, calc(ri*sa3))
|
||||||
|
define(y24, calc(ri*sa4))
|
||||||
|
define(y25, calc(ri*sa5))
|
||||||
|
define(y26, calc(ri*sa6))
|
||||||
|
define(y27, calc(ri*sa7))
|
||||||
|
|
||||||
|
define(y30, calc(Rb*sa0))
|
||||||
|
define(y31, calc(Rb*sa1))
|
||||||
|
define(y32, calc(Rb*sa2))
|
||||||
|
define(y33, calc(Rb*sa3))
|
||||||
|
define(y34, calc(Rb*sa4))
|
||||||
|
define(y35, calc(Rb*sa5))
|
||||||
|
define(y36, calc(Rb*sa6))
|
||||||
|
define(y37, calc(Rb*sa7))
|
||||||
|
|
||||||
|
define(y40, calc(R*sa0))
|
||||||
|
define(y41, calc(R*sa1))
|
||||||
|
define(y42, calc(R*sa2))
|
||||||
|
define(y43, calc(R*sa3))
|
||||||
|
define(y44, calc(R*sa4))
|
||||||
|
define(y45, calc(R*sa5))
|
||||||
|
define(y46, calc(R*sa6))
|
||||||
|
define(y47, calc(R*sa7))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
define(ex00, calc(r*cea0))
|
||||||
|
define(ex01, calc(r*cea1))
|
||||||
|
define(ex02, calc(r*cea2))
|
||||||
|
define(ex03, calc(r*cea3))
|
||||||
|
define(ex04, calc(r*cea4))
|
||||||
|
define(ex05, calc(r*cea5))
|
||||||
|
define(ex06, calc(r*cea6))
|
||||||
|
define(ex07, calc(r*cea7))
|
||||||
|
|
||||||
|
define(ex10, calc(rb*cea0))
|
||||||
|
define(ex11, calc(rb*cea1))
|
||||||
|
define(ex12, calc(rb*cea2))
|
||||||
|
define(ex13, calc(rb*cea3))
|
||||||
|
define(ex14, calc(rb*cea4))
|
||||||
|
define(ex15, calc(rb*cea5))
|
||||||
|
define(ex16, calc(rb*cea6))
|
||||||
|
define(ex17, calc(rb*cea7))
|
||||||
|
|
||||||
|
define(ex20, calc(ri*cea0))
|
||||||
|
define(ex21, calc(ri*cea1))
|
||||||
|
define(ex22, calc(ri*cea2))
|
||||||
|
define(ex23, calc(ri*cea3))
|
||||||
|
define(ex24, calc(ri*cea4))
|
||||||
|
define(ex25, calc(ri*cea5))
|
||||||
|
define(ex26, calc(ri*cea6))
|
||||||
|
define(ex27, calc(ri*cea7))
|
||||||
|
|
||||||
|
define(ex30, calc(Rb*cea0))
|
||||||
|
define(ex31, calc(Rb*cea1))
|
||||||
|
define(ex32, calc(Rb*cea2))
|
||||||
|
define(ex33, calc(Rb*cea3))
|
||||||
|
define(ex34, calc(Rb*cea4))
|
||||||
|
define(ex35, calc(Rb*cea5))
|
||||||
|
define(ex36, calc(Rb*cea6))
|
||||||
|
define(ex37, calc(Rb*cea7))
|
||||||
|
|
||||||
|
define(ex40, calc(R*cea0))
|
||||||
|
define(ex41, calc(R*cea1))
|
||||||
|
define(ex42, calc(R*cea2))
|
||||||
|
define(ex43, calc(R*cea3))
|
||||||
|
define(ex44, calc(R*cea4))
|
||||||
|
define(ex45, calc(R*cea5))
|
||||||
|
define(ex46, calc(R*cea6))
|
||||||
|
define(ex47, calc(R*cea7))
|
||||||
|
|
||||||
|
|
||||||
|
define(ey00, calc(r*sea0))
|
||||||
|
define(ey01, calc(r*sea1))
|
||||||
|
define(ey02, calc(r*sea2))
|
||||||
|
define(ey03, calc(r*sea3))
|
||||||
|
define(ey04, calc(r*sea4))
|
||||||
|
define(ey05, calc(r*sea5))
|
||||||
|
define(ey06, calc(r*sea6))
|
||||||
|
define(ey07, calc(r*sea7))
|
||||||
|
|
||||||
|
define(ey10, calc(rb*sea0))
|
||||||
|
define(ey11, calc(rb*sea1))
|
||||||
|
define(ey12, calc(rb*sea2))
|
||||||
|
define(ey13, calc(rb*sea3))
|
||||||
|
define(ey14, calc(rb*sea4))
|
||||||
|
define(ey15, calc(rb*sea5))
|
||||||
|
define(ey16, calc(rb*sea6))
|
||||||
|
define(ey17, calc(rb*sea7))
|
||||||
|
|
||||||
|
define(ey20, calc(ri*sea0))
|
||||||
|
define(ey21, calc(ri*sea1))
|
||||||
|
define(ey22, calc(ri*sea2))
|
||||||
|
define(ey23, calc(ri*sea3))
|
||||||
|
define(ey24, calc(ri*sea4))
|
||||||
|
define(ey25, calc(ri*sea5))
|
||||||
|
define(ey26, calc(ri*sea6))
|
||||||
|
define(ey27, calc(ri*sea7))
|
||||||
|
|
||||||
|
define(ey30, calc(Rb*sea0))
|
||||||
|
define(ey31, calc(Rb*sea1))
|
||||||
|
define(ey32, calc(Rb*sea2))
|
||||||
|
define(ey33, calc(Rb*sea3))
|
||||||
|
define(ey34, calc(Rb*sea4))
|
||||||
|
define(ey35, calc(Rb*sea5))
|
||||||
|
define(ey36, calc(Rb*sea6))
|
||||||
|
define(ey37, calc(Rb*sea7))
|
||||||
|
|
||||||
|
define(ey40, calc(R*sea0))
|
||||||
|
define(ey41, calc(R*sea1))
|
||||||
|
define(ey42, calc(R*sea2))
|
||||||
|
define(ey43, calc(R*sea3))
|
||||||
|
define(ey44, calc(R*sea4))
|
||||||
|
define(ey45, calc(R*sea5))
|
||||||
|
define(ey46, calc(R*sea6))
|
||||||
|
define(ey47, calc(R*sea7))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
vertices
|
||||||
|
(
|
||||||
|
vert(0, 0, Zb) vlabel(r0b)
|
||||||
|
vert(0, 0, Zb) vlabel(r0sb)
|
||||||
|
vert(0, 1, Zb) vlabel(r1b)
|
||||||
|
vert(0, 2, Zb) vlabel(r2b)
|
||||||
|
vert(0, 2, Zb) vlabel(r2sb)
|
||||||
|
vert(0, 3, Zb) vlabel(r3b)
|
||||||
|
vert(0, 4, Zb) vlabel(r4b)
|
||||||
|
vert(0, 4, Zb) vlabel(r4sb)
|
||||||
|
vert(0, 5, Zb) vlabel(r5b)
|
||||||
|
vert(0, 6, Zb) vlabel(r6b)
|
||||||
|
vert(0, 6, Zb) vlabel(r6sb)
|
||||||
|
vert(0, 7, Zb) vlabel(r7b)
|
||||||
|
|
||||||
|
vert(1, 0, Zb) vlabel(rb0b)
|
||||||
|
vert(1, 1, Zb) vlabel(rb1b)
|
||||||
|
vert(1, 2, Zb) vlabel(rb2b)
|
||||||
|
vert(1, 3, Zb) vlabel(rb3b)
|
||||||
|
vert(1, 4, Zb) vlabel(rb4b)
|
||||||
|
vert(1, 5, Zb) vlabel(rb5b)
|
||||||
|
vert(1, 6, Zb) vlabel(rb6b)
|
||||||
|
vert(1, 7, Zb) vlabel(rb7b)
|
||||||
|
|
||||||
|
vert(2, 0, Zb) vlabel(ri0b)
|
||||||
|
vert(2, 1, Zb) vlabel(ri1b)
|
||||||
|
vert(2, 2, Zb) vlabel(ri2b)
|
||||||
|
vert(2, 3, Zb) vlabel(ri3b)
|
||||||
|
vert(2, 4, Zb) vlabel(ri4b)
|
||||||
|
vert(2, 5, Zb) vlabel(ri5b)
|
||||||
|
vert(2, 6, Zb) vlabel(ri6b)
|
||||||
|
vert(2, 7, Zb) vlabel(ri7b)
|
||||||
|
|
||||||
|
vert(3, 0, Zb) vlabel(Rb0b)
|
||||||
|
vert(3, 1, Zb) vlabel(Rb1b)
|
||||||
|
vert(3, 2, Zb) vlabel(Rb2b)
|
||||||
|
vert(3, 3, Zb) vlabel(Rb3b)
|
||||||
|
vert(3, 4, Zb) vlabel(Rb4b)
|
||||||
|
vert(3, 5, Zb) vlabel(Rb5b)
|
||||||
|
vert(3, 6, Zb) vlabel(Rb6b)
|
||||||
|
vert(3, 7, Zb) vlabel(Rb7b)
|
||||||
|
|
||||||
|
vert(4, 0, Zb) vlabel(R0b)
|
||||||
|
vert(4, 1, Zb) vlabel(R1b)
|
||||||
|
vert(4, 1, Zb) vlabel(R1sb)
|
||||||
|
vert(4, 2, Zb) vlabel(R2b)
|
||||||
|
vert(4, 3, Zb) vlabel(R3b)
|
||||||
|
vert(4, 3, Zb) vlabel(R3sb)
|
||||||
|
vert(4, 4, Zb) vlabel(R4b)
|
||||||
|
vert(4, 5, Zb) vlabel(R5b)
|
||||||
|
vert(4, 5, Zb) vlabel(R5sb)
|
||||||
|
vert(4, 6, Zb) vlabel(R6b)
|
||||||
|
vert(4, 7, Zb) vlabel(R7b)
|
||||||
|
vert(4, 7, Zb) vlabel(R7sb)
|
||||||
|
|
||||||
|
vert(0, 0, Zt) vlabel(r0t)
|
||||||
|
vert(0, 0, Zt) vlabel(r0st)
|
||||||
|
vert(0, 1, Zt) vlabel(r1t)
|
||||||
|
vert(0, 2, Zt) vlabel(r2t)
|
||||||
|
vert(0, 2, Zt) vlabel(r2st)
|
||||||
|
vert(0, 3, Zt) vlabel(r3t)
|
||||||
|
vert(0, 4, Zt) vlabel(r4t)
|
||||||
|
vert(0, 4, Zt) vlabel(r4st)
|
||||||
|
vert(0, 5, Zt) vlabel(r5t)
|
||||||
|
vert(0, 6, Zt) vlabel(r6t)
|
||||||
|
vert(0, 6, Zt) vlabel(r6st)
|
||||||
|
vert(0, 7, Zt) vlabel(r7t)
|
||||||
|
|
||||||
|
vert(1, 0, Zt) vlabel(rb0t)
|
||||||
|
vert(1, 1, Zt) vlabel(rb1t)
|
||||||
|
vert(1, 2, Zt) vlabel(rb2t)
|
||||||
|
vert(1, 3, Zt) vlabel(rb3t)
|
||||||
|
vert(1, 4, Zt) vlabel(rb4t)
|
||||||
|
vert(1, 5, Zt) vlabel(rb5t)
|
||||||
|
vert(1, 6, Zt) vlabel(rb6t)
|
||||||
|
vert(1, 7, Zt) vlabel(rb7t)
|
||||||
|
|
||||||
|
vert(2, 0, Zt) vlabel(ri0t)
|
||||||
|
vert(2, 1, Zt) vlabel(ri1t)
|
||||||
|
vert(2, 2, Zt) vlabel(ri2t)
|
||||||
|
vert(2, 3, Zt) vlabel(ri3t)
|
||||||
|
vert(2, 4, Zt) vlabel(ri4t)
|
||||||
|
vert(2, 5, Zt) vlabel(ri5t)
|
||||||
|
vert(2, 6, Zt) vlabel(ri6t)
|
||||||
|
vert(2, 7, Zt) vlabel(ri7t)
|
||||||
|
|
||||||
|
vert(3, 0, Zt) vlabel(Rb0t)
|
||||||
|
vert(3, 1, Zt) vlabel(Rb1t)
|
||||||
|
vert(3, 2, Zt) vlabel(Rb2t)
|
||||||
|
vert(3, 3, Zt) vlabel(Rb3t)
|
||||||
|
vert(3, 4, Zt) vlabel(Rb4t)
|
||||||
|
vert(3, 5, Zt) vlabel(Rb5t)
|
||||||
|
vert(3, 6, Zt) vlabel(Rb6t)
|
||||||
|
vert(3, 7, Zt) vlabel(Rb7t)
|
||||||
|
|
||||||
|
vert(4, 0, Zt) vlabel(R0t)
|
||||||
|
vert(4, 1, Zt) vlabel(R1t)
|
||||||
|
vert(4, 1, Zt) vlabel(R1st)
|
||||||
|
vert(4, 2, Zt) vlabel(R2t)
|
||||||
|
vert(4, 3, Zt) vlabel(R3t)
|
||||||
|
vert(4, 3, Zt) vlabel(R3st)
|
||||||
|
vert(4, 4, Zt) vlabel(R4t)
|
||||||
|
vert(4, 5, Zt) vlabel(R5t)
|
||||||
|
vert(4, 5, Zt) vlabel(R5st)
|
||||||
|
vert(4, 6, Zt) vlabel(R6t)
|
||||||
|
vert(4, 7, Zt) vlabel(R7t)
|
||||||
|
vert(4, 7, Zt) vlabel(R7st)
|
||||||
|
);
|
||||||
|
|
||||||
|
blocks
|
||||||
|
(
|
||||||
|
// block0
|
||||||
|
hex2D(r0, r1, rb1, rb0)
|
||||||
|
rotor
|
||||||
|
(Na Nr Nz)
|
||||||
|
simpleGrading (1 1 1)
|
||||||
|
|
||||||
|
// block1
|
||||||
|
hex2D(r1, r2s, rb2, rb1)
|
||||||
|
rotor
|
||||||
|
(Na Nr Nz)
|
||||||
|
simpleGrading (1 1 1)
|
||||||
|
|
||||||
|
// block2
|
||||||
|
hex2D(r2, r3, rb3, rb2)
|
||||||
|
rotor
|
||||||
|
(Na Nr Nz)
|
||||||
|
simpleGrading (1 1 1)
|
||||||
|
|
||||||
|
// block3
|
||||||
|
hex2D(r3, r4s, rb4, rb3)
|
||||||
|
rotor
|
||||||
|
(Na Nr Nz)
|
||||||
|
simpleGrading (1 1 1)
|
||||||
|
|
||||||
|
// block4
|
||||||
|
hex2D(r4, r5, rb5, rb4)
|
||||||
|
rotor
|
||||||
|
(Na Nr Nz)
|
||||||
|
simpleGrading (1 1 1)
|
||||||
|
|
||||||
|
// block5
|
||||||
|
hex2D(r5, r6s, rb6, rb5)
|
||||||
|
rotor
|
||||||
|
(Na Nr Nz)
|
||||||
|
simpleGrading (1 1 1)
|
||||||
|
|
||||||
|
// block6
|
||||||
|
hex2D(r6, r7, rb7, rb6)
|
||||||
|
rotor
|
||||||
|
(Na Nr Nz)
|
||||||
|
simpleGrading (1 1 1)
|
||||||
|
|
||||||
|
// block7
|
||||||
|
hex2D(r7, r0s, rb0, rb7)
|
||||||
|
rotor
|
||||||
|
(Na Nr Nz)
|
||||||
|
simpleGrading (1 1 1)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// block0
|
||||||
|
hex2D(rb0, rb1, ri1, ri0)
|
||||||
|
rotor
|
||||||
|
(Na Ni Nz)
|
||||||
|
simpleGrading (1 1 1)
|
||||||
|
|
||||||
|
// block1
|
||||||
|
hex2D(rb1, rb2, ri2, ri1)
|
||||||
|
rotor
|
||||||
|
(Na Ni Nz)
|
||||||
|
simpleGrading (1 1 1)
|
||||||
|
|
||||||
|
// block2
|
||||||
|
hex2D(rb2, rb3, ri3, ri2)
|
||||||
|
rotor
|
||||||
|
(Na Ni Nz)
|
||||||
|
simpleGrading (1 1 1)
|
||||||
|
|
||||||
|
// block3
|
||||||
|
hex2D(rb3, rb4, ri4, ri3)
|
||||||
|
rotor
|
||||||
|
(Na Ni Nz)
|
||||||
|
simpleGrading (1 1 1)
|
||||||
|
|
||||||
|
// block4
|
||||||
|
hex2D(rb4, rb5, ri5, ri4)
|
||||||
|
rotor
|
||||||
|
(Na Ni Nz)
|
||||||
|
simpleGrading (1 1 1)
|
||||||
|
|
||||||
|
// block5
|
||||||
|
hex2D(rb5, rb6, ri6, ri5)
|
||||||
|
rotor
|
||||||
|
(Na Ni Nz)
|
||||||
|
simpleGrading (1 1 1)
|
||||||
|
|
||||||
|
// block6
|
||||||
|
hex2D(rb6, rb7, ri7, ri6)
|
||||||
|
rotor
|
||||||
|
(Na Ni Nz)
|
||||||
|
simpleGrading (1 1 1)
|
||||||
|
|
||||||
|
// block7
|
||||||
|
hex2D(rb7, rb0, ri0, ri7)
|
||||||
|
rotor
|
||||||
|
(Na Ni Nz)
|
||||||
|
simpleGrading (1 1 1)
|
||||||
|
|
||||||
|
|
||||||
|
// block0
|
||||||
|
hex2D(ri0, ri1, Rb1, Rb0)
|
||||||
|
(Na Ni Nz)
|
||||||
|
simpleGrading (1 1 1)
|
||||||
|
|
||||||
|
// block1
|
||||||
|
hex2D(ri1, ri2, Rb2, Rb1)
|
||||||
|
(Na Ni Nz)
|
||||||
|
simpleGrading (1 1 1)
|
||||||
|
|
||||||
|
// block2
|
||||||
|
hex2D(ri2, ri3, Rb3, Rb2)
|
||||||
|
(Na Ni Nz)
|
||||||
|
simpleGrading (1 1 1)
|
||||||
|
|
||||||
|
// block3
|
||||||
|
hex2D(ri3, ri4, Rb4, Rb3)
|
||||||
|
(Na Ni Nz)
|
||||||
|
simpleGrading (1 1 1)
|
||||||
|
|
||||||
|
// block4
|
||||||
|
hex2D(ri4, ri5, Rb5, Rb4)
|
||||||
|
(Na Ni Nz)
|
||||||
|
simpleGrading (1 1 1)
|
||||||
|
|
||||||
|
// block5
|
||||||
|
hex2D(ri5, ri6, Rb6, Rb5)
|
||||||
|
(Na Ni Nz)
|
||||||
|
simpleGrading (1 1 1)
|
||||||
|
|
||||||
|
// block6
|
||||||
|
hex2D(ri6, ri7, Rb7, Rb6)
|
||||||
|
(Na Ni Nz)
|
||||||
|
simpleGrading (1 1 1)
|
||||||
|
|
||||||
|
// block7
|
||||||
|
hex2D(ri7, ri0, Rb0, Rb7)
|
||||||
|
(Na Ni Nz)
|
||||||
|
simpleGrading (1 1 1)
|
||||||
|
|
||||||
|
|
||||||
|
// block0
|
||||||
|
hex2D(Rb0, Rb1, R1s, R0)
|
||||||
|
(Na NR Nz)
|
||||||
|
simpleGrading (1 1 1)
|
||||||
|
|
||||||
|
// block1
|
||||||
|
hex2D(Rb1, Rb2, R2, R1)
|
||||||
|
(Na NR Nz)
|
||||||
|
simpleGrading (1 1 1)
|
||||||
|
|
||||||
|
// block2
|
||||||
|
hex2D(Rb2, Rb3, R3s, R2)
|
||||||
|
(Na NR Nz)
|
||||||
|
simpleGrading (1 1 1)
|
||||||
|
|
||||||
|
// block3
|
||||||
|
hex2D(Rb3, Rb4, R4, R3)
|
||||||
|
(Na NR Nz)
|
||||||
|
simpleGrading (1 1 1)
|
||||||
|
|
||||||
|
// block4
|
||||||
|
hex2D(Rb4, Rb5, R5s, R4)
|
||||||
|
(Na NR Nz)
|
||||||
|
simpleGrading (1 1 1)
|
||||||
|
|
||||||
|
// block5
|
||||||
|
hex2D(Rb5, Rb6, R6, R5)
|
||||||
|
(Na NR Nz)
|
||||||
|
simpleGrading (1 1 1)
|
||||||
|
|
||||||
|
// block6
|
||||||
|
hex2D(Rb6, Rb7, R7s, R6)
|
||||||
|
(Na NR Nz)
|
||||||
|
simpleGrading (1 1 1)
|
||||||
|
|
||||||
|
// block7
|
||||||
|
hex2D(Rb7, Rb0, R0, R7)
|
||||||
|
(Na NR Nz)
|
||||||
|
simpleGrading (1 1 1)
|
||||||
|
);
|
||||||
|
|
||||||
|
edges
|
||||||
|
(
|
||||||
|
arc r0b r1b evert(0, 0, Zb)
|
||||||
|
arc r1b r2sb evert(0, 1, Zb)
|
||||||
|
arc r2b r3b evert(0, 2, Zb)
|
||||||
|
arc r3b r4sb evert(0, 3, Zb)
|
||||||
|
arc r4b r5b evert(0, 4, Zb)
|
||||||
|
arc r5b r6sb evert(0, 5, Zb)
|
||||||
|
arc r6b r7b evert(0, 6, Zb)
|
||||||
|
arc r7b r0sb evert(0, 7, Zb)
|
||||||
|
|
||||||
|
arc rb0b rb1b evert(1, 0, Zb)
|
||||||
|
arc rb1b rb2b evert(1, 1, Zb)
|
||||||
|
arc rb2b rb3b evert(1, 2, Zb)
|
||||||
|
arc rb3b rb4b evert(1, 3, Zb)
|
||||||
|
arc rb4b rb5b evert(1, 4, Zb)
|
||||||
|
arc rb5b rb6b evert(1, 5, Zb)
|
||||||
|
arc rb6b rb7b evert(1, 6, Zb)
|
||||||
|
arc rb7b rb0b evert(1, 7, Zb)
|
||||||
|
|
||||||
|
arc ri0b ri1b evert(2, 0, Zb)
|
||||||
|
arc ri1b ri2b evert(2, 1, Zb)
|
||||||
|
arc ri2b ri3b evert(2, 2, Zb)
|
||||||
|
arc ri3b ri4b evert(2, 3, Zb)
|
||||||
|
arc ri4b ri5b evert(2, 4, Zb)
|
||||||
|
arc ri5b ri6b evert(2, 5, Zb)
|
||||||
|
arc ri6b ri7b evert(2, 6, Zb)
|
||||||
|
arc ri7b ri0b evert(2, 7, Zb)
|
||||||
|
|
||||||
|
arc Rb0b Rb1b evert(3, 0, Zb)
|
||||||
|
arc Rb1b Rb2b evert(3, 1, Zb)
|
||||||
|
arc Rb2b Rb3b evert(3, 2, Zb)
|
||||||
|
arc Rb3b Rb4b evert(3, 3, Zb)
|
||||||
|
arc Rb4b Rb5b evert(3, 4, Zb)
|
||||||
|
arc Rb5b Rb6b evert(3, 5, Zb)
|
||||||
|
arc Rb6b Rb7b evert(3, 6, Zb)
|
||||||
|
arc Rb7b Rb0b evert(3, 7, Zb)
|
||||||
|
|
||||||
|
arc R0b R1sb evert(4, 0, Zb)
|
||||||
|
arc R1b R2b evert(4, 1, Zb)
|
||||||
|
arc R2b R3sb evert(4, 2, Zb)
|
||||||
|
arc R3b R4b evert(4, 3, Zb)
|
||||||
|
arc R4b R5sb evert(4, 4, Zb)
|
||||||
|
arc R5b R6b evert(4, 5, Zb)
|
||||||
|
arc R6b R7sb evert(4, 6, Zb)
|
||||||
|
arc R7b R0b evert(4, 7, Zb)
|
||||||
|
|
||||||
|
|
||||||
|
arc r0t r1t evert(0, 0, Zt)
|
||||||
|
arc r1t r2st evert(0, 1, Zt)
|
||||||
|
arc r2t r3t evert(0, 2, Zt)
|
||||||
|
arc r3t r4st evert(0, 3, Zt)
|
||||||
|
arc r4t r5t evert(0, 4, Zt)
|
||||||
|
arc r5t r6st evert(0, 5, Zt)
|
||||||
|
arc r6t r7t evert(0, 6, Zt)
|
||||||
|
arc r7t r0st evert(0, 7, Zt)
|
||||||
|
|
||||||
|
arc rb0t rb1t evert(1, 0, Zt)
|
||||||
|
arc rb1t rb2t evert(1, 1, Zt)
|
||||||
|
arc rb2t rb3t evert(1, 2, Zt)
|
||||||
|
arc rb3t rb4t evert(1, 3, Zt)
|
||||||
|
arc rb4t rb5t evert(1, 4, Zt)
|
||||||
|
arc rb5t rb6t evert(1, 5, Zt)
|
||||||
|
arc rb6t rb7t evert(1, 6, Zt)
|
||||||
|
arc rb7t rb0t evert(1, 7, Zt)
|
||||||
|
|
||||||
|
arc ri0t ri1t evert(2, 0, Zt)
|
||||||
|
arc ri1t ri2t evert(2, 1, Zt)
|
||||||
|
arc ri2t ri3t evert(2, 2, Zt)
|
||||||
|
arc ri3t ri4t evert(2, 3, Zt)
|
||||||
|
arc ri4t ri5t evert(2, 4, Zt)
|
||||||
|
arc ri5t ri6t evert(2, 5, Zt)
|
||||||
|
arc ri6t ri7t evert(2, 6, Zt)
|
||||||
|
arc ri7t ri0t evert(2, 7, Zt)
|
||||||
|
|
||||||
|
arc Rb0t Rb1t evert(3, 0, Zt)
|
||||||
|
arc Rb1t Rb2t evert(3, 1, Zt)
|
||||||
|
arc Rb2t Rb3t evert(3, 2, Zt)
|
||||||
|
arc Rb3t Rb4t evert(3, 3, Zt)
|
||||||
|
arc Rb4t Rb5t evert(3, 4, Zt)
|
||||||
|
arc Rb5t Rb6t evert(3, 5, Zt)
|
||||||
|
arc Rb6t Rb7t evert(3, 6, Zt)
|
||||||
|
arc Rb7t Rb0t evert(3, 7, Zt)
|
||||||
|
|
||||||
|
arc R0t R1st evert(4, 0, Zt)
|
||||||
|
arc R1t R2t evert(4, 1, Zt)
|
||||||
|
arc R2t R3st evert(4, 2, Zt)
|
||||||
|
arc R3t R4t evert(4, 3, Zt)
|
||||||
|
arc R4t R5st evert(4, 4, Zt)
|
||||||
|
arc R5t R6t evert(4, 5, Zt)
|
||||||
|
arc R6t R7st evert(4, 6, Zt)
|
||||||
|
arc R7t R0t evert(4, 7, Zt)
|
||||||
|
);
|
||||||
|
|
||||||
|
patches
|
||||||
|
(
|
||||||
|
wall rotor
|
||||||
|
(
|
||||||
|
quad2D(r0, r1)
|
||||||
|
quad2D(r1, r2s)
|
||||||
|
quad2D(r2, r3)
|
||||||
|
quad2D(r3, r4s)
|
||||||
|
quad2D(r4, r5)
|
||||||
|
quad2D(r5, r6s)
|
||||||
|
quad2D(r6, r7)
|
||||||
|
quad2D(r7, r0s)
|
||||||
|
|
||||||
|
quad2D(r0, rb0)
|
||||||
|
quad2D(r0s, rb0)
|
||||||
|
|
||||||
|
quad2D(r2, rb2)
|
||||||
|
quad2D(r2s, rb2)
|
||||||
|
|
||||||
|
quad2D(r4, rb4)
|
||||||
|
quad2D(r4s, rb4)
|
||||||
|
|
||||||
|
quad2D(r6, rb6)
|
||||||
|
quad2D(r6s, rb6)
|
||||||
|
)
|
||||||
|
|
||||||
|
wall stator
|
||||||
|
(
|
||||||
|
quad2D(R0, R1s)
|
||||||
|
quad2D(R1, R2)
|
||||||
|
quad2D(R2, R3s)
|
||||||
|
quad2D(R3, R4)
|
||||||
|
quad2D(R4, R5s)
|
||||||
|
quad2D(R5, R6)
|
||||||
|
quad2D(R6, R7s)
|
||||||
|
quad2D(R7, R0)
|
||||||
|
|
||||||
|
quad2D(R1, Rb1)
|
||||||
|
quad2D(R1s, Rb1)
|
||||||
|
|
||||||
|
quad2D(R3, Rb3)
|
||||||
|
quad2D(R3s, Rb3)
|
||||||
|
|
||||||
|
quad2D(R5, Rb5)
|
||||||
|
quad2D(R5s, Rb5)
|
||||||
|
|
||||||
|
quad2D(R7, Rb7)
|
||||||
|
quad2D(R7s, Rb7)
|
||||||
|
)
|
||||||
|
|
||||||
|
empty front
|
||||||
|
(
|
||||||
|
frontQuad(r0, r1, rb1, rb0)
|
||||||
|
frontQuad(r1, r2s, rb2, rb1)
|
||||||
|
frontQuad(r2, r3, rb3, rb2)
|
||||||
|
frontQuad(r3, r4s, rb4, rb3)
|
||||||
|
frontQuad(r4, r5, rb5, rb4)
|
||||||
|
frontQuad(r5, r6s, rb6, rb5)
|
||||||
|
frontQuad(r6, r7, rb7, rb6)
|
||||||
|
frontQuad(r7, r0s, rb0, rb7)
|
||||||
|
frontQuad(rb0, rb1, ri1, ri0)
|
||||||
|
frontQuad(rb1, rb2, ri2, ri1)
|
||||||
|
frontQuad(rb2, rb3, ri3, ri2)
|
||||||
|
frontQuad(rb3, rb4, ri4, ri3)
|
||||||
|
frontQuad(rb4, rb5, ri5, ri4)
|
||||||
|
frontQuad(rb5, rb6, ri6, ri5)
|
||||||
|
frontQuad(rb6, rb7, ri7, ri6)
|
||||||
|
frontQuad(rb7, rb0, ri0, ri7)
|
||||||
|
frontQuad(ri0, ri1, Rb1, Rb0)
|
||||||
|
frontQuad(ri1, ri2, Rb2, Rb1)
|
||||||
|
frontQuad(ri2, ri3, Rb3, Rb2)
|
||||||
|
frontQuad(ri3, ri4, Rb4, Rb3)
|
||||||
|
frontQuad(ri4, ri5, Rb5, Rb4)
|
||||||
|
frontQuad(ri5, ri6, Rb6, Rb5)
|
||||||
|
frontQuad(ri6, ri7, Rb7, Rb6)
|
||||||
|
frontQuad(ri7, ri0, Rb0, Rb7)
|
||||||
|
frontQuad(Rb0, Rb1, R1s, R0)
|
||||||
|
frontQuad(Rb1, Rb2, R2, R1)
|
||||||
|
frontQuad(Rb2, Rb3, R3s, R2)
|
||||||
|
frontQuad(Rb3, Rb4, R4, R3)
|
||||||
|
frontQuad(Rb4, Rb5, R5s, R4)
|
||||||
|
frontQuad(Rb5, Rb6, R6, R5)
|
||||||
|
frontQuad(Rb6, Rb7, R7s, R6)
|
||||||
|
frontQuad(Rb7, Rb0, R0, R7)
|
||||||
|
)
|
||||||
|
|
||||||
|
empty back
|
||||||
|
(
|
||||||
|
backQuad(r0, r1, rb1, rb0)
|
||||||
|
backQuad(r1, r2s, rb2, rb1)
|
||||||
|
backQuad(r2, r3, rb3, rb2)
|
||||||
|
backQuad(r3, r4s, rb4, rb3)
|
||||||
|
backQuad(r4, r5, rb5, rb4)
|
||||||
|
backQuad(r5, r6s, rb6, rb5)
|
||||||
|
backQuad(r6, r7, rb7, rb6)
|
||||||
|
backQuad(r7, r0s, rb0, rb7)
|
||||||
|
backQuad(rb0, rb1, ri1, ri0)
|
||||||
|
backQuad(rb1, rb2, ri2, ri1)
|
||||||
|
backQuad(rb2, rb3, ri3, ri2)
|
||||||
|
backQuad(rb3, rb4, ri4, ri3)
|
||||||
|
backQuad(rb4, rb5, ri5, ri4)
|
||||||
|
backQuad(rb5, rb6, ri6, ri5)
|
||||||
|
backQuad(rb6, rb7, ri7, ri6)
|
||||||
|
backQuad(rb7, rb0, ri0, ri7)
|
||||||
|
backQuad(ri0, ri1, Rb1, Rb0)
|
||||||
|
backQuad(ri1, ri2, Rb2, Rb1)
|
||||||
|
backQuad(ri2, ri3, Rb3, Rb2)
|
||||||
|
backQuad(ri3, ri4, Rb4, Rb3)
|
||||||
|
backQuad(ri4, ri5, Rb5, Rb4)
|
||||||
|
backQuad(ri5, ri6, Rb6, Rb5)
|
||||||
|
backQuad(ri6, ri7, Rb7, Rb6)
|
||||||
|
backQuad(ri7, ri0, Rb0, Rb7)
|
||||||
|
backQuad(Rb0, Rb1, R1s, R0)
|
||||||
|
backQuad(Rb1, Rb2, R2, R1)
|
||||||
|
backQuad(Rb2, Rb3, R3s, R2)
|
||||||
|
backQuad(Rb3, Rb4, R4, R3)
|
||||||
|
backQuad(Rb4, Rb5, R5s, R4)
|
||||||
|
backQuad(Rb5, Rb6, R6, R5)
|
||||||
|
backQuad(Rb6, Rb7, R7s, R6)
|
||||||
|
backQuad(Rb7, Rb0, R0, R7)
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,56 @@
|
|||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 1.4.1 |
|
||||||
|
| \\ / A nd | Web: http://www.openfoam.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
|
||||||
|
root "..";
|
||||||
|
case "mixerVessel2D";
|
||||||
|
instance "constant";
|
||||||
|
local "polyMesh";
|
||||||
|
|
||||||
|
class polyBoundaryMesh;
|
||||||
|
object boundary;
|
||||||
|
}
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
4
|
||||||
|
(
|
||||||
|
rotor
|
||||||
|
{
|
||||||
|
type wall;
|
||||||
|
nFaces 192;
|
||||||
|
startFace 5952;
|
||||||
|
}
|
||||||
|
|
||||||
|
stator
|
||||||
|
{
|
||||||
|
type wall;
|
||||||
|
nFaces 192;
|
||||||
|
startFace 6144;
|
||||||
|
}
|
||||||
|
|
||||||
|
front
|
||||||
|
{
|
||||||
|
type empty;
|
||||||
|
nFaces 3072;
|
||||||
|
startFace 6336;
|
||||||
|
}
|
||||||
|
|
||||||
|
back
|
||||||
|
{
|
||||||
|
type empty;
|
||||||
|
nFaces 3072;
|
||||||
|
startFace 9408;
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
3054
tutorials/MRFSimpleFoam/mixerVessel2D/constant/polyMesh/sets/rotor
Normal file
3054
tutorials/MRFSimpleFoam/mixerVessel2D/constant/polyMesh/sets/rotor
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,46 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 1.4 |
|
||||||
|
| \\ / A nd | Web: http://www.openfoam.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
|
||||||
|
root "";
|
||||||
|
case "";
|
||||||
|
instance "";
|
||||||
|
local "";
|
||||||
|
|
||||||
|
class dictionary;
|
||||||
|
object transportProperties;
|
||||||
|
}
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
transportModel Newtonian;
|
||||||
|
|
||||||
|
nu nu [0 2 -1 0 0 0 0] 1e-05;
|
||||||
|
|
||||||
|
CrossPowerLawCoeffs
|
||||||
|
{
|
||||||
|
nu0 nu0 [0 2 -1 0 0 0 0] 1e-06;
|
||||||
|
nuInf nuInf [0 2 -1 0 0 0 0] 1e-06;
|
||||||
|
m m [0 0 1 0 0 0 0] 1;
|
||||||
|
n n [0 0 0 0 0 0 0] 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
BirdCarreauCoeffs
|
||||||
|
{
|
||||||
|
nu0 nu0 [0 2 -1 0 0 0 0] 1e-06;
|
||||||
|
nuInf nuInf [0 2 -1 0 0 0 0] 1e-06;
|
||||||
|
k k [0 0 1 0 0 0 0] 0;
|
||||||
|
n n [0 0 0 0 0 0 0] 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,198 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 1.4 |
|
||||||
|
| \\ / A nd | Web: http://www.openfoam.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
|
||||||
|
root "";
|
||||||
|
case "";
|
||||||
|
instance "";
|
||||||
|
local "";
|
||||||
|
|
||||||
|
class dictionary;
|
||||||
|
object turbulenceProperties;
|
||||||
|
}
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
turbulenceModel kEpsilon;
|
||||||
|
|
||||||
|
turbulence on;
|
||||||
|
|
||||||
|
laminarCoeffs
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
kEpsilonCoeffs
|
||||||
|
{
|
||||||
|
Cmu Cmu [0 0 0 0 0 0 0] 0.09;
|
||||||
|
C1 C1 [0 0 0 0 0 0 0] 1.44;
|
||||||
|
C2 C2 [0 0 0 0 0 0 0] 1.92;
|
||||||
|
alphaEps alphaEps [0 0 0 0 0 0 0] 0.76923;
|
||||||
|
}
|
||||||
|
|
||||||
|
RNGkEpsilonCoeffs
|
||||||
|
{
|
||||||
|
Cmu Cmu [0 0 0 0 0 0 0] 0.0845;
|
||||||
|
C1 C1 [0 0 0 0 0 0 0] 1.42;
|
||||||
|
C2 C2 [0 0 0 0 0 0 0] 1.68;
|
||||||
|
alphak alphaK [0 0 0 0 0 0 0] 1.39;
|
||||||
|
alphaEps alphaEps [0 0 0 0 0 0 0] 1.39;
|
||||||
|
eta0 eta0 [0 0 0 0 0 0 0] 4.38;
|
||||||
|
beta beta [0 0 0 0 0 0 0] 0.012;
|
||||||
|
}
|
||||||
|
|
||||||
|
kOmegaSSTCoeffs
|
||||||
|
{
|
||||||
|
alphaK1 alphaK1 [0 0 0 0 0 0 0] 0.85034;
|
||||||
|
alphaK2 alphaK1 [0 0 0 0 0 0 0] 1.0;
|
||||||
|
alphaOmega1 alphaOmega1 [0 0 0 0 0 0 0] 0.5;
|
||||||
|
alphaOmega2 alphaOmega2 [0 0 0 0 0 0 0] 0.85616;
|
||||||
|
gamma1 gamma1 [0 0 0 0 0 0 0] 0.5532;
|
||||||
|
gamma2 gamma2 [0 0 0 0 0 0 0] 0.4403;
|
||||||
|
beta1 beta1 [0 0 0 0 0 0 0] 0.0750;
|
||||||
|
beta2 beta2 [0 0 0 0 0 0 0] 0.0828;
|
||||||
|
betaStar betaStar [0 0 0 0 0 0 0] 0.09;
|
||||||
|
a1 a1 [0 0 0 0 0 0 0] 0.31;
|
||||||
|
c1 c1 [0 0 0 0 0 0 0] 10;
|
||||||
|
|
||||||
|
Cmu Cmu [0 0 0 0 0 0 0] 0.09;
|
||||||
|
}
|
||||||
|
|
||||||
|
NonlinearKEShihCoeffs
|
||||||
|
{
|
||||||
|
Cmu Cmu [0 0 0 0 0 0 0] 0.09;
|
||||||
|
C1 C1 [0 0 0 0 0 0 0] 1.44;
|
||||||
|
C2 C2 [0 0 0 0 0 0 0] 1.92;
|
||||||
|
alphak alphak [0 0 0 0 0 0 0] 1;
|
||||||
|
alphaEps alphaEps [0 0 0 0 0 0 0] 0.76932;
|
||||||
|
A1 A1 [0 0 0 0 0 0 0] 1.25;
|
||||||
|
A2 A2 [0 0 0 0 0 0 0] 1000;
|
||||||
|
Ctau1 Ctau1 [0 0 0 0 0 0 0] -4;
|
||||||
|
Ctau2 Ctau2 [0 0 0 0 0 0 0] 13;
|
||||||
|
Ctau3 Ctau3 [0 0 0 0 0 0 0] -2;
|
||||||
|
alphaKsi alphaKsi [0 0 0 0 0 0 0] 0.9;
|
||||||
|
}
|
||||||
|
|
||||||
|
LienCubicKECoeffs
|
||||||
|
{
|
||||||
|
C1 C1 [0 0 0 0 0 0 0] 1.44;
|
||||||
|
C2 C2 [0 0 0 0 0 0 0] 1.92;
|
||||||
|
alphak alphak [0 0 0 0 0 0 0] 1;
|
||||||
|
alphaEps alphaEps [0 0 0 0 0 0 0] 0.76923;
|
||||||
|
A1 A1 [0 0 0 0 0 0 0] 1.25;
|
||||||
|
A2 A2 [0 0 0 0 0 0 0] 1000;
|
||||||
|
Ctau1 Ctau1 [0 0 0 0 0 0 0] -4;
|
||||||
|
Ctau2 Ctau2 [0 0 0 0 0 0 0] 13;
|
||||||
|
Ctau3 Ctau3 [0 0 0 0 0 0 0] -2;
|
||||||
|
alphaKsi alphaKsi [0 0 0 0 0 0 0] 0.9;
|
||||||
|
}
|
||||||
|
|
||||||
|
QZetaCoeffs
|
||||||
|
{
|
||||||
|
Cmu Cmu [0 0 0 0 0 0 0] 0.09;
|
||||||
|
C1 C1 [0 0 0 0 0 0 0] 1.44;
|
||||||
|
C2 C2 [0 0 0 0 0 0 0] 1.92;
|
||||||
|
alphaZeta alphaZeta [0 0 0 0 0 0 0] 0.76923;
|
||||||
|
anisotropic no;
|
||||||
|
}
|
||||||
|
|
||||||
|
LaunderSharmaKECoeffs
|
||||||
|
{
|
||||||
|
Cmu Cmu [0 0 0 0 0 0 0] 0.09;
|
||||||
|
C1 C1 [0 0 0 0 0 0 0] 1.44;
|
||||||
|
C2 C2 [0 0 0 0 0 0 0] 1.92;
|
||||||
|
alphaEps alphaEps [0 0 0 0 0 0 0] 0.76923;
|
||||||
|
}
|
||||||
|
|
||||||
|
LamBremhorstKECoeffs
|
||||||
|
{
|
||||||
|
Cmu Cmu [0 0 0 0 0 0 0] 0.09;
|
||||||
|
C1 C1 [0 0 0 0 0 0 0] 1.44;
|
||||||
|
C2 C2 [0 0 0 0 0 0 0] 1.92;
|
||||||
|
alphaEps alphaEps [0 0 0 0 0 0 0] 0.76923;
|
||||||
|
}
|
||||||
|
|
||||||
|
LienCubicKELowReCoeffs
|
||||||
|
{
|
||||||
|
Cmu Cmu [0 0 0 0 0 0 0] 0.09;
|
||||||
|
C1 C1 [0 0 0 0 0 0 0] 1.44;
|
||||||
|
C2 C2 [0 0 0 0 0 0 0] 1.92;
|
||||||
|
alphak alphak [0 0 0 0 0 0 0] 1;
|
||||||
|
alphaEps alphaEps [0 0 0 0 0 0 0] 0.76923;
|
||||||
|
A1 A1 [0 0 0 0 0 0 0] 1.25;
|
||||||
|
A2 A2 [0 0 0 0 0 0 0] 1000;
|
||||||
|
Ctau1 Ctau1 [0 0 0 0 0 0 0] -4;
|
||||||
|
Ctau2 Ctau2 [0 0 0 0 0 0 0] 13;
|
||||||
|
Ctau3 Ctau3 [0 0 0 0 0 0 0] -2;
|
||||||
|
alphaKsi alphaKsi [0 0 0 0 0 0 0] 0.9;
|
||||||
|
Am Am [0 0 0 0 0 0 0] 0.016;
|
||||||
|
Aepsilon Aepsilon [0 0 0 0 0 0 0] 0.263;
|
||||||
|
Amu Amu [0 0 0 0 0 0 0] 0.00222;
|
||||||
|
}
|
||||||
|
|
||||||
|
LienLeschzinerLowReCoeffs
|
||||||
|
{
|
||||||
|
Cmu Cmu [0 0 0 0 0 0 0] 0.09;
|
||||||
|
C1 C1 [0 0 0 0 0 0 0] 1.44;
|
||||||
|
C2 C2 [0 0 0 0 0 0 0] 1.92;
|
||||||
|
alphak alphak [0 0 0 0 0 0 0] 1;
|
||||||
|
alphaEps alphaEps [0 0 0 0 0 0 0] 0.76923;
|
||||||
|
Am Am [0 0 0 0 0 0 0] 0.016;
|
||||||
|
Aepsilon Aepsilon [0 0 0 0 0 0 0] 0.263;
|
||||||
|
Amu Amu [0 0 0 0 0 0 0] 0.00222;
|
||||||
|
}
|
||||||
|
|
||||||
|
LRRCoeffs
|
||||||
|
{
|
||||||
|
Cmu Cmu [0 0 0 0 0 0 0] 0.09;
|
||||||
|
Clrr1 Clrr1 [0 0 0 0 0 0 0] 1.8;
|
||||||
|
Clrr2 Clrr2 [0 0 0 0 0 0 0] 0.6;
|
||||||
|
C1 C1 [0 0 0 0 0 0 0] 1.44;
|
||||||
|
C2 C2 [0 0 0 0 0 0 0] 1.92;
|
||||||
|
Cs Cs [0 0 0 0 0 0 0] 0.25;
|
||||||
|
Ceps Ceps [0 0 0 0 0 0 0] 0.15;
|
||||||
|
alphaEps alphaEps [0 0 0 0 0 0 0] 0.76923;
|
||||||
|
}
|
||||||
|
|
||||||
|
LaunderGibsonRSTMCoeffs
|
||||||
|
{
|
||||||
|
Cmu Cmu [0 0 0 0 0 0 0] 0.09;
|
||||||
|
Clg1 Clg1 [0 0 0 0 0 0 0] 1.8;
|
||||||
|
Clg2 Clg2 [0 0 0 0 0 0 0] 0.6;
|
||||||
|
C1 C1 [0 0 0 0 0 0 0] 1.44;
|
||||||
|
C2 C2 [0 0 0 0 0 0 0] 1.92;
|
||||||
|
C1Ref C1Ref [0 0 0 0 0 0 0] 0.5;
|
||||||
|
C2Ref C2Ref [0 0 0 0 0 0 0] 0.3;
|
||||||
|
Cs Cs [0 0 0 0 0 0 0] 0.25;
|
||||||
|
Ceps Ceps [0 0 0 0 0 0 0] 0.15;
|
||||||
|
alphaEps alphaEps [0 0 0 0 0 0 0] 0.76923;
|
||||||
|
alphaR alphaR [0 0 0 0 0 0 0] 1.22;
|
||||||
|
}
|
||||||
|
|
||||||
|
SpalartAllmarasCoeffs
|
||||||
|
{
|
||||||
|
alphaNut alphaNut [0 0 0 0 0 0 0] 1.5;
|
||||||
|
Cb1 Cb1 [0 0 0 0 0 0 0] 0.1355;
|
||||||
|
Cb2 Cb2 [0 0 0 0 0 0 0] 0.622;
|
||||||
|
Cw2 Cw2 [0 0 0 0 0 0 0] 0.3;
|
||||||
|
Cw3 Cw3 [0 0 0 0 0 0 0] 2;
|
||||||
|
Cv1 Cv1 [0 0 0 0 0 0 0] 7.1;
|
||||||
|
Cv2 Cv2 [0 0 0 0 0 0 0] 5.0;
|
||||||
|
}
|
||||||
|
|
||||||
|
wallFunctionCoeffs
|
||||||
|
{
|
||||||
|
kappa kappa [0 0 0 0 0 0 0] 0.4187;
|
||||||
|
E E [0 0 0 0 0 0 0] 9;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
8
tutorials/MRFSimpleFoam/mixerVessel2D/makeMesh
Executable file
8
tutorials/MRFSimpleFoam/mixerVessel2D/makeMesh
Executable file
@ -0,0 +1,8 @@
|
|||||||
|
m4 < constant/polyMesh/blockMeshDict.m4 > constant/polyMesh/blockMeshDict
|
||||||
|
blockMesh .. mixerVessel2D
|
||||||
|
cellSet .. mixerVessel2D
|
||||||
|
cp system/faceSetDict_rotorFaces system/faceSetDict
|
||||||
|
faceSet .. mixerVessel2D
|
||||||
|
cp system/faceSetDict_noBoundaryFaces system/faceSetDict
|
||||||
|
faceSet .. mixerVessel2D
|
||||||
|
setsToZones .. mixerVessel2D -noFlipMap
|
||||||
45
tutorials/MRFSimpleFoam/mixerVessel2D/system/cellSetDict
Normal file
45
tutorials/MRFSimpleFoam/mixerVessel2D/system/cellSetDict
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 1.4 |
|
||||||
|
| \\ / A nd | Web: http://www.openfoam.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
|
||||||
|
root "";
|
||||||
|
case "";
|
||||||
|
instance "";
|
||||||
|
local "";
|
||||||
|
|
||||||
|
class dictionary;
|
||||||
|
object cellSetDict;
|
||||||
|
}
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
// Name of set to operate on
|
||||||
|
name rotor;
|
||||||
|
|
||||||
|
// One of clear/new/invert/add/delete|subset/list
|
||||||
|
action new;
|
||||||
|
|
||||||
|
// Actions to apply to cellSet. These are all the topoSetSource's ending
|
||||||
|
// in ..ToCell (see the meshTools library).
|
||||||
|
|
||||||
|
topoSetSources
|
||||||
|
(
|
||||||
|
// Cells in cell zone
|
||||||
|
zoneToCell
|
||||||
|
{
|
||||||
|
name rotor; // name of cellZone
|
||||||
|
}
|
||||||
|
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
56
tutorials/MRFSimpleFoam/mixerVessel2D/system/controlDict
Normal file
56
tutorials/MRFSimpleFoam/mixerVessel2D/system/controlDict
Normal file
@ -0,0 +1,56 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 1.4 |
|
||||||
|
| \\ / A nd | Web: http://www.openfoam.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
|
||||||
|
root "";
|
||||||
|
case "";
|
||||||
|
instance "";
|
||||||
|
local "";
|
||||||
|
|
||||||
|
class dictionary;
|
||||||
|
object controlDict;
|
||||||
|
}
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
application simpleFoam;
|
||||||
|
|
||||||
|
startFrom startTime;
|
||||||
|
|
||||||
|
startTime 0;
|
||||||
|
|
||||||
|
stopAt endTime;
|
||||||
|
|
||||||
|
endTime 500;
|
||||||
|
|
||||||
|
deltaT 1;
|
||||||
|
|
||||||
|
writeControl timeStep;
|
||||||
|
|
||||||
|
writeInterval 50;
|
||||||
|
|
||||||
|
purgeWrite 0;
|
||||||
|
|
||||||
|
writeFormat ascii;
|
||||||
|
|
||||||
|
writePrecision 6;
|
||||||
|
|
||||||
|
writeCompression uncompressed;
|
||||||
|
|
||||||
|
timeFormat general;
|
||||||
|
|
||||||
|
timePrecision 6;
|
||||||
|
|
||||||
|
runTimeModifiable yes;
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
42
tutorials/MRFSimpleFoam/mixerVessel2D/system/faceSetDict
Normal file
42
tutorials/MRFSimpleFoam/mixerVessel2D/system/faceSetDict
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 1.4 |
|
||||||
|
| \\ / A nd | Web: http://www.openfoam.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
|
||||||
|
root "";
|
||||||
|
case "";
|
||||||
|
instance "";
|
||||||
|
local "";
|
||||||
|
|
||||||
|
class dictionary;
|
||||||
|
object faceSetDict;
|
||||||
|
}
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
// Name of set to operate on
|
||||||
|
name rotor;
|
||||||
|
|
||||||
|
// One of clear/new/invert/add/delete|subset/list
|
||||||
|
action delete;
|
||||||
|
|
||||||
|
// Actions to apply to pointSet. These are all the topoSetSource's ending
|
||||||
|
// in ..ToFace (see the meshTools library).
|
||||||
|
topoSetSources
|
||||||
|
(
|
||||||
|
// Select boundary faces
|
||||||
|
boundaryToFace
|
||||||
|
{
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,42 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 1.4 |
|
||||||
|
| \\ / A nd | Web: http://www.openfoam.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
|
||||||
|
root "";
|
||||||
|
case "";
|
||||||
|
instance "";
|
||||||
|
local "";
|
||||||
|
|
||||||
|
class dictionary;
|
||||||
|
object faceSetDict;
|
||||||
|
}
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
// Name of set to operate on
|
||||||
|
name rotor;
|
||||||
|
|
||||||
|
// One of clear/new/invert/add/delete|subset/list
|
||||||
|
action delete;
|
||||||
|
|
||||||
|
// Actions to apply to pointSet. These are all the topoSetSource's ending
|
||||||
|
// in ..ToFace (see the meshTools library).
|
||||||
|
topoSetSources
|
||||||
|
(
|
||||||
|
// Select boundary faces
|
||||||
|
boundaryToFace
|
||||||
|
{
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,44 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 1.4 |
|
||||||
|
| \\ / A nd | Web: http://www.openfoam.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
|
||||||
|
root "";
|
||||||
|
case "";
|
||||||
|
instance "";
|
||||||
|
local "";
|
||||||
|
|
||||||
|
class dictionary;
|
||||||
|
object faceSetDict;
|
||||||
|
}
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
// Name of set to operate on
|
||||||
|
name rotor;
|
||||||
|
|
||||||
|
// One of clear/new/invert/add/delete|subset/list
|
||||||
|
action new;
|
||||||
|
|
||||||
|
// Actions to apply to pointSet. These are all the topoSetSource's ending
|
||||||
|
// in ..ToFace (see the meshTools library).
|
||||||
|
topoSetSources
|
||||||
|
(
|
||||||
|
// Select based on cellSet
|
||||||
|
cellToFace
|
||||||
|
{
|
||||||
|
set rotor;
|
||||||
|
option all; // All faces of cells
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
73
tutorials/MRFSimpleFoam/mixerVessel2D/system/fvSchemes
Normal file
73
tutorials/MRFSimpleFoam/mixerVessel2D/system/fvSchemes
Normal file
@ -0,0 +1,73 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 1.4 |
|
||||||
|
| \\ / A nd | Web: http://www.openfoam.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
|
||||||
|
root "";
|
||||||
|
case "";
|
||||||
|
instance "";
|
||||||
|
local "";
|
||||||
|
|
||||||
|
class dictionary;
|
||||||
|
object fvSchemes;
|
||||||
|
}
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
ddtSchemes
|
||||||
|
{
|
||||||
|
default steadyState;
|
||||||
|
}
|
||||||
|
|
||||||
|
gradSchemes
|
||||||
|
{
|
||||||
|
default Gauss linear;
|
||||||
|
grad(p) Gauss linear;
|
||||||
|
grad(U) Gauss linear;
|
||||||
|
}
|
||||||
|
|
||||||
|
divSchemes
|
||||||
|
{
|
||||||
|
default none;
|
||||||
|
div(phi,U) Gauss limitedLinearV 1;
|
||||||
|
div(phi,k) Gauss limitedLinear 1;
|
||||||
|
div(phi,epsilon) Gauss limitedLinear 1;
|
||||||
|
div((nuEff*dev(grad(U).T()))) Gauss linear;
|
||||||
|
}
|
||||||
|
|
||||||
|
laplacianSchemes
|
||||||
|
{
|
||||||
|
default none;
|
||||||
|
laplacian(nuEff,U) Gauss linear corrected;
|
||||||
|
laplacian((1|A(U)),p) Gauss linear corrected;
|
||||||
|
laplacian(DkEff,k) Gauss linear corrected;
|
||||||
|
laplacian(DepsilonEff,epsilon) Gauss linear corrected;
|
||||||
|
}
|
||||||
|
|
||||||
|
interpolationSchemes
|
||||||
|
{
|
||||||
|
default linear;
|
||||||
|
interpolate(U) linear;
|
||||||
|
}
|
||||||
|
|
||||||
|
snGradSchemes
|
||||||
|
{
|
||||||
|
default corrected;
|
||||||
|
}
|
||||||
|
|
||||||
|
fluxRequired
|
||||||
|
{
|
||||||
|
default no;
|
||||||
|
p;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
82
tutorials/MRFSimpleFoam/mixerVessel2D/system/fvSolution
Normal file
82
tutorials/MRFSimpleFoam/mixerVessel2D/system/fvSolution
Normal file
@ -0,0 +1,82 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 1.4 |
|
||||||
|
| \\ / A nd | Web: http://www.openfoam.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
|
||||||
|
root "";
|
||||||
|
case "";
|
||||||
|
instance "";
|
||||||
|
local "";
|
||||||
|
|
||||||
|
class dictionary;
|
||||||
|
object fvSolution;
|
||||||
|
}
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
solvers
|
||||||
|
{
|
||||||
|
p GAMG
|
||||||
|
{
|
||||||
|
tolerance 1e-8;
|
||||||
|
relTol 0.05;
|
||||||
|
|
||||||
|
smoother GaussSeidel;
|
||||||
|
|
||||||
|
cacheAgglomeration true;
|
||||||
|
|
||||||
|
nCellsInCoarsestLevel 20;
|
||||||
|
agglomerator faceAreaPair;
|
||||||
|
mergeLevels 1;
|
||||||
|
};
|
||||||
|
|
||||||
|
U smoothSolver
|
||||||
|
{
|
||||||
|
smoother GaussSeidel;
|
||||||
|
nSweeps 2;
|
||||||
|
tolerance 1e-7;
|
||||||
|
relTol 0.1;
|
||||||
|
};
|
||||||
|
|
||||||
|
k smoothSolver
|
||||||
|
{
|
||||||
|
smoother GaussSeidel;
|
||||||
|
nSweeps 2;
|
||||||
|
tolerance 1e-7;
|
||||||
|
relTol 0.1;
|
||||||
|
};
|
||||||
|
|
||||||
|
epsilon smoothSolver
|
||||||
|
{
|
||||||
|
smoother GaussSeidel;
|
||||||
|
nSweeps 2;
|
||||||
|
tolerance 1e-7;
|
||||||
|
relTol 0.1;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
SIMPLE
|
||||||
|
{
|
||||||
|
nNonOrthogonalCorrectors 0;
|
||||||
|
pRefCell 0;
|
||||||
|
pRefValue 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
relaxationFactors
|
||||||
|
{
|
||||||
|
p 0.3;
|
||||||
|
U 0.5;
|
||||||
|
k 0.5;
|
||||||
|
epsilon 0.5;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
17
tutorials/XiFoam/Allclean
Executable file
17
tutorials/XiFoam/Allclean
Executable file
@ -0,0 +1,17 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# Source tutorial clean functions
|
||||||
|
. $WM_PROJECT_DIR/bin/tools/CleanFunctions
|
||||||
|
|
||||||
|
keepCases="moriyoshiHomogeneous"
|
||||||
|
loseCases="moriyoshiHomogeneousPart2"
|
||||||
|
|
||||||
|
for case in $keepCases
|
||||||
|
do
|
||||||
|
(cd $case && foamCleanTutorials)
|
||||||
|
done
|
||||||
|
|
||||||
|
for case in $loseCases
|
||||||
|
do
|
||||||
|
removeCase $case
|
||||||
|
done
|
||||||
28
tutorials/XiFoam/Allrun
Executable file
28
tutorials/XiFoam/Allrun
Executable file
@ -0,0 +1,28 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
# Source tutorial run functions
|
||||||
|
. $WM_PROJECT_DIR/bin/tools/RunFunctions
|
||||||
|
|
||||||
|
# Get application name from directory
|
||||||
|
application=`basename $PWD`
|
||||||
|
|
||||||
|
setControlDict () {
|
||||||
|
controlDict="system/controlDict"
|
||||||
|
sed \
|
||||||
|
-e s/"\(deltaT[ \t]*\) 5e-06;"/"\1 1e-05;"/g \
|
||||||
|
-e s/"\(endTime[ \t]*\) 0.005;"/"\1 0.015;"/g \
|
||||||
|
-e s/"\(writeInterval[ \t]*\) 10;"/"\1 50;"/g \
|
||||||
|
$controlDict > temp.$$
|
||||||
|
mv temp.$$ $controlDict
|
||||||
|
}
|
||||||
|
|
||||||
|
# Do moriyoshiHomogeneous
|
||||||
|
(cd moriyoshiHomogeneous && foamRunTutorials)
|
||||||
|
|
||||||
|
# Clone case
|
||||||
|
cloneCase moriyoshiHomogeneous moriyoshiHomogeneousPart2
|
||||||
|
# Modify and execute
|
||||||
|
cd moriyoshiHomogeneousPart2
|
||||||
|
cp -r ../moriyoshiHomogeneous/0.005 .
|
||||||
|
setControlDict
|
||||||
|
runApplication $application
|
||||||
|
cd ..
|
||||||
59
tutorials/XiFoam/moriyoshiHomogeneous/0/Su
Normal file
59
tutorials/XiFoam/moriyoshiHomogeneous/0/Su
Normal file
@ -0,0 +1,59 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 1.4 |
|
||||||
|
| \\ / A nd | Web: http://www.openfoam.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
|
||||||
|
root "";
|
||||||
|
case "";
|
||||||
|
instance "";
|
||||||
|
local "";
|
||||||
|
|
||||||
|
class volScalarField;
|
||||||
|
object Su;
|
||||||
|
}
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
|
||||||
|
dimensions [0 1 -1 0 0 0 0];
|
||||||
|
|
||||||
|
internalField uniform 0.434;
|
||||||
|
|
||||||
|
boundaryField
|
||||||
|
{
|
||||||
|
left
|
||||||
|
{
|
||||||
|
type symmetryPlane;
|
||||||
|
}
|
||||||
|
|
||||||
|
right
|
||||||
|
{
|
||||||
|
type symmetryPlane;
|
||||||
|
}
|
||||||
|
|
||||||
|
top
|
||||||
|
{
|
||||||
|
type symmetryPlane;
|
||||||
|
}
|
||||||
|
|
||||||
|
bottom
|
||||||
|
{
|
||||||
|
type symmetryPlane;
|
||||||
|
}
|
||||||
|
|
||||||
|
frontAndBack
|
||||||
|
{
|
||||||
|
type empty;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
59
tutorials/XiFoam/moriyoshiHomogeneous/0/T
Normal file
59
tutorials/XiFoam/moriyoshiHomogeneous/0/T
Normal file
@ -0,0 +1,59 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 1.4 |
|
||||||
|
| \\ / A nd | Web: http://www.openfoam.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
|
||||||
|
root "";
|
||||||
|
case "";
|
||||||
|
instance "";
|
||||||
|
local "";
|
||||||
|
|
||||||
|
class volScalarField;
|
||||||
|
object T;
|
||||||
|
}
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
|
||||||
|
dimensions [0 0 0 1 0 0 0];
|
||||||
|
|
||||||
|
internalField uniform 300;
|
||||||
|
|
||||||
|
boundaryField
|
||||||
|
{
|
||||||
|
left
|
||||||
|
{
|
||||||
|
type symmetryPlane;
|
||||||
|
}
|
||||||
|
|
||||||
|
right
|
||||||
|
{
|
||||||
|
type symmetryPlane;
|
||||||
|
}
|
||||||
|
|
||||||
|
top
|
||||||
|
{
|
||||||
|
type symmetryPlane;
|
||||||
|
}
|
||||||
|
|
||||||
|
bottom
|
||||||
|
{
|
||||||
|
type symmetryPlane;
|
||||||
|
}
|
||||||
|
|
||||||
|
frontAndBack
|
||||||
|
{
|
||||||
|
type empty;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
59
tutorials/XiFoam/moriyoshiHomogeneous/0/Tu
Normal file
59
tutorials/XiFoam/moriyoshiHomogeneous/0/Tu
Normal file
@ -0,0 +1,59 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 1.4 |
|
||||||
|
| \\ / A nd | Web: http://www.openfoam.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
|
||||||
|
root "";
|
||||||
|
case "";
|
||||||
|
instance "";
|
||||||
|
local "";
|
||||||
|
|
||||||
|
class volScalarField;
|
||||||
|
object Tu;
|
||||||
|
}
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
|
||||||
|
dimensions [0 0 0 1 0 0 0];
|
||||||
|
|
||||||
|
internalField uniform 300;
|
||||||
|
|
||||||
|
boundaryField
|
||||||
|
{
|
||||||
|
left
|
||||||
|
{
|
||||||
|
type symmetryPlane;
|
||||||
|
}
|
||||||
|
|
||||||
|
right
|
||||||
|
{
|
||||||
|
type symmetryPlane;
|
||||||
|
}
|
||||||
|
|
||||||
|
top
|
||||||
|
{
|
||||||
|
type symmetryPlane;
|
||||||
|
}
|
||||||
|
|
||||||
|
bottom
|
||||||
|
{
|
||||||
|
type symmetryPlane;
|
||||||
|
}
|
||||||
|
|
||||||
|
frontAndBack
|
||||||
|
{
|
||||||
|
type empty;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
59
tutorials/XiFoam/moriyoshiHomogeneous/0/U
Normal file
59
tutorials/XiFoam/moriyoshiHomogeneous/0/U
Normal file
@ -0,0 +1,59 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 1.4 |
|
||||||
|
| \\ / A nd | Web: http://www.openfoam.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
|
||||||
|
root "";
|
||||||
|
case "";
|
||||||
|
instance "";
|
||||||
|
local "";
|
||||||
|
|
||||||
|
class volVectorField;
|
||||||
|
object U;
|
||||||
|
}
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
|
||||||
|
dimensions [0 1 -1 0 0 0 0];
|
||||||
|
|
||||||
|
internalField uniform (0 0 0);
|
||||||
|
|
||||||
|
boundaryField
|
||||||
|
{
|
||||||
|
left
|
||||||
|
{
|
||||||
|
type symmetryPlane;
|
||||||
|
}
|
||||||
|
|
||||||
|
right
|
||||||
|
{
|
||||||
|
type symmetryPlane;
|
||||||
|
}
|
||||||
|
|
||||||
|
top
|
||||||
|
{
|
||||||
|
type symmetryPlane;
|
||||||
|
}
|
||||||
|
|
||||||
|
bottom
|
||||||
|
{
|
||||||
|
type symmetryPlane;
|
||||||
|
}
|
||||||
|
|
||||||
|
frontAndBack
|
||||||
|
{
|
||||||
|
type empty;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
59
tutorials/XiFoam/moriyoshiHomogeneous/0/Xi
Normal file
59
tutorials/XiFoam/moriyoshiHomogeneous/0/Xi
Normal file
@ -0,0 +1,59 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 1.4 |
|
||||||
|
| \\ / A nd | Web: http://www.openfoam.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
|
||||||
|
root "";
|
||||||
|
case "";
|
||||||
|
instance "";
|
||||||
|
local "";
|
||||||
|
|
||||||
|
class volScalarField;
|
||||||
|
object Xi;
|
||||||
|
}
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
|
||||||
|
dimensions [0 0 0 0 0 0 0];
|
||||||
|
|
||||||
|
internalField uniform 1;
|
||||||
|
|
||||||
|
boundaryField
|
||||||
|
{
|
||||||
|
left
|
||||||
|
{
|
||||||
|
type symmetryPlane;
|
||||||
|
}
|
||||||
|
|
||||||
|
right
|
||||||
|
{
|
||||||
|
type symmetryPlane;
|
||||||
|
}
|
||||||
|
|
||||||
|
top
|
||||||
|
{
|
||||||
|
type symmetryPlane;
|
||||||
|
}
|
||||||
|
|
||||||
|
bottom
|
||||||
|
{
|
||||||
|
type symmetryPlane;
|
||||||
|
}
|
||||||
|
|
||||||
|
frontAndBack
|
||||||
|
{
|
||||||
|
type empty;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
59
tutorials/XiFoam/moriyoshiHomogeneous/0/b
Normal file
59
tutorials/XiFoam/moriyoshiHomogeneous/0/b
Normal file
@ -0,0 +1,59 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 1.4 |
|
||||||
|
| \\ / A nd | Web: http://www.openfoam.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
|
||||||
|
root "";
|
||||||
|
case "";
|
||||||
|
instance "";
|
||||||
|
local "";
|
||||||
|
|
||||||
|
class volScalarField;
|
||||||
|
object b;
|
||||||
|
}
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
|
||||||
|
dimensions [0 0 0 0 0 0 0];
|
||||||
|
|
||||||
|
internalField uniform 1;
|
||||||
|
|
||||||
|
boundaryField
|
||||||
|
{
|
||||||
|
left
|
||||||
|
{
|
||||||
|
type symmetryPlane;
|
||||||
|
}
|
||||||
|
|
||||||
|
right
|
||||||
|
{
|
||||||
|
type symmetryPlane;
|
||||||
|
}
|
||||||
|
|
||||||
|
top
|
||||||
|
{
|
||||||
|
type symmetryPlane;
|
||||||
|
}
|
||||||
|
|
||||||
|
bottom
|
||||||
|
{
|
||||||
|
type symmetryPlane;
|
||||||
|
}
|
||||||
|
|
||||||
|
frontAndBack
|
||||||
|
{
|
||||||
|
type empty;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
59
tutorials/XiFoam/moriyoshiHomogeneous/0/epsilon
Normal file
59
tutorials/XiFoam/moriyoshiHomogeneous/0/epsilon
Normal file
@ -0,0 +1,59 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 1.4 |
|
||||||
|
| \\ / A nd | Web: http://www.openfoam.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
|
||||||
|
root "";
|
||||||
|
case "";
|
||||||
|
instance "";
|
||||||
|
local "";
|
||||||
|
|
||||||
|
class volScalarField;
|
||||||
|
object epsilon;
|
||||||
|
}
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
|
||||||
|
dimensions [0 2 -3 0 0 0 0];
|
||||||
|
|
||||||
|
internalField uniform 375;
|
||||||
|
|
||||||
|
boundaryField
|
||||||
|
{
|
||||||
|
left
|
||||||
|
{
|
||||||
|
type symmetryPlane;
|
||||||
|
}
|
||||||
|
|
||||||
|
right
|
||||||
|
{
|
||||||
|
type symmetryPlane;
|
||||||
|
}
|
||||||
|
|
||||||
|
top
|
||||||
|
{
|
||||||
|
type symmetryPlane;
|
||||||
|
}
|
||||||
|
|
||||||
|
bottom
|
||||||
|
{
|
||||||
|
type symmetryPlane;
|
||||||
|
}
|
||||||
|
|
||||||
|
frontAndBack
|
||||||
|
{
|
||||||
|
type empty;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
59
tutorials/XiFoam/moriyoshiHomogeneous/0/ft
Normal file
59
tutorials/XiFoam/moriyoshiHomogeneous/0/ft
Normal file
@ -0,0 +1,59 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 1.4 |
|
||||||
|
| \\ / A nd | Web: http://www.openfoam.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
|
||||||
|
root "";
|
||||||
|
case "";
|
||||||
|
instance "";
|
||||||
|
local "";
|
||||||
|
|
||||||
|
class volScalarField;
|
||||||
|
object ft;
|
||||||
|
}
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
|
||||||
|
dimensions [0 0 0 0 0 0 0];
|
||||||
|
|
||||||
|
internalField uniform 0.06;
|
||||||
|
|
||||||
|
boundaryField
|
||||||
|
{
|
||||||
|
left
|
||||||
|
{
|
||||||
|
type symmetryPlane;
|
||||||
|
}
|
||||||
|
|
||||||
|
right
|
||||||
|
{
|
||||||
|
type symmetryPlane;
|
||||||
|
}
|
||||||
|
|
||||||
|
top
|
||||||
|
{
|
||||||
|
type symmetryPlane;
|
||||||
|
}
|
||||||
|
|
||||||
|
bottom
|
||||||
|
{
|
||||||
|
type symmetryPlane;
|
||||||
|
}
|
||||||
|
|
||||||
|
frontAndBack
|
||||||
|
{
|
||||||
|
type empty;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
59
tutorials/XiFoam/moriyoshiHomogeneous/0/fu
Normal file
59
tutorials/XiFoam/moriyoshiHomogeneous/0/fu
Normal file
@ -0,0 +1,59 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 1.4 |
|
||||||
|
| \\ / A nd | Web: http://www.openfoam.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
|
||||||
|
root "";
|
||||||
|
case "";
|
||||||
|
instance "";
|
||||||
|
local "";
|
||||||
|
|
||||||
|
class volScalarField;
|
||||||
|
object fu;
|
||||||
|
}
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
|
||||||
|
dimensions [0 0 0 0 0 0 0];
|
||||||
|
|
||||||
|
internalField uniform 0;
|
||||||
|
|
||||||
|
boundaryField
|
||||||
|
{
|
||||||
|
left
|
||||||
|
{
|
||||||
|
type symmetryPlane;
|
||||||
|
}
|
||||||
|
|
||||||
|
right
|
||||||
|
{
|
||||||
|
type symmetryPlane;
|
||||||
|
}
|
||||||
|
|
||||||
|
top
|
||||||
|
{
|
||||||
|
type symmetryPlane;
|
||||||
|
}
|
||||||
|
|
||||||
|
bottom
|
||||||
|
{
|
||||||
|
type symmetryPlane;
|
||||||
|
}
|
||||||
|
|
||||||
|
frontAndBack
|
||||||
|
{
|
||||||
|
type empty;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
59
tutorials/XiFoam/moriyoshiHomogeneous/0/k
Normal file
59
tutorials/XiFoam/moriyoshiHomogeneous/0/k
Normal file
@ -0,0 +1,59 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 1.4 |
|
||||||
|
| \\ / A nd | Web: http://www.openfoam.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
|
||||||
|
root "";
|
||||||
|
case "";
|
||||||
|
instance "";
|
||||||
|
local "";
|
||||||
|
|
||||||
|
class volScalarField;
|
||||||
|
object k;
|
||||||
|
}
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
|
||||||
|
dimensions [0 2 -2 0 0 0 0];
|
||||||
|
|
||||||
|
internalField uniform 1.5;
|
||||||
|
|
||||||
|
boundaryField
|
||||||
|
{
|
||||||
|
left
|
||||||
|
{
|
||||||
|
type symmetryPlane;
|
||||||
|
}
|
||||||
|
|
||||||
|
right
|
||||||
|
{
|
||||||
|
type symmetryPlane;
|
||||||
|
}
|
||||||
|
|
||||||
|
top
|
||||||
|
{
|
||||||
|
type symmetryPlane;
|
||||||
|
}
|
||||||
|
|
||||||
|
bottom
|
||||||
|
{
|
||||||
|
type symmetryPlane;
|
||||||
|
}
|
||||||
|
|
||||||
|
frontAndBack
|
||||||
|
{
|
||||||
|
type empty;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
59
tutorials/XiFoam/moriyoshiHomogeneous/0/p
Normal file
59
tutorials/XiFoam/moriyoshiHomogeneous/0/p
Normal file
@ -0,0 +1,59 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 1.4 |
|
||||||
|
| \\ / A nd | Web: http://www.openfoam.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
|
||||||
|
root "";
|
||||||
|
case "";
|
||||||
|
instance "";
|
||||||
|
local "";
|
||||||
|
|
||||||
|
class volScalarField;
|
||||||
|
object p;
|
||||||
|
}
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
|
||||||
|
dimensions [1 -1 -2 0 0 0 0];
|
||||||
|
|
||||||
|
internalField uniform 118000;
|
||||||
|
|
||||||
|
boundaryField
|
||||||
|
{
|
||||||
|
left
|
||||||
|
{
|
||||||
|
type symmetryPlane;
|
||||||
|
}
|
||||||
|
|
||||||
|
right
|
||||||
|
{
|
||||||
|
type symmetryPlane;
|
||||||
|
}
|
||||||
|
|
||||||
|
top
|
||||||
|
{
|
||||||
|
type symmetryPlane;
|
||||||
|
}
|
||||||
|
|
||||||
|
bottom
|
||||||
|
{
|
||||||
|
type symmetryPlane;
|
||||||
|
}
|
||||||
|
|
||||||
|
frontAndBack
|
||||||
|
{
|
||||||
|
type empty;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,98 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 1.4 |
|
||||||
|
| \\ / A nd | Web: http://www.openfoam.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
|
||||||
|
root "";
|
||||||
|
case "";
|
||||||
|
instance "";
|
||||||
|
local "";
|
||||||
|
|
||||||
|
class dictionary;
|
||||||
|
object combustionProperties;
|
||||||
|
}
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
laminarFlameSpeedCorrelation Gulders;
|
||||||
|
|
||||||
|
fuel Propane;
|
||||||
|
|
||||||
|
Su Su [0 1 -1 0 0 0 0] 0.434;
|
||||||
|
|
||||||
|
SuModel unstrained;
|
||||||
|
|
||||||
|
equivalenceRatio equivalenceRatio [0 0 0 0 0 0 0] 1;
|
||||||
|
|
||||||
|
sigmaExt sigmaExt [0 0 -1 0 0 0 0] 100000;
|
||||||
|
|
||||||
|
XiModel transport;
|
||||||
|
|
||||||
|
XiCoef XiCoef [0 0 0 0 0 0 0] 0.62;
|
||||||
|
|
||||||
|
XiShapeCoef XiShapeCoef [0 0 0 0 0 0 0] 1;
|
||||||
|
|
||||||
|
uPrimeCoef uPrimeCoef [0 0 0 0 0 0 0] 1;
|
||||||
|
|
||||||
|
GuldersCoeffs
|
||||||
|
{
|
||||||
|
Methane
|
||||||
|
{
|
||||||
|
W W [0 0 0 0 0 0 0] 0.422;
|
||||||
|
eta eta [0 0 0 0 0 0 0] 0.15;
|
||||||
|
xi xi [0 0 0 0 0 0 0] 5.18;
|
||||||
|
alpha alpha [0 0 0 0 0 0 0] 2;
|
||||||
|
beta beta [0 0 0 0 0 0 0] -0.5;
|
||||||
|
f f [0 0 0 0 0 0 0] 2.3;
|
||||||
|
}
|
||||||
|
Propane
|
||||||
|
{
|
||||||
|
W W [0 0 0 0 0 0 0] 0.446;
|
||||||
|
eta eta [0 0 0 0 0 0 0] 0.12;
|
||||||
|
xi xi [0 0 0 0 0 0 0] 4.95;
|
||||||
|
alpha alpha [0 0 0 0 0 0 0] 1.77;
|
||||||
|
beta beta [0 0 0 0 0 0 0] -0.2;
|
||||||
|
f f [0 0 0 0 0 0 0] 2.3;
|
||||||
|
}
|
||||||
|
IsoOctane
|
||||||
|
{
|
||||||
|
W W [0 0 0 0 0 0 0] 0.4658;
|
||||||
|
eta eta [0 0 0 0 0 0 0] -0.326;
|
||||||
|
xi xi [0 0 0 0 0 0 0] 4.48;
|
||||||
|
alpha alpha [0 0 0 0 0 0 0] 1.56;
|
||||||
|
beta beta [0 0 0 0 0 0 0] -0.22;
|
||||||
|
f f [0 0 0 0 0 0 0] 2.3;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
ignite yes;
|
||||||
|
|
||||||
|
ignitionSites
|
||||||
|
(
|
||||||
|
|
||||||
|
{
|
||||||
|
location (0 0 0.0005);
|
||||||
|
diameter 0.003;
|
||||||
|
start 0;
|
||||||
|
duration 0.001;
|
||||||
|
strength 1;
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
ignitionSphereFraction 1;
|
||||||
|
|
||||||
|
ignitionThickness ignitionThickness [0 1 0 0 0 0 0] 0.001;
|
||||||
|
|
||||||
|
ignitionCircleFraction 0.5;
|
||||||
|
|
||||||
|
ignitionKernelArea ignitionKernelArea [0 2 0 0 0 0 0] 0.001;
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,28 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 1.4 |
|
||||||
|
| \\ / A nd | Web: http://www.openfoam.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
|
||||||
|
root "";
|
||||||
|
case "";
|
||||||
|
instance "";
|
||||||
|
local "";
|
||||||
|
|
||||||
|
class dictionary;
|
||||||
|
object environmentalProperties;
|
||||||
|
}
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
g g [0 1 -2 0 0 0 0] (0 0 0);
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,77 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 1.4 |
|
||||||
|
| \\ / A nd | Web: http://www.openfoam.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
|
||||||
|
root "";
|
||||||
|
case "";
|
||||||
|
instance "";
|
||||||
|
local "";
|
||||||
|
|
||||||
|
class dictionary;
|
||||||
|
object blockMeshDict;
|
||||||
|
}
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
convertToMeters 0.001;
|
||||||
|
|
||||||
|
vertices
|
||||||
|
(
|
||||||
|
(0 0 0)
|
||||||
|
(0 35 0)
|
||||||
|
(70 0 0)
|
||||||
|
(70 35 0)
|
||||||
|
(0 0 1)
|
||||||
|
(0 35 1)
|
||||||
|
(70 0 1)
|
||||||
|
(70 35 1)
|
||||||
|
);
|
||||||
|
|
||||||
|
blocks
|
||||||
|
(
|
||||||
|
hex (0 2 3 1 4 6 7 5) (70 35 1) simpleGrading (1 1 1)
|
||||||
|
);
|
||||||
|
|
||||||
|
edges
|
||||||
|
(
|
||||||
|
);
|
||||||
|
|
||||||
|
patches
|
||||||
|
(
|
||||||
|
symmetryPlane left
|
||||||
|
(
|
||||||
|
(0 4 5 1)
|
||||||
|
)
|
||||||
|
symmetryPlane right
|
||||||
|
(
|
||||||
|
(2 3 7 6)
|
||||||
|
)
|
||||||
|
symmetryPlane top
|
||||||
|
(
|
||||||
|
(1 5 7 3)
|
||||||
|
)
|
||||||
|
symmetryPlane bottom
|
||||||
|
(
|
||||||
|
(0 2 6 4)
|
||||||
|
)
|
||||||
|
empty frontAndBack
|
||||||
|
(
|
||||||
|
(4 5 7 6)
|
||||||
|
(0 1 3 2)
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
mergePatchPairs
|
||||||
|
(
|
||||||
|
);
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,57 @@
|
|||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: dev |
|
||||||
|
| \\ / A nd | Web: http://www.openfoam.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
class polyBoundaryMesh;
|
||||||
|
object boundary;
|
||||||
|
location "constant/polyMesh";
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
5
|
||||||
|
(
|
||||||
|
left
|
||||||
|
{
|
||||||
|
type symmetryPlane;
|
||||||
|
physicalType symmetryPlane;
|
||||||
|
nFaces 35;
|
||||||
|
startFace 4795;
|
||||||
|
}
|
||||||
|
right
|
||||||
|
{
|
||||||
|
type symmetryPlane;
|
||||||
|
physicalType symmetryPlane;
|
||||||
|
nFaces 35;
|
||||||
|
startFace 4830;
|
||||||
|
}
|
||||||
|
top
|
||||||
|
{
|
||||||
|
type symmetryPlane;
|
||||||
|
physicalType symmetryPlane;
|
||||||
|
nFaces 70;
|
||||||
|
startFace 4865;
|
||||||
|
}
|
||||||
|
bottom
|
||||||
|
{
|
||||||
|
type symmetryPlane;
|
||||||
|
physicalType symmetryPlane;
|
||||||
|
nFaces 70;
|
||||||
|
startFace 4935;
|
||||||
|
}
|
||||||
|
frontAndBack
|
||||||
|
{
|
||||||
|
type empty;
|
||||||
|
physicalType empty;
|
||||||
|
nFaces 4900;
|
||||||
|
startFace 5005;
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,40 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 1.4 |
|
||||||
|
| \\ / A nd | Web: http://www.openfoam.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
|
||||||
|
root "";
|
||||||
|
case "";
|
||||||
|
instance "";
|
||||||
|
local "";
|
||||||
|
|
||||||
|
class dictionary;
|
||||||
|
object thermophysicalProperties;
|
||||||
|
}
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
thermoType hhuMixtureThermo<homogeneousMixture<sutherlandTransport<specieThermo<janafThermo<perfectGas>>>>>;
|
||||||
|
|
||||||
|
stoichiometricAirFuelMassRatio stoichiometricAirFuelMassRatio [0 0 0 0 0 0 0] 15.675;
|
||||||
|
|
||||||
|
fuel fuel 1 44.0962 200 5000 1000 7.53414 0.0188722 -6.27185e-06 9.14756e-10 -4.78381e-14 -16467.5 -17.8923 0.933554 0.0264246 6.10597e-06 -2.19775e-08 9.51493e-12 -13958.5 19.2017 1.67212e-06 170.672;
|
||||||
|
|
||||||
|
oxidant oxidant 1 28.8504 200 6000 1000 3.10205 0.00123963 -4.17512e-07 6.60292e-11 -3.87448e-15 -985.517 5.35187 3.58378 -0.0007269 1.66985e-06 -1.08452e-10 -4.31951e-13 -1050.53 3.11223 1.67212e-06 170.672;
|
||||||
|
|
||||||
|
reactants reactants 24.8095 29.4649 200 5000 1000 3.28069 0.00195035 -6.53483e-07 1.00239e-10 -5.64653e-15 -1609.55 4.41496 3.47696 0.000367499 1.84866e-06 -9.8993e-10 -3.10214e-14 -1570.81 3.76075 1.67212e-06 170.672;
|
||||||
|
|
||||||
|
products products 1 28.3233 200 5000 1000 3.106 0.00179682 -5.94382e-07 9.04998e-11 -5.08033e-15 -11003.7 5.11872 3.49612 0.000650364 -2.08029e-07 1.2291e-09 -7.73697e-13 -11080.3 3.18978 1.67212e-06 170.672;
|
||||||
|
|
||||||
|
burntProducts burntProducts 25.8095 28.3233 200 6000 1000 3.106 0.00179682 -5.94382e-07 9.04998e-11 -5.08033e-15 -11003.7 5.11872 3.49612 0.000650364 -2.08029e-07 1.2291e-09 -7.73697e-13 -11080.3 3.18978 1.67212e-06 170.672;
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,105 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 1.4 |
|
||||||
|
| \\ / A nd | Web: http://www.openfoam.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
|
||||||
|
root "";
|
||||||
|
case "";
|
||||||
|
instance "";
|
||||||
|
local "";
|
||||||
|
|
||||||
|
class dictionary;
|
||||||
|
object turbulenceProperties;
|
||||||
|
}
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
turbulenceModel LaunderSharmaKE;
|
||||||
|
|
||||||
|
turbulence on;
|
||||||
|
|
||||||
|
laminarCoeffs
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
kEpsilonCoeffs
|
||||||
|
{
|
||||||
|
Cmu Cmu [0 0 0 0 0 0 0] 0.09;
|
||||||
|
C1 C1 [0 0 0 0 0 0 0] 1.44;
|
||||||
|
C2 C2 [0 0 0 0 0 0 0] 1.92;
|
||||||
|
C3 C3 [0 0 0 0 0 0 0] 0;
|
||||||
|
alphah alphah [0 0 0 0 0 0 0] 1.111;
|
||||||
|
alphak alphak [0 0 0 0 0 0 0] 1;
|
||||||
|
alphaEps alphaEps [0 0 0 0 0 0 0] 0.76923;
|
||||||
|
}
|
||||||
|
|
||||||
|
RNGkEpsilonCoeffs
|
||||||
|
{
|
||||||
|
Cmu Cmu [0 0 0 0 0 0 0] 0.0845;
|
||||||
|
C1 C1 [0 0 0 0 0 0 0] 1.42;
|
||||||
|
C2 C2 [0 0 0 0 0 0 0] 1.68;
|
||||||
|
C3 C3 [0 0 0 0 0 0 0] 0;
|
||||||
|
alphah alphah [0 0 0 0 0 0 0] 1.111;
|
||||||
|
alphak alphaK [0 0 0 0 0 0 0] 1.39;
|
||||||
|
alphaEps alphaEps [0 0 0 0 0 0 0] 1.39;
|
||||||
|
eta0 eta0 [0 0 0 0 0 0 0] 4.38;
|
||||||
|
beta beta [0 0 0 0 0 0 0] 0.012;
|
||||||
|
}
|
||||||
|
|
||||||
|
LaunderSharmaKECoeffs
|
||||||
|
{
|
||||||
|
Cmu Cmu [0 0 0 0 0 0 0] 0.09;
|
||||||
|
C1 C1 [0 0 0 0 0 0 0] 1.44;
|
||||||
|
C2 C2 [0 0 0 0 0 0 0] 1.92;
|
||||||
|
C3 C3 [0 0 0 0 0 0 0] 0;
|
||||||
|
alphah alphah [0 0 0 0 0 0 0] 1.111;
|
||||||
|
alphak alphak [0 0 0 0 0 0 0] 1;
|
||||||
|
alphaEps alphaEps [0 0 0 0 0 0 0] 0.76923;
|
||||||
|
}
|
||||||
|
|
||||||
|
LRRCoeffs
|
||||||
|
{
|
||||||
|
Cmu Cmu [0 0 0 0 0 0 0] 0.09;
|
||||||
|
Clrr1 Clrr1 [0 0 0 0 0 0 0] 1.8;
|
||||||
|
Clrr2 Clrr2 [0 0 0 0 0 0 0] 0.6;
|
||||||
|
C1 C1 [0 0 0 0 0 0 0] 1.44;
|
||||||
|
C2 C2 [0 0 0 0 0 0 0] 1.92;
|
||||||
|
Cs Cs [0 0 0 0 0 0 0] 0.25;
|
||||||
|
Ceps Ceps [0 0 0 0 0 0 0] 0.15;
|
||||||
|
alphah alphah [0 0 0 0 0 0 0] 1;
|
||||||
|
alphaEps alphaEps [0 0 0 0 0 0 0] 0.76923;
|
||||||
|
alphaR alphaR [0 0 0 0 0 0 0] 1.22;
|
||||||
|
}
|
||||||
|
|
||||||
|
LaunderGibsonRSTMCoeffs
|
||||||
|
{
|
||||||
|
Cmu Cmu [0 0 0 0 0 0 0] 0.09;
|
||||||
|
Clg1 Clg1 [0 0 0 0 0 0 0] 1.8;
|
||||||
|
Clg2 Clg2 [0 0 0 0 0 0 0] 0.6;
|
||||||
|
C1 C1 [0 0 0 0 0 0 0] 1.44;
|
||||||
|
C2 C2 [0 0 0 0 0 0 0] 1.92;
|
||||||
|
C1Ref C1Ref [0 0 0 0 0 0 0] 0.5;
|
||||||
|
C2Ref C2Ref [0 0 0 0 0 0 0] 0.3;
|
||||||
|
Cs Cs [0 0 0 0 0 0 0] 0.25;
|
||||||
|
Ceps Ceps [0 0 0 0 0 0 0] 0.15;
|
||||||
|
alphah alphah [0 0 0 0 0 0 0] 1;
|
||||||
|
alphaEps alphaEps [0 0 0 0 0 0 0] 0.76923;
|
||||||
|
alphaR alphaR [0 0 0 0 0 0 0] 1.22;
|
||||||
|
}
|
||||||
|
|
||||||
|
wallFunctionCoeffs
|
||||||
|
{
|
||||||
|
kappa kappa [0 0 0 0 0 0 0] 0.4187;
|
||||||
|
E E [0 0 0 0 0 0 0] 9;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
62
tutorials/XiFoam/moriyoshiHomogeneous/system/controlDict
Normal file
62
tutorials/XiFoam/moriyoshiHomogeneous/system/controlDict
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 1.4 |
|
||||||
|
| \\ / A nd | Web: http://www.openfoam.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
|
||||||
|
root "";
|
||||||
|
case "";
|
||||||
|
instance "";
|
||||||
|
local "";
|
||||||
|
|
||||||
|
class dictionary;
|
||||||
|
object controlDict;
|
||||||
|
}
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
application XiFoam;
|
||||||
|
|
||||||
|
startFrom latestTime;
|
||||||
|
|
||||||
|
startTime 0;
|
||||||
|
|
||||||
|
stopAt endTime;
|
||||||
|
|
||||||
|
endTime 0.005;
|
||||||
|
|
||||||
|
deltaT 5e-06;
|
||||||
|
|
||||||
|
writeControl timeStep;
|
||||||
|
|
||||||
|
writeInterval 20;
|
||||||
|
|
||||||
|
purgeWrite 0;
|
||||||
|
|
||||||
|
writeFormat ascii;
|
||||||
|
|
||||||
|
writePrecision 6;
|
||||||
|
|
||||||
|
writeCompression uncompressed;
|
||||||
|
|
||||||
|
timeFormat general;
|
||||||
|
|
||||||
|
timePrecision 6;
|
||||||
|
|
||||||
|
runTimeModifiable yes;
|
||||||
|
|
||||||
|
adjustTimeStep no;
|
||||||
|
|
||||||
|
maxCo 0.2;
|
||||||
|
|
||||||
|
maxDeltaT 1;
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
94
tutorials/XiFoam/moriyoshiHomogeneous/system/fvSchemes
Normal file
94
tutorials/XiFoam/moriyoshiHomogeneous/system/fvSchemes
Normal file
@ -0,0 +1,94 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 1.4 |
|
||||||
|
| \\ / A nd | Web: http://www.openfoam.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
|
||||||
|
root "";
|
||||||
|
case "";
|
||||||
|
instance "";
|
||||||
|
local "";
|
||||||
|
|
||||||
|
class dictionary;
|
||||||
|
object fvSchemes;
|
||||||
|
}
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
ddtSchemes
|
||||||
|
{
|
||||||
|
default Euler;
|
||||||
|
}
|
||||||
|
|
||||||
|
gradSchemes
|
||||||
|
{
|
||||||
|
default Gauss linear;
|
||||||
|
grad(p) Gauss linear;
|
||||||
|
}
|
||||||
|
|
||||||
|
divSchemes
|
||||||
|
{
|
||||||
|
default none;
|
||||||
|
div(phi,U) Gauss limitedLinearV 1;
|
||||||
|
div(phid,p) Gauss limitedLinear 1;
|
||||||
|
div(phiU,p) Gauss linear;
|
||||||
|
div(phi,k) Gauss limitedLinear 1;
|
||||||
|
div(phi,epsilon) Gauss limitedLinear 1;
|
||||||
|
div(phi,R) Gauss limitedLinear 1;
|
||||||
|
div(R) Gauss linear;
|
||||||
|
div(phiXi,Xi) Gauss limitedLinear 1;
|
||||||
|
div(phiXi,Su) Gauss limitedLinear 1;
|
||||||
|
div(phiSt,b) Gauss limitedLinear01 1;
|
||||||
|
div(phi,ft_b_h_hu) Gauss multivariateSelection
|
||||||
|
{
|
||||||
|
fu limitedLinear01 1;
|
||||||
|
ft limitedLinear01 1;
|
||||||
|
b limitedLinear01 1;
|
||||||
|
h limitedLinear 1;
|
||||||
|
hu limitedLinear 1;
|
||||||
|
};
|
||||||
|
div(U) Gauss linear;
|
||||||
|
div((Su*grad(b))) Gauss linear;
|
||||||
|
div((U+((Su*Xi)*grad(b)))) Gauss linear;
|
||||||
|
div((muEff*dev2(grad(U).T()))) Gauss linear;
|
||||||
|
}
|
||||||
|
|
||||||
|
laplacianSchemes
|
||||||
|
{
|
||||||
|
default none;
|
||||||
|
laplacian(muEff,U) Gauss linear corrected;
|
||||||
|
laplacian(DkEff,k) Gauss linear corrected;
|
||||||
|
laplacian(DepsilonEff,epsilon) Gauss linear corrected;
|
||||||
|
laplacian(DREff,R) Gauss linear corrected;
|
||||||
|
laplacian((rho*(1|A(U))),p) Gauss linear corrected;
|
||||||
|
laplacian(muEff,b) Gauss linear corrected;
|
||||||
|
laplacian(muEff,ft) Gauss linear corrected;
|
||||||
|
laplacian(alphaEff,h) Gauss linear corrected;
|
||||||
|
laplacian(alphaEff,hu) Gauss linear corrected;
|
||||||
|
}
|
||||||
|
|
||||||
|
interpolationSchemes
|
||||||
|
{
|
||||||
|
default linear;
|
||||||
|
}
|
||||||
|
|
||||||
|
snGradSchemes
|
||||||
|
{
|
||||||
|
default corrected;
|
||||||
|
}
|
||||||
|
|
||||||
|
fluxRequired
|
||||||
|
{
|
||||||
|
default no;
|
||||||
|
p;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
115
tutorials/XiFoam/moriyoshiHomogeneous/system/fvSolution
Normal file
115
tutorials/XiFoam/moriyoshiHomogeneous/system/fvSolution
Normal file
@ -0,0 +1,115 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 1.4 |
|
||||||
|
| \\ / A nd | Web: http://www.openfoam.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
|
||||||
|
root "";
|
||||||
|
case "";
|
||||||
|
instance "";
|
||||||
|
local "";
|
||||||
|
|
||||||
|
class dictionary;
|
||||||
|
object fvSolution;
|
||||||
|
}
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
solvers
|
||||||
|
{
|
||||||
|
rho PCG
|
||||||
|
{
|
||||||
|
preconditioner DIC;
|
||||||
|
tolerance 1e-05;
|
||||||
|
relTol 0;
|
||||||
|
};
|
||||||
|
U PBiCG
|
||||||
|
{
|
||||||
|
preconditioner DILU;
|
||||||
|
tolerance 1e-05;
|
||||||
|
relTol 0;
|
||||||
|
};
|
||||||
|
p PCG
|
||||||
|
{
|
||||||
|
preconditioner DIC;
|
||||||
|
tolerance 1e-06;
|
||||||
|
relTol 0;
|
||||||
|
};
|
||||||
|
ft PBiCG
|
||||||
|
{
|
||||||
|
preconditioner DILU;
|
||||||
|
tolerance 1e-05;
|
||||||
|
relTol 0;
|
||||||
|
};
|
||||||
|
fu PBiCG
|
||||||
|
{
|
||||||
|
preconditioner DILU;
|
||||||
|
tolerance 1e-05;
|
||||||
|
relTol 0;
|
||||||
|
};
|
||||||
|
b PBiCG
|
||||||
|
{
|
||||||
|
preconditioner DILU;
|
||||||
|
tolerance 1e-05;
|
||||||
|
relTol 0;
|
||||||
|
};
|
||||||
|
Xi PBiCG
|
||||||
|
{
|
||||||
|
preconditioner DILU;
|
||||||
|
tolerance 1e-05;
|
||||||
|
relTol 0;
|
||||||
|
};
|
||||||
|
Su PBiCG
|
||||||
|
{
|
||||||
|
preconditioner DILU;
|
||||||
|
tolerance 1e-05;
|
||||||
|
relTol 0;
|
||||||
|
};
|
||||||
|
h PBiCG
|
||||||
|
{
|
||||||
|
preconditioner DILU;
|
||||||
|
tolerance 1e-05;
|
||||||
|
relTol 0;
|
||||||
|
};
|
||||||
|
hu PBiCG
|
||||||
|
{
|
||||||
|
preconditioner DILU;
|
||||||
|
tolerance 1e-05;
|
||||||
|
relTol 0;
|
||||||
|
};
|
||||||
|
R PBiCG
|
||||||
|
{
|
||||||
|
preconditioner DILU;
|
||||||
|
tolerance 1e-05;
|
||||||
|
relTol 0;
|
||||||
|
};
|
||||||
|
k PBiCG
|
||||||
|
{
|
||||||
|
preconditioner DILU;
|
||||||
|
tolerance 1e-05;
|
||||||
|
relTol 0;
|
||||||
|
};
|
||||||
|
epsilon PBiCG
|
||||||
|
{
|
||||||
|
preconditioner DILU;
|
||||||
|
tolerance 1e-05;
|
||||||
|
relTol 0;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
PISO
|
||||||
|
{
|
||||||
|
nCorrectors 2;
|
||||||
|
nNonOrthogonalCorrectors 0;
|
||||||
|
momentumPredictor yes;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
60
tutorials/Xoodles/pitzDaily/0/B
Normal file
60
tutorials/Xoodles/pitzDaily/0/B
Normal file
@ -0,0 +1,60 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 1.4 |
|
||||||
|
| \\ / A nd | Web: http://www.openfoam.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
|
||||||
|
root "";
|
||||||
|
case "";
|
||||||
|
instance "";
|
||||||
|
local "";
|
||||||
|
|
||||||
|
class volTensorField;
|
||||||
|
object B;
|
||||||
|
}
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
|
||||||
|
dimensions [1 -1 -2 0 0 0 0];
|
||||||
|
|
||||||
|
internalField uniform (0 0 0 0 0 0 0 0 0);
|
||||||
|
|
||||||
|
boundaryField
|
||||||
|
{
|
||||||
|
inlet
|
||||||
|
{
|
||||||
|
type fixedValue;
|
||||||
|
value uniform (0 0 0 0 0 0 0 0 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
outlet
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
|
||||||
|
upperWall
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
|
||||||
|
lowerWall
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
|
||||||
|
frontAndBack
|
||||||
|
{
|
||||||
|
type empty;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
62
tutorials/Xoodles/pitzDaily/0/Su
Normal file
62
tutorials/Xoodles/pitzDaily/0/Su
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 1.4 |
|
||||||
|
| \\ / A nd | Web: http://www.openfoam.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
|
||||||
|
root "";
|
||||||
|
case "";
|
||||||
|
instance "";
|
||||||
|
local "";
|
||||||
|
|
||||||
|
class volScalarField;
|
||||||
|
object Su;
|
||||||
|
}
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
|
||||||
|
dimensions [0 1 -1 0 0 0 0];
|
||||||
|
|
||||||
|
internalField uniform 0.135;
|
||||||
|
|
||||||
|
boundaryField
|
||||||
|
{
|
||||||
|
inlet
|
||||||
|
{
|
||||||
|
type fixedValue;
|
||||||
|
value uniform 0.135;
|
||||||
|
}
|
||||||
|
|
||||||
|
outlet
|
||||||
|
{
|
||||||
|
type inletOutlet;
|
||||||
|
inletValue uniform 0.135;
|
||||||
|
value uniform 0.135;
|
||||||
|
}
|
||||||
|
|
||||||
|
upperWall
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
|
||||||
|
lowerWall
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
|
||||||
|
frontAndBack
|
||||||
|
{
|
||||||
|
type empty;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
64
tutorials/Xoodles/pitzDaily/0/T
Normal file
64
tutorials/Xoodles/pitzDaily/0/T
Normal file
@ -0,0 +1,64 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 1.4 |
|
||||||
|
| \\ / A nd | Web: http://www.openfoam.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
|
||||||
|
root "";
|
||||||
|
case "";
|
||||||
|
instance "";
|
||||||
|
local "";
|
||||||
|
|
||||||
|
class volScalarField;
|
||||||
|
object T;
|
||||||
|
}
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
|
||||||
|
dimensions [0 0 0 1 0 0 0];
|
||||||
|
|
||||||
|
internalField uniform 293;
|
||||||
|
|
||||||
|
boundaryField
|
||||||
|
{
|
||||||
|
inlet
|
||||||
|
{
|
||||||
|
type fixedValue;
|
||||||
|
value uniform 293;
|
||||||
|
}
|
||||||
|
|
||||||
|
outlet
|
||||||
|
{
|
||||||
|
type inletOutlet;
|
||||||
|
inletValue uniform 293;
|
||||||
|
value uniform 293;
|
||||||
|
}
|
||||||
|
|
||||||
|
upperWall
|
||||||
|
{
|
||||||
|
type fixedValue;
|
||||||
|
value uniform 293;
|
||||||
|
}
|
||||||
|
|
||||||
|
lowerWall
|
||||||
|
{
|
||||||
|
type fixedValue;
|
||||||
|
value uniform 293;
|
||||||
|
}
|
||||||
|
|
||||||
|
frontAndBack
|
||||||
|
{
|
||||||
|
type empty;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
64
tutorials/Xoodles/pitzDaily/0/Tu
Normal file
64
tutorials/Xoodles/pitzDaily/0/Tu
Normal file
@ -0,0 +1,64 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 1.4 |
|
||||||
|
| \\ / A nd | Web: http://www.openfoam.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
|
||||||
|
root "";
|
||||||
|
case "";
|
||||||
|
instance "";
|
||||||
|
local "";
|
||||||
|
|
||||||
|
class volScalarField;
|
||||||
|
object Tu;
|
||||||
|
}
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
|
||||||
|
dimensions [0 0 0 1 0 0 0];
|
||||||
|
|
||||||
|
internalField uniform 293;
|
||||||
|
|
||||||
|
boundaryField
|
||||||
|
{
|
||||||
|
inlet
|
||||||
|
{
|
||||||
|
type fixedValue;
|
||||||
|
value uniform 293;
|
||||||
|
}
|
||||||
|
|
||||||
|
outlet
|
||||||
|
{
|
||||||
|
type inletOutlet;
|
||||||
|
inletValue uniform 293;
|
||||||
|
value uniform 293;
|
||||||
|
}
|
||||||
|
|
||||||
|
upperWall
|
||||||
|
{
|
||||||
|
type fixedValue;
|
||||||
|
value uniform 293;
|
||||||
|
}
|
||||||
|
|
||||||
|
lowerWall
|
||||||
|
{
|
||||||
|
type fixedValue;
|
||||||
|
value uniform 293;
|
||||||
|
}
|
||||||
|
|
||||||
|
frontAndBack
|
||||||
|
{
|
||||||
|
type empty;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
65
tutorials/Xoodles/pitzDaily/0/U
Normal file
65
tutorials/Xoodles/pitzDaily/0/U
Normal file
@ -0,0 +1,65 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 1.4 |
|
||||||
|
| \\ / A nd | Web: http://www.openfoam.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
|
||||||
|
root "";
|
||||||
|
case "";
|
||||||
|
instance "";
|
||||||
|
local "";
|
||||||
|
|
||||||
|
class volVectorField;
|
||||||
|
object U;
|
||||||
|
}
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
|
||||||
|
dimensions [0 1 -1 0 0 0 0];
|
||||||
|
|
||||||
|
internalField uniform (0 0 0);
|
||||||
|
|
||||||
|
boundaryField
|
||||||
|
{
|
||||||
|
inlet
|
||||||
|
{
|
||||||
|
type turbulentInlet;
|
||||||
|
referenceField uniform (13.3 0 0);
|
||||||
|
fluctuationScale (0.04 0.02 0.02);
|
||||||
|
}
|
||||||
|
|
||||||
|
outlet
|
||||||
|
{
|
||||||
|
type inletOutlet;
|
||||||
|
inletValue uniform (0 0 0);
|
||||||
|
value uniform (0 0 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
upperWall
|
||||||
|
{
|
||||||
|
type fixedValue;
|
||||||
|
value uniform (0 0 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
lowerWall
|
||||||
|
{
|
||||||
|
type fixedValue;
|
||||||
|
value uniform (0 0 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
frontAndBack
|
||||||
|
{
|
||||||
|
type empty;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
62
tutorials/Xoodles/pitzDaily/0/Xi
Normal file
62
tutorials/Xoodles/pitzDaily/0/Xi
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 1.4 |
|
||||||
|
| \\ / A nd | Web: http://www.openfoam.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
|
||||||
|
root "";
|
||||||
|
case "";
|
||||||
|
instance "";
|
||||||
|
local "";
|
||||||
|
|
||||||
|
class volScalarField;
|
||||||
|
object Xi;
|
||||||
|
}
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
|
||||||
|
dimensions [0 0 0 0 0 0 0];
|
||||||
|
|
||||||
|
internalField uniform 1;
|
||||||
|
|
||||||
|
boundaryField
|
||||||
|
{
|
||||||
|
inlet
|
||||||
|
{
|
||||||
|
type fixedValue;
|
||||||
|
value uniform 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
outlet
|
||||||
|
{
|
||||||
|
type inletOutlet;
|
||||||
|
inletValue uniform 1;
|
||||||
|
value uniform 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
upperWall
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
|
||||||
|
lowerWall
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
|
||||||
|
frontAndBack
|
||||||
|
{
|
||||||
|
type empty;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
62
tutorials/Xoodles/pitzDaily/0/b
Normal file
62
tutorials/Xoodles/pitzDaily/0/b
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 1.4 |
|
||||||
|
| \\ / A nd | Web: http://www.openfoam.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
|
||||||
|
root "";
|
||||||
|
case "";
|
||||||
|
instance "";
|
||||||
|
local "";
|
||||||
|
|
||||||
|
class volScalarField;
|
||||||
|
object b;
|
||||||
|
}
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
|
||||||
|
dimensions [0 0 0 0 0 0 0];
|
||||||
|
|
||||||
|
internalField uniform 1;
|
||||||
|
|
||||||
|
boundaryField
|
||||||
|
{
|
||||||
|
inlet
|
||||||
|
{
|
||||||
|
type fixedValue;
|
||||||
|
value uniform 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
outlet
|
||||||
|
{
|
||||||
|
type inletOutlet;
|
||||||
|
inletValue uniform 1;
|
||||||
|
value uniform 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
upperWall
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
|
||||||
|
lowerWall
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
|
||||||
|
frontAndBack
|
||||||
|
{
|
||||||
|
type empty;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
62
tutorials/Xoodles/pitzDaily/0/ft
Normal file
62
tutorials/Xoodles/pitzDaily/0/ft
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 1.4 |
|
||||||
|
| \\ / A nd | Web: http://www.openfoam.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
|
||||||
|
root "";
|
||||||
|
case "";
|
||||||
|
instance "";
|
||||||
|
local "";
|
||||||
|
|
||||||
|
class volScalarField;
|
||||||
|
object ft;
|
||||||
|
}
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
|
||||||
|
dimensions [0 0 0 0 0 0 0];
|
||||||
|
|
||||||
|
internalField uniform 0;
|
||||||
|
|
||||||
|
boundaryField
|
||||||
|
{
|
||||||
|
inlet
|
||||||
|
{
|
||||||
|
type fixedValue;
|
||||||
|
value uniform 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
outlet
|
||||||
|
{
|
||||||
|
type inletOutlet;
|
||||||
|
inletValue uniform 0;
|
||||||
|
value uniform 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
upperWall
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
|
||||||
|
lowerWall
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
|
||||||
|
frontAndBack
|
||||||
|
{
|
||||||
|
type empty;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
64
tutorials/Xoodles/pitzDaily/0/k
Normal file
64
tutorials/Xoodles/pitzDaily/0/k
Normal file
@ -0,0 +1,64 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 1.4 |
|
||||||
|
| \\ / A nd | Web: http://www.openfoam.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
|
||||||
|
root "";
|
||||||
|
case "";
|
||||||
|
instance "";
|
||||||
|
local "";
|
||||||
|
|
||||||
|
class volScalarField;
|
||||||
|
object k;
|
||||||
|
}
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
|
||||||
|
dimensions [0 2 -2 0 0 0 0];
|
||||||
|
|
||||||
|
internalField uniform 2e-05;
|
||||||
|
|
||||||
|
boundaryField
|
||||||
|
{
|
||||||
|
inlet
|
||||||
|
{
|
||||||
|
type fixedValue;
|
||||||
|
value uniform 2e-05;
|
||||||
|
}
|
||||||
|
|
||||||
|
outlet
|
||||||
|
{
|
||||||
|
type inletOutlet;
|
||||||
|
inletValue uniform 2e-05;
|
||||||
|
value uniform 2e-05;
|
||||||
|
}
|
||||||
|
|
||||||
|
upperWall
|
||||||
|
{
|
||||||
|
type fixedValue;
|
||||||
|
value uniform 1e-8;
|
||||||
|
}
|
||||||
|
|
||||||
|
lowerWall
|
||||||
|
{
|
||||||
|
type fixedValue;
|
||||||
|
value uniform 1e-8;
|
||||||
|
}
|
||||||
|
|
||||||
|
frontAndBack
|
||||||
|
{
|
||||||
|
type empty;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
59
tutorials/Xoodles/pitzDaily/0/muSgs
Normal file
59
tutorials/Xoodles/pitzDaily/0/muSgs
Normal file
@ -0,0 +1,59 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 1.4 |
|
||||||
|
| \\ / A nd | Web: http://www.openfoam.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
|
||||||
|
root "";
|
||||||
|
case "";
|
||||||
|
instance "";
|
||||||
|
local "";
|
||||||
|
|
||||||
|
class volScalarField;
|
||||||
|
object muSgs;
|
||||||
|
}
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
|
||||||
|
dimensions [1 -1 -1 0 0 0 0];
|
||||||
|
|
||||||
|
internalField uniform 0;
|
||||||
|
|
||||||
|
boundaryField
|
||||||
|
{
|
||||||
|
inlet
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
|
||||||
|
outlet
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
|
||||||
|
upperWall
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
|
||||||
|
lowerWall
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
|
||||||
|
frontAndBack
|
||||||
|
{
|
||||||
|
type empty;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
60
tutorials/Xoodles/pitzDaily/0/p
Normal file
60
tutorials/Xoodles/pitzDaily/0/p
Normal file
@ -0,0 +1,60 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 1.4 |
|
||||||
|
| \\ / A nd | Web: http://www.openfoam.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
|
||||||
|
root "";
|
||||||
|
case "";
|
||||||
|
instance "";
|
||||||
|
local "";
|
||||||
|
|
||||||
|
class volScalarField;
|
||||||
|
object p;
|
||||||
|
}
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
|
||||||
|
dimensions [1 -1 -2 0 0 0 0];
|
||||||
|
|
||||||
|
internalField uniform 100000;
|
||||||
|
|
||||||
|
boundaryField
|
||||||
|
{
|
||||||
|
inlet
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
|
||||||
|
outlet
|
||||||
|
{
|
||||||
|
type fixedValue;
|
||||||
|
value uniform 100000;
|
||||||
|
}
|
||||||
|
|
||||||
|
upperWall
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
|
||||||
|
lowerWall
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
|
||||||
|
frontAndBack
|
||||||
|
{
|
||||||
|
type empty;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
92
tutorials/Xoodles/pitzDaily/constant/combustionProperties
Normal file
92
tutorials/Xoodles/pitzDaily/constant/combustionProperties
Normal file
@ -0,0 +1,92 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 1.4 |
|
||||||
|
| \\ / A nd | Web: http://www.openfoam.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
|
||||||
|
root "";
|
||||||
|
case "";
|
||||||
|
instance "";
|
||||||
|
local "";
|
||||||
|
|
||||||
|
class dictionary;
|
||||||
|
object combustionProperties;
|
||||||
|
}
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
laminarFlameSpeedCorrelation const;
|
||||||
|
|
||||||
|
fuel Propane;
|
||||||
|
|
||||||
|
Su Su [0 1 -1 0 0 0 0] 0.135;
|
||||||
|
|
||||||
|
SuModel transport;
|
||||||
|
|
||||||
|
equivalenceRatio equivalenceRatio [0 0 0 0 0 0 0] 0.6;
|
||||||
|
|
||||||
|
sigmaExt sigmaExt [0 0 -1 0 0 0 0] 338;
|
||||||
|
|
||||||
|
XiModel transport;
|
||||||
|
|
||||||
|
XiCoef XiCoef [0 0 0 0 0 0 0] 0.62;
|
||||||
|
|
||||||
|
XiShapeCoef XiShapeCoef [0 0 0 0 0 0 0] 1;
|
||||||
|
|
||||||
|
uPrimeCoef uPrimeCoef [0 0 0 0 0 0 0] 1;
|
||||||
|
|
||||||
|
GuldersCoeffs
|
||||||
|
{
|
||||||
|
Methane
|
||||||
|
{
|
||||||
|
W W [0 0 0 0 0 0 0] 0.422;
|
||||||
|
eta eta [0 0 0 0 0 0 0] 0.15;
|
||||||
|
xi xi [0 0 0 0 0 0 0] 5.18;
|
||||||
|
alpha alpha [0 0 0 0 0 0 0] 2;
|
||||||
|
beta beta [0 0 0 0 0 0 0] -0.5;
|
||||||
|
f f [0 0 0 0 0 0 0] 2.3;
|
||||||
|
}
|
||||||
|
Propane
|
||||||
|
{
|
||||||
|
W W [0 0 0 0 0 0 0] 0.446;
|
||||||
|
eta eta [0 0 0 0 0 0 0] 0.12;
|
||||||
|
xi xi [0 0 0 0 0 0 0] 4.95;
|
||||||
|
alpha alpha [0 0 0 0 0 0 0] 1.77;
|
||||||
|
beta beta [0 0 0 0 0 0 0] -0.2;
|
||||||
|
f f [0 0 0 0 0 0 0] 2.3;
|
||||||
|
}
|
||||||
|
IsoOctane
|
||||||
|
{
|
||||||
|
W W [0 0 0 0 0 0 0] 0.4658;
|
||||||
|
eta eta [0 0 0 0 0 0 0] -0.326;
|
||||||
|
xi xi [0 0 0 0 0 0 0] 4.48;
|
||||||
|
alpha alpha [0 0 0 0 0 0 0] 1.56;
|
||||||
|
beta beta [0 0 0 0 0 0 0] -0.22;
|
||||||
|
f f [0 0 0 0 0 0 0] 2.3;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
ignite no;
|
||||||
|
|
||||||
|
ignitionSites
|
||||||
|
(
|
||||||
|
);
|
||||||
|
|
||||||
|
ignitionSphereFraction 0;
|
||||||
|
|
||||||
|
ignitionThickness ignitionThickness [0 1 0 0 0 0 0] 0;
|
||||||
|
|
||||||
|
ignitionCircleFraction 0;
|
||||||
|
|
||||||
|
ignitionKernelArea ignitionKernelArea [0 2 0 0 0 0 0] 0;
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
28
tutorials/Xoodles/pitzDaily/constant/environmentalProperties
Normal file
28
tutorials/Xoodles/pitzDaily/constant/environmentalProperties
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 1.4 |
|
||||||
|
| \\ / A nd | Web: http://www.openfoam.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
|
||||||
|
root "";
|
||||||
|
case "";
|
||||||
|
instance "";
|
||||||
|
local "";
|
||||||
|
|
||||||
|
class dictionary;
|
||||||
|
object environmentalProperties;
|
||||||
|
}
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
g g [0 1 -2 0 0 0 0] (0 -9.81 0);
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
161
tutorials/Xoodles/pitzDaily/constant/polyMesh/blockMeshDict
Normal file
161
tutorials/Xoodles/pitzDaily/constant/polyMesh/blockMeshDict
Normal file
@ -0,0 +1,161 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 1.4 |
|
||||||
|
| \\ / A nd | Web: http://www.openfoam.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
|
||||||
|
root "";
|
||||||
|
case "";
|
||||||
|
instance "";
|
||||||
|
local "";
|
||||||
|
|
||||||
|
class dictionary;
|
||||||
|
object blockMeshDict;
|
||||||
|
}
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
convertToMeters 0.001;
|
||||||
|
|
||||||
|
vertices
|
||||||
|
(
|
||||||
|
(-20.6 0 -0.5)
|
||||||
|
(-20.6 3 -0.5)
|
||||||
|
(-20.6 12.7 -0.5)
|
||||||
|
(-20.6 25.4 -0.5)
|
||||||
|
(0 -25.4 -0.5)
|
||||||
|
(0 -5 -0.5)
|
||||||
|
(0 0 -0.5)
|
||||||
|
(0 3 -0.5)
|
||||||
|
(0 12.7 -0.5)
|
||||||
|
(0 25.4 -0.5)
|
||||||
|
(206 -25.4 -0.5)
|
||||||
|
(206 -8.5 -0.5)
|
||||||
|
(206 0 -0.5)
|
||||||
|
(206 6.5 -0.5)
|
||||||
|
(206 17 -0.5)
|
||||||
|
(206 25.4 -0.5)
|
||||||
|
(290 -16.6 -0.5)
|
||||||
|
(290 -6.3 -0.5)
|
||||||
|
(290 0 -0.5)
|
||||||
|
(290 4.5 -0.5)
|
||||||
|
(290 11 -0.5)
|
||||||
|
(290 16.6 -0.5)
|
||||||
|
(-20.6 0 0.5)
|
||||||
|
(-20.6 3 0.5)
|
||||||
|
(-20.6 12.7 0.5)
|
||||||
|
(-20.6 25.4 0.5)
|
||||||
|
(0 -25.4 0.5)
|
||||||
|
(0 -5 0.5)
|
||||||
|
(0 0 0.5)
|
||||||
|
(0 3 0.5)
|
||||||
|
(0 12.7 0.5)
|
||||||
|
(0 25.4 0.5)
|
||||||
|
(206 -25.4 0.5)
|
||||||
|
(206 -8.5 0.5)
|
||||||
|
(206 0 0.5)
|
||||||
|
(206 6.5 0.5)
|
||||||
|
(206 17 0.5)
|
||||||
|
(206 25.4 0.5)
|
||||||
|
(290 -16.6 0.5)
|
||||||
|
(290 -6.3 0.5)
|
||||||
|
(290 0 0.5)
|
||||||
|
(290 4.5 0.5)
|
||||||
|
(290 11 0.5)
|
||||||
|
(290 16.6 0.5)
|
||||||
|
);
|
||||||
|
|
||||||
|
blocks
|
||||||
|
(
|
||||||
|
hex (0 6 7 1 22 28 29 23) (18 7 1) simpleGrading (0.5 1.8 1)
|
||||||
|
hex (1 7 8 2 23 29 30 24) (18 10 1) simpleGrading (0.5 4 1)
|
||||||
|
hex (2 8 9 3 24 30 31 25) (18 13 1) simpleGrading (0.5 0.25 1)
|
||||||
|
hex (4 10 11 5 26 32 33 27) (180 18 1) simpleGrading (4 1 1)
|
||||||
|
hex (5 11 12 6 27 33 34 28) (180 9 1) edgeGrading (4 4 4 4 0.5 1 1 0.5 1 1 1 1)
|
||||||
|
hex (6 12 13 7 28 34 35 29) (180 7 1) edgeGrading (4 4 4 4 1.8 1 1 1.8 1 1 1 1)
|
||||||
|
hex (7 13 14 8 29 35 36 30) (180 10 1) edgeGrading (4 4 4 4 4 1 1 4 1 1 1 1)
|
||||||
|
hex (8 14 15 9 30 36 37 31) (180 13 1) simpleGrading (4 0.25 1)
|
||||||
|
hex (10 16 17 11 32 38 39 33) (25 18 1) simpleGrading (2.5 1 1)
|
||||||
|
hex (11 17 18 12 33 39 40 34) (25 9 1) simpleGrading (2.5 1 1)
|
||||||
|
hex (12 18 19 13 34 40 41 35) (25 7 1) simpleGrading (2.5 1 1)
|
||||||
|
hex (13 19 20 14 35 41 42 36) (25 10 1) simpleGrading (2.5 1 1)
|
||||||
|
hex (14 20 21 15 36 42 43 37) (25 13 1) simpleGrading (2.5 0.25 1)
|
||||||
|
);
|
||||||
|
|
||||||
|
edges
|
||||||
|
(
|
||||||
|
);
|
||||||
|
|
||||||
|
patches
|
||||||
|
(
|
||||||
|
patch inlet
|
||||||
|
(
|
||||||
|
(0 22 23 1)
|
||||||
|
(1 23 24 2)
|
||||||
|
(2 24 25 3)
|
||||||
|
)
|
||||||
|
patch outlet
|
||||||
|
(
|
||||||
|
(16 17 39 38)
|
||||||
|
(17 18 40 39)
|
||||||
|
(18 19 41 40)
|
||||||
|
(19 20 42 41)
|
||||||
|
(20 21 43 42)
|
||||||
|
)
|
||||||
|
wall upperWall
|
||||||
|
(
|
||||||
|
(3 25 31 9)
|
||||||
|
(9 31 37 15)
|
||||||
|
(15 37 43 21)
|
||||||
|
)
|
||||||
|
wall lowerWall
|
||||||
|
(
|
||||||
|
(0 6 28 22)
|
||||||
|
(6 5 27 28)
|
||||||
|
(5 4 26 27)
|
||||||
|
(4 10 32 26)
|
||||||
|
(10 16 38 32)
|
||||||
|
)
|
||||||
|
empty frontAndBack
|
||||||
|
(
|
||||||
|
(22 28 29 23)
|
||||||
|
(23 29 30 24)
|
||||||
|
(24 30 31 25)
|
||||||
|
(26 32 33 27)
|
||||||
|
(27 33 34 28)
|
||||||
|
(28 34 35 29)
|
||||||
|
(29 35 36 30)
|
||||||
|
(30 36 37 31)
|
||||||
|
(32 38 39 33)
|
||||||
|
(33 39 40 34)
|
||||||
|
(34 40 41 35)
|
||||||
|
(35 41 42 36)
|
||||||
|
(36 42 43 37)
|
||||||
|
(0 1 7 6)
|
||||||
|
(1 2 8 7)
|
||||||
|
(2 3 9 8)
|
||||||
|
(4 5 11 10)
|
||||||
|
(5 6 12 11)
|
||||||
|
(6 7 13 12)
|
||||||
|
(7 8 14 13)
|
||||||
|
(8 9 15 14)
|
||||||
|
(10 11 17 16)
|
||||||
|
(11 12 18 17)
|
||||||
|
(12 13 19 18)
|
||||||
|
(13 14 20 19)
|
||||||
|
(14 15 21 20)
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
mergePatchPairs
|
||||||
|
(
|
||||||
|
);
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
68
tutorials/Xoodles/pitzDaily/constant/polyMesh/boundary
Normal file
68
tutorials/Xoodles/pitzDaily/constant/polyMesh/boundary
Normal file
@ -0,0 +1,68 @@
|
|||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 1.4.1 |
|
||||||
|
| \\ / A nd | Web: http://www.openfoam.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
|
||||||
|
root "/home/dm2/henry/OpenFOAM/OpenFOAM-1.4.1/tutorials/Xoodles";
|
||||||
|
case "pitzDaily";
|
||||||
|
instance "constant";
|
||||||
|
local "polyMesh";
|
||||||
|
|
||||||
|
class polyBoundaryMesh;
|
||||||
|
object boundary;
|
||||||
|
}
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
5
|
||||||
|
(
|
||||||
|
inlet
|
||||||
|
{
|
||||||
|
type patch;
|
||||||
|
physicalType turbulentInlet;
|
||||||
|
nFaces 30;
|
||||||
|
startFace 24170;
|
||||||
|
}
|
||||||
|
|
||||||
|
outlet
|
||||||
|
{
|
||||||
|
type patch;
|
||||||
|
physicalType inletOutlet;
|
||||||
|
nFaces 57;
|
||||||
|
startFace 24200;
|
||||||
|
}
|
||||||
|
|
||||||
|
upperWall
|
||||||
|
{
|
||||||
|
type wall;
|
||||||
|
physicalType fixedTemperatureWall;
|
||||||
|
nFaces 223;
|
||||||
|
startFace 24257;
|
||||||
|
}
|
||||||
|
|
||||||
|
lowerWall
|
||||||
|
{
|
||||||
|
type wall;
|
||||||
|
physicalType fixedTemperatureWall;
|
||||||
|
nFaces 250;
|
||||||
|
startFace 24480;
|
||||||
|
}
|
||||||
|
|
||||||
|
frontAndBack
|
||||||
|
{
|
||||||
|
type empty;
|
||||||
|
physicalType empty;
|
||||||
|
nFaces 24450;
|
||||||
|
startFace 24730;
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,49 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 1.4 |
|
||||||
|
| \\ / A nd | Web: http://www.openfoam.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
|
||||||
|
root "";
|
||||||
|
case "";
|
||||||
|
instance "";
|
||||||
|
local "";
|
||||||
|
|
||||||
|
class dictionary;
|
||||||
|
object thermophysicalProperties;
|
||||||
|
}
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
thermoType hhuMixtureThermo<homogeneousMixture<sutherlandTransport<specieThermo<janafThermo<perfectGas>>>>>;
|
||||||
|
|
||||||
|
stoichiometricAirFuelMassRatio stoichiometricAirFuelMassRatio [0 0 0 0 0 0 0] 15.675;
|
||||||
|
|
||||||
|
fuel fuel 1 44.0962 200 5000 1000 7.53414 0.0188722 -6.27185e-06 9.14756e-10 -4.78381e-14 -16467.5 -17.8923 0.933554 0.0264246 6.10597e-06 -2.19775e-08 9.51493e-12 -13958.5 19.2017 1.67212e-06 170.672;
|
||||||
|
|
||||||
|
oxidant oxidant 1 28.8504 200 6000 1000 3.10205 0.00123963 -4.17512e-07 6.60292e-11 -3.87448e-15 -985.517 5.35187 3.58378 -0.0007269 1.66985e-06 -1.08452e-10 -4.31951e-13 -1050.53 3.11223 1.67212e-06 170.672;
|
||||||
|
|
||||||
|
reactants reactants 24.8095 29.4649 200 5000 1000 3.28069 0.00195035 -6.53483e-07 1.00239e-10 -5.64653e-15 -1609.55 4.41496 3.47696 0.000367499 1.84866e-06 -9.8993e-10 -3.10214e-14 -1570.81 3.76075 1.67212e-06 170.672;
|
||||||
|
|
||||||
|
products products 1 28.3233 200 5000 1000 3.106 0.00179682 -5.94382e-07 9.04998e-11 -5.08033e-15 -11003.7 5.11872 3.49612 0.000650364 -2.08029e-07 1.2291e-09 -7.73697e-13 -11080.3 3.18978 1.67212e-06 170.672;
|
||||||
|
|
||||||
|
burntProducts burntProducts 25.8095 28.3233 200 6000 1000 3.106 0.00179682 -5.94382e-07 9.04998e-11 -5.08033e-15 -11003.7 5.11872 3.49612 0.000650364 -2.08029e-07 1.2291e-09 -7.73697e-13 -11080.3 3.18978 1.67212e-06 170.672;
|
||||||
|
|
||||||
|
/*
|
||||||
|
thermoType hhuMixtureThermo<homogeneousMixture<constTransport<specieThermo<hConstThermo<perfectGas>>>>>;
|
||||||
|
|
||||||
|
stoichiometricAirFuelMassRatio stoichiometricAirFuelMassRatio [0 0 0 0 0 0 0] 9.286;
|
||||||
|
|
||||||
|
reactants reactants 1 28 1330.9 2.133e+06 1.798e-05 0.7;
|
||||||
|
|
||||||
|
products products 1 28 1579.9 0 5.016e-05 0.7;
|
||||||
|
*/
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
127
tutorials/Xoodles/pitzDaily/constant/turbulenceProperties
Normal file
127
tutorials/Xoodles/pitzDaily/constant/turbulenceProperties
Normal file
@ -0,0 +1,127 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 1.4 |
|
||||||
|
| \\ / A nd | Web: http://www.openfoam.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
|
||||||
|
root "";
|
||||||
|
case "";
|
||||||
|
instance "";
|
||||||
|
local "";
|
||||||
|
|
||||||
|
class dictionary;
|
||||||
|
object turbulenceProperties;
|
||||||
|
}
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
LESmodel oneEqEddy;
|
||||||
|
|
||||||
|
delta cubeRootVol;
|
||||||
|
|
||||||
|
laminarCoeffs
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
oneEqEddyCoeffs
|
||||||
|
{
|
||||||
|
ce ce [0 0 0 0 0 0 0] 1.048;
|
||||||
|
ck ck [0 0 0 0 0 0 0] 0.094;
|
||||||
|
}
|
||||||
|
|
||||||
|
dynOneEqEddyCoeffs
|
||||||
|
{
|
||||||
|
ce ce [0 0 0 0 0 0 0] 1.05;
|
||||||
|
filter simple;
|
||||||
|
}
|
||||||
|
|
||||||
|
lowReOneEqEddyCoeffs
|
||||||
|
{
|
||||||
|
ck ck [0 0 0 0 0 0 0] 0.07;
|
||||||
|
ce ce [0 0 0 0 0 0 0] 1.05;
|
||||||
|
beta beta [0 0 0 0 0 0 0] 0.01;
|
||||||
|
}
|
||||||
|
|
||||||
|
SmagorinskyCoeffs
|
||||||
|
{
|
||||||
|
ck ck [0 0 0 0 0 0 0] 0.02;
|
||||||
|
ce ce [0 0 0 0 0 0 0] 0.202;
|
||||||
|
}
|
||||||
|
|
||||||
|
DeardorffDiffStressCoeffs
|
||||||
|
{
|
||||||
|
ce ce [0 0 0 0 0 0 0] 1.048;
|
||||||
|
ck ck [0 0 0 0 0 0 0] 0.094;
|
||||||
|
cm cm [0 0 0 0 0 0 0] 4.13;
|
||||||
|
}
|
||||||
|
|
||||||
|
cubeRootVolCoeffs
|
||||||
|
{
|
||||||
|
deltaCoeff 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
PrandtlCoeffs
|
||||||
|
{
|
||||||
|
delta cubeRootVol;
|
||||||
|
cubeRootVolCoeffs
|
||||||
|
{
|
||||||
|
deltaCoeff 1;
|
||||||
|
}
|
||||||
|
smoothCoeffs
|
||||||
|
{
|
||||||
|
delta cubeRootVol;
|
||||||
|
cubeRootVolCoeffs
|
||||||
|
{
|
||||||
|
deltaCoeff 1;
|
||||||
|
}
|
||||||
|
maxDeltaRatio 1.1;
|
||||||
|
}
|
||||||
|
Cdelta Cdelta [0 0 0 0 0 0 0] 0.158;
|
||||||
|
}
|
||||||
|
|
||||||
|
vanDriestCoeffs
|
||||||
|
{
|
||||||
|
delta cubeRootVol;
|
||||||
|
cubeRootVolCoeffs
|
||||||
|
{
|
||||||
|
deltaCoeff 1;
|
||||||
|
}
|
||||||
|
smoothCoeffs
|
||||||
|
{
|
||||||
|
delta cubeRootVol;
|
||||||
|
cubeRootVolCoeffs
|
||||||
|
{
|
||||||
|
deltaCoeff 1;
|
||||||
|
}
|
||||||
|
maxDeltaRatio 1.1;
|
||||||
|
}
|
||||||
|
Aplus Aplus [0 0 0 0 0 0 0] 26;
|
||||||
|
Cdelta Cdelta [0 0 0 0 0 0 0] 0.158;
|
||||||
|
}
|
||||||
|
|
||||||
|
smoothCoeffs
|
||||||
|
{
|
||||||
|
delta cubeRootVol;
|
||||||
|
cubeRootVolCoeffs
|
||||||
|
{
|
||||||
|
deltaCoeff 1;
|
||||||
|
}
|
||||||
|
maxDeltaRatio 1.1;
|
||||||
|
}
|
||||||
|
|
||||||
|
kappa kappa [0 0 0 0 0 0 0] 0.4187;
|
||||||
|
|
||||||
|
wallFunctionCoeffs
|
||||||
|
{
|
||||||
|
E E [0 0 0 0 0 0 0] 9;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
85
tutorials/Xoodles/pitzDaily/system/controlDict
Normal file
85
tutorials/Xoodles/pitzDaily/system/controlDict
Normal file
@ -0,0 +1,85 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 1.4 |
|
||||||
|
| \\ / A nd | Web: http://www.openfoam.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
|
||||||
|
root "";
|
||||||
|
case "";
|
||||||
|
instance "";
|
||||||
|
local "";
|
||||||
|
|
||||||
|
class dictionary;
|
||||||
|
object controlDict;
|
||||||
|
}
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
application Xoodles;
|
||||||
|
|
||||||
|
startFrom startTime;
|
||||||
|
|
||||||
|
startTime 0;
|
||||||
|
|
||||||
|
stopAt endTime;
|
||||||
|
|
||||||
|
endTime 10;
|
||||||
|
|
||||||
|
deltaT 5e-06;
|
||||||
|
|
||||||
|
writeControl runTime;
|
||||||
|
|
||||||
|
writeInterval 0.1;
|
||||||
|
|
||||||
|
purgeWrite 0;
|
||||||
|
|
||||||
|
writeFormat ascii;
|
||||||
|
|
||||||
|
writePrecision 6;
|
||||||
|
|
||||||
|
writeCompression uncompressed;
|
||||||
|
|
||||||
|
timeFormat general;
|
||||||
|
|
||||||
|
timePrecision 6;
|
||||||
|
|
||||||
|
runTimeModifiable yes;
|
||||||
|
|
||||||
|
functions
|
||||||
|
(
|
||||||
|
fieldAverage1
|
||||||
|
{
|
||||||
|
// Type of functionObject
|
||||||
|
type fieldAverage;
|
||||||
|
|
||||||
|
// Where to load it from (if not already in solver)
|
||||||
|
functionObjectLibs ("libfieldAverage.so");
|
||||||
|
|
||||||
|
// Fields to be averaged - runTime modifiable
|
||||||
|
fields
|
||||||
|
(
|
||||||
|
U
|
||||||
|
{
|
||||||
|
mean on;
|
||||||
|
prime2Mean on;
|
||||||
|
base time;
|
||||||
|
}
|
||||||
|
p
|
||||||
|
{
|
||||||
|
mean on;
|
||||||
|
prime2Mean on;
|
||||||
|
base time;
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
92
tutorials/Xoodles/pitzDaily/system/fvSchemes
Normal file
92
tutorials/Xoodles/pitzDaily/system/fvSchemes
Normal file
@ -0,0 +1,92 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 1.4 |
|
||||||
|
| \\ / A nd | Web: http://www.openfoam.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
|
||||||
|
root "";
|
||||||
|
case "";
|
||||||
|
instance "";
|
||||||
|
local "";
|
||||||
|
|
||||||
|
class dictionary;
|
||||||
|
object fvSchemes;
|
||||||
|
}
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
ddtSchemes
|
||||||
|
{
|
||||||
|
default Euler;
|
||||||
|
}
|
||||||
|
|
||||||
|
gradSchemes
|
||||||
|
{
|
||||||
|
default Gauss linear;
|
||||||
|
grad(p) Gauss linear;
|
||||||
|
}
|
||||||
|
|
||||||
|
divSchemes
|
||||||
|
{
|
||||||
|
default none;
|
||||||
|
div(phi,U) Gauss limitedLinearV 1;
|
||||||
|
div(phid,p) Gauss linear;
|
||||||
|
div(phiU,p) Gauss linear;
|
||||||
|
div(phi,k) Gauss limitedLinear 1;
|
||||||
|
div(phi,B) Gauss limitedLinear 1;
|
||||||
|
div(B) Gauss linear;
|
||||||
|
div(phiXi,Xi) Gauss limitedLinear 1;
|
||||||
|
div(phiXi,Su) Gauss limitedLinear 1;
|
||||||
|
div(phiSt,b) Gauss limitedLinear01 1;
|
||||||
|
div(phi,ft_b_h_hu) Gauss multivariateSelection
|
||||||
|
{
|
||||||
|
fu limitedLinear01 1;
|
||||||
|
ft limitedLinear01 1;
|
||||||
|
b limitedLinear01 1;
|
||||||
|
h limitedLinear 1;
|
||||||
|
hu limitedLinear 1;
|
||||||
|
};
|
||||||
|
div(U) Gauss linear;
|
||||||
|
div((Su*grad(b))) Gauss linear;
|
||||||
|
div((U+((Su*Xi)*grad(b)))) Gauss linear;
|
||||||
|
div((muEff*dev2(grad(U).T()))) Gauss linear;
|
||||||
|
}
|
||||||
|
|
||||||
|
laplacianSchemes
|
||||||
|
{
|
||||||
|
default none;
|
||||||
|
laplacian(muEff,U) Gauss linear corrected;
|
||||||
|
laplacian(DkEff,k) Gauss linear corrected;
|
||||||
|
laplacian(DBEff,B) Gauss linear corrected;
|
||||||
|
laplacian((rho*(1|A(U))),p) Gauss linear corrected;
|
||||||
|
laplacian(muEff,b) Gauss linear corrected;
|
||||||
|
laplacian(muEff,ft) Gauss linear corrected;
|
||||||
|
laplacian(alphaEff,h) Gauss linear corrected;
|
||||||
|
laplacian(alphaEff,hu) Gauss linear corrected;
|
||||||
|
}
|
||||||
|
|
||||||
|
interpolationSchemes
|
||||||
|
{
|
||||||
|
default linear;
|
||||||
|
}
|
||||||
|
|
||||||
|
snGradSchemes
|
||||||
|
{
|
||||||
|
default corrected;
|
||||||
|
}
|
||||||
|
|
||||||
|
fluxRequired
|
||||||
|
{
|
||||||
|
default no;
|
||||||
|
p;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
114
tutorials/Xoodles/pitzDaily/system/fvSolution
Normal file
114
tutorials/Xoodles/pitzDaily/system/fvSolution
Normal file
@ -0,0 +1,114 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 1.4 |
|
||||||
|
| \\ / A nd | Web: http://www.openfoam.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
|
||||||
|
root "";
|
||||||
|
case "";
|
||||||
|
instance "";
|
||||||
|
local "";
|
||||||
|
|
||||||
|
class dictionary;
|
||||||
|
object fvSolution;
|
||||||
|
}
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
solvers
|
||||||
|
{
|
||||||
|
rho PCG
|
||||||
|
{
|
||||||
|
preconditioner DIC;
|
||||||
|
tolerance 1e-05;
|
||||||
|
relTol 0;
|
||||||
|
};
|
||||||
|
U PBiCG
|
||||||
|
{
|
||||||
|
preconditioner DILU;
|
||||||
|
tolerance 1e-05;
|
||||||
|
relTol 0;
|
||||||
|
};
|
||||||
|
p PCG
|
||||||
|
{
|
||||||
|
preconditioner DIC;
|
||||||
|
tolerance 1e-06;
|
||||||
|
relTol 0;
|
||||||
|
};
|
||||||
|
ft PBiCG
|
||||||
|
{
|
||||||
|
preconditioner DILU;
|
||||||
|
tolerance 1e-05;
|
||||||
|
relTol 0;
|
||||||
|
};
|
||||||
|
fu PBiCG
|
||||||
|
{
|
||||||
|
preconditioner DILU;
|
||||||
|
tolerance 1e-05;
|
||||||
|
relTol 0;
|
||||||
|
};
|
||||||
|
b PBiCG
|
||||||
|
{
|
||||||
|
preconditioner DILU;
|
||||||
|
tolerance 1e-05;
|
||||||
|
relTol 0;
|
||||||
|
};
|
||||||
|
Xi PBiCG
|
||||||
|
{
|
||||||
|
preconditioner DILU;
|
||||||
|
tolerance 1e-05;
|
||||||
|
relTol 0;
|
||||||
|
};
|
||||||
|
Su PBiCG
|
||||||
|
{
|
||||||
|
preconditioner DILU;
|
||||||
|
tolerance 1e-05;
|
||||||
|
relTol 0;
|
||||||
|
};
|
||||||
|
h PBiCG
|
||||||
|
{
|
||||||
|
preconditioner DILU;
|
||||||
|
tolerance 1e-05;
|
||||||
|
relTol 0;
|
||||||
|
};
|
||||||
|
hu PBiCG
|
||||||
|
{
|
||||||
|
preconditioner DILU;
|
||||||
|
tolerance 1e-05;
|
||||||
|
relTol 0;
|
||||||
|
};
|
||||||
|
R PBiCG
|
||||||
|
{
|
||||||
|
preconditioner DILU;
|
||||||
|
tolerance 1e-05;
|
||||||
|
relTol 0;
|
||||||
|
};
|
||||||
|
k PBiCG
|
||||||
|
{
|
||||||
|
preconditioner DILU;
|
||||||
|
tolerance 1e-05;
|
||||||
|
relTol 0;
|
||||||
|
};
|
||||||
|
epsilon PBiCG
|
||||||
|
{
|
||||||
|
preconditioner DILU;
|
||||||
|
tolerance 1e-05;
|
||||||
|
relTol 0;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
PISO
|
||||||
|
{
|
||||||
|
nCorrectors 2;
|
||||||
|
nNonOrthogonalCorrectors 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
60
tutorials/Xoodles/pitzDaily3D/0/B
Normal file
60
tutorials/Xoodles/pitzDaily3D/0/B
Normal file
@ -0,0 +1,60 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 1.4 |
|
||||||
|
| \\ / A nd | Web: http://www.openfoam.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
|
||||||
|
root "";
|
||||||
|
case "";
|
||||||
|
instance "";
|
||||||
|
local "";
|
||||||
|
|
||||||
|
class volTensorField;
|
||||||
|
object B;
|
||||||
|
}
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
|
||||||
|
dimensions [1 -1 -2 0 0 0 0];
|
||||||
|
|
||||||
|
internalField uniform (0 0 0 0 0 0 0 0 0);
|
||||||
|
|
||||||
|
boundaryField
|
||||||
|
{
|
||||||
|
inlet
|
||||||
|
{
|
||||||
|
type fixedValue;
|
||||||
|
value uniform (0 0 0 0 0 0 0 0 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
outlet
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
|
||||||
|
upperWall
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
|
||||||
|
lowerWall
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
|
||||||
|
frontAndBack
|
||||||
|
{
|
||||||
|
type cyclic;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
62
tutorials/Xoodles/pitzDaily3D/0/Su
Normal file
62
tutorials/Xoodles/pitzDaily3D/0/Su
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 1.4 |
|
||||||
|
| \\ / A nd | Web: http://www.openfoam.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
|
||||||
|
root "";
|
||||||
|
case "";
|
||||||
|
instance "";
|
||||||
|
local "";
|
||||||
|
|
||||||
|
class volScalarField;
|
||||||
|
object Su;
|
||||||
|
}
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
|
||||||
|
dimensions [0 1 -1 0 0 0 0];
|
||||||
|
|
||||||
|
internalField uniform 0.135;
|
||||||
|
|
||||||
|
boundaryField
|
||||||
|
{
|
||||||
|
inlet
|
||||||
|
{
|
||||||
|
type fixedValue;
|
||||||
|
value uniform 0.135;
|
||||||
|
}
|
||||||
|
|
||||||
|
outlet
|
||||||
|
{
|
||||||
|
type inletOutlet;
|
||||||
|
inletValue uniform 0.135;
|
||||||
|
value uniform 0.135;
|
||||||
|
}
|
||||||
|
|
||||||
|
upperWall
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
|
||||||
|
lowerWall
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
|
||||||
|
frontAndBack
|
||||||
|
{
|
||||||
|
type cyclic;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
64
tutorials/Xoodles/pitzDaily3D/0/T
Normal file
64
tutorials/Xoodles/pitzDaily3D/0/T
Normal file
@ -0,0 +1,64 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 1.4 |
|
||||||
|
| \\ / A nd | Web: http://www.openfoam.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
|
||||||
|
root "";
|
||||||
|
case "";
|
||||||
|
instance "";
|
||||||
|
local "";
|
||||||
|
|
||||||
|
class volScalarField;
|
||||||
|
object T;
|
||||||
|
}
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
|
||||||
|
dimensions [0 0 0 1 0 0 0];
|
||||||
|
|
||||||
|
internalField uniform 293;
|
||||||
|
|
||||||
|
boundaryField
|
||||||
|
{
|
||||||
|
inlet
|
||||||
|
{
|
||||||
|
type fixedValue;
|
||||||
|
value uniform 293;
|
||||||
|
}
|
||||||
|
|
||||||
|
outlet
|
||||||
|
{
|
||||||
|
type inletOutlet;
|
||||||
|
inletValue uniform 293;
|
||||||
|
value uniform 293;
|
||||||
|
}
|
||||||
|
|
||||||
|
upperWall
|
||||||
|
{
|
||||||
|
type fixedValue;
|
||||||
|
value uniform 293;
|
||||||
|
}
|
||||||
|
|
||||||
|
lowerWall
|
||||||
|
{
|
||||||
|
type fixedValue;
|
||||||
|
value uniform 293;
|
||||||
|
}
|
||||||
|
|
||||||
|
frontAndBack
|
||||||
|
{
|
||||||
|
type cyclic;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
64
tutorials/Xoodles/pitzDaily3D/0/Tu
Normal file
64
tutorials/Xoodles/pitzDaily3D/0/Tu
Normal file
@ -0,0 +1,64 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 1.4 |
|
||||||
|
| \\ / A nd | Web: http://www.openfoam.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
|
||||||
|
root "";
|
||||||
|
case "";
|
||||||
|
instance "";
|
||||||
|
local "";
|
||||||
|
|
||||||
|
class volScalarField;
|
||||||
|
object Tu;
|
||||||
|
}
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
|
||||||
|
dimensions [0 0 0 1 0 0 0];
|
||||||
|
|
||||||
|
internalField uniform 293;
|
||||||
|
|
||||||
|
boundaryField
|
||||||
|
{
|
||||||
|
inlet
|
||||||
|
{
|
||||||
|
type fixedValue;
|
||||||
|
value uniform 293;
|
||||||
|
}
|
||||||
|
|
||||||
|
outlet
|
||||||
|
{
|
||||||
|
type inletOutlet;
|
||||||
|
inletValue uniform 293;
|
||||||
|
value uniform 293;
|
||||||
|
}
|
||||||
|
|
||||||
|
upperWall
|
||||||
|
{
|
||||||
|
type fixedValue;
|
||||||
|
value uniform 293;
|
||||||
|
}
|
||||||
|
|
||||||
|
lowerWall
|
||||||
|
{
|
||||||
|
type fixedValue;
|
||||||
|
value uniform 293;
|
||||||
|
}
|
||||||
|
|
||||||
|
frontAndBack
|
||||||
|
{
|
||||||
|
type cyclic;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
65
tutorials/Xoodles/pitzDaily3D/0/U
Normal file
65
tutorials/Xoodles/pitzDaily3D/0/U
Normal file
@ -0,0 +1,65 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 1.4 |
|
||||||
|
| \\ / A nd | Web: http://www.openfoam.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
|
||||||
|
root "";
|
||||||
|
case "";
|
||||||
|
instance "";
|
||||||
|
local "";
|
||||||
|
|
||||||
|
class volVectorField;
|
||||||
|
object U;
|
||||||
|
}
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
|
||||||
|
dimensions [0 1 -1 0 0 0 0];
|
||||||
|
|
||||||
|
internalField uniform (0 0 0);
|
||||||
|
|
||||||
|
boundaryField
|
||||||
|
{
|
||||||
|
inlet
|
||||||
|
{
|
||||||
|
type turbulentInlet;
|
||||||
|
referenceField uniform (13.3 0 0);
|
||||||
|
fluctuationScale (0.04 0.02 0.02);
|
||||||
|
}
|
||||||
|
|
||||||
|
outlet
|
||||||
|
{
|
||||||
|
type inletOutlet;
|
||||||
|
inletValue uniform (0 0 0);
|
||||||
|
value uniform (0 0 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
upperWall
|
||||||
|
{
|
||||||
|
type fixedValue;
|
||||||
|
value uniform (0 0 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
lowerWall
|
||||||
|
{
|
||||||
|
type fixedValue;
|
||||||
|
value uniform (0 0 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
frontAndBack
|
||||||
|
{
|
||||||
|
type cyclic;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
62
tutorials/Xoodles/pitzDaily3D/0/Xi
Normal file
62
tutorials/Xoodles/pitzDaily3D/0/Xi
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 1.4 |
|
||||||
|
| \\ / A nd | Web: http://www.openfoam.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
|
||||||
|
root "";
|
||||||
|
case "";
|
||||||
|
instance "";
|
||||||
|
local "";
|
||||||
|
|
||||||
|
class volScalarField;
|
||||||
|
object Xi;
|
||||||
|
}
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
|
||||||
|
dimensions [0 0 0 0 0 0 0];
|
||||||
|
|
||||||
|
internalField uniform 1;
|
||||||
|
|
||||||
|
boundaryField
|
||||||
|
{
|
||||||
|
inlet
|
||||||
|
{
|
||||||
|
type fixedValue;
|
||||||
|
value uniform 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
outlet
|
||||||
|
{
|
||||||
|
type inletOutlet;
|
||||||
|
inletValue uniform 1;
|
||||||
|
value uniform 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
upperWall
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
|
||||||
|
lowerWall
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
|
||||||
|
frontAndBack
|
||||||
|
{
|
||||||
|
type cyclic;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
62
tutorials/Xoodles/pitzDaily3D/0/b
Normal file
62
tutorials/Xoodles/pitzDaily3D/0/b
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 1.4 |
|
||||||
|
| \\ / A nd | Web: http://www.openfoam.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
|
||||||
|
root "";
|
||||||
|
case "";
|
||||||
|
instance "";
|
||||||
|
local "";
|
||||||
|
|
||||||
|
class volScalarField;
|
||||||
|
object b;
|
||||||
|
}
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
|
||||||
|
dimensions [0 0 0 0 0 0 0];
|
||||||
|
|
||||||
|
internalField uniform 1;
|
||||||
|
|
||||||
|
boundaryField
|
||||||
|
{
|
||||||
|
inlet
|
||||||
|
{
|
||||||
|
type fixedValue;
|
||||||
|
value uniform 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
outlet
|
||||||
|
{
|
||||||
|
type inletOutlet;
|
||||||
|
inletValue uniform 1;
|
||||||
|
value uniform 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
upperWall
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
|
||||||
|
lowerWall
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
|
||||||
|
frontAndBack
|
||||||
|
{
|
||||||
|
type cyclic;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
62
tutorials/Xoodles/pitzDaily3D/0/ft
Normal file
62
tutorials/Xoodles/pitzDaily3D/0/ft
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 1.4 |
|
||||||
|
| \\ / A nd | Web: http://www.openfoam.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
|
||||||
|
root "";
|
||||||
|
case "";
|
||||||
|
instance "";
|
||||||
|
local "";
|
||||||
|
|
||||||
|
class volScalarField;
|
||||||
|
object ft;
|
||||||
|
}
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
|
||||||
|
dimensions [0 0 0 0 0 0 0];
|
||||||
|
|
||||||
|
internalField uniform 0;
|
||||||
|
|
||||||
|
boundaryField
|
||||||
|
{
|
||||||
|
inlet
|
||||||
|
{
|
||||||
|
type fixedValue;
|
||||||
|
value uniform 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
outlet
|
||||||
|
{
|
||||||
|
type inletOutlet;
|
||||||
|
inletValue uniform 0;
|
||||||
|
value uniform 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
upperWall
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
|
||||||
|
lowerWall
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
|
||||||
|
frontAndBack
|
||||||
|
{
|
||||||
|
type cyclic;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
64
tutorials/Xoodles/pitzDaily3D/0/k
Normal file
64
tutorials/Xoodles/pitzDaily3D/0/k
Normal file
@ -0,0 +1,64 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 1.4 |
|
||||||
|
| \\ / A nd | Web: http://www.openfoam.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
|
||||||
|
root "";
|
||||||
|
case "";
|
||||||
|
instance "";
|
||||||
|
local "";
|
||||||
|
|
||||||
|
class volScalarField;
|
||||||
|
object k;
|
||||||
|
}
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
|
||||||
|
dimensions [0 2 -2 0 0 0 0];
|
||||||
|
|
||||||
|
internalField uniform 0;
|
||||||
|
|
||||||
|
boundaryField
|
||||||
|
{
|
||||||
|
inlet
|
||||||
|
{
|
||||||
|
type fixedValue;
|
||||||
|
value uniform 2e-05;
|
||||||
|
}
|
||||||
|
|
||||||
|
outlet
|
||||||
|
{
|
||||||
|
type inletOutlet;
|
||||||
|
inletValue uniform 2e-05;
|
||||||
|
value uniform 2e-05;
|
||||||
|
}
|
||||||
|
|
||||||
|
upperWall
|
||||||
|
{
|
||||||
|
type fixedValue;
|
||||||
|
value uniform 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
lowerWall
|
||||||
|
{
|
||||||
|
type fixedValue;
|
||||||
|
value uniform 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
frontAndBack
|
||||||
|
{
|
||||||
|
type cyclic;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
59
tutorials/Xoodles/pitzDaily3D/0/muSgs
Normal file
59
tutorials/Xoodles/pitzDaily3D/0/muSgs
Normal file
@ -0,0 +1,59 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 1.4 |
|
||||||
|
| \\ / A nd | Web: http://www.openfoam.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
|
||||||
|
root "";
|
||||||
|
case "";
|
||||||
|
instance "";
|
||||||
|
local "";
|
||||||
|
|
||||||
|
class volScalarField;
|
||||||
|
object muSgs;
|
||||||
|
}
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
|
||||||
|
dimensions [1 -1 -1 0 0 0 0];
|
||||||
|
|
||||||
|
internalField uniform 0;
|
||||||
|
|
||||||
|
boundaryField
|
||||||
|
{
|
||||||
|
inlet
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
|
||||||
|
outlet
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
|
||||||
|
upperWall
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
|
||||||
|
lowerWall
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
|
||||||
|
frontAndBack
|
||||||
|
{
|
||||||
|
type cyclic;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
60
tutorials/Xoodles/pitzDaily3D/0/p
Normal file
60
tutorials/Xoodles/pitzDaily3D/0/p
Normal file
@ -0,0 +1,60 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: 1.4 |
|
||||||
|
| \\ / A nd | Web: http://www.openfoam.org |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
|
||||||
|
root "";
|
||||||
|
case "";
|
||||||
|
instance "";
|
||||||
|
local "";
|
||||||
|
|
||||||
|
class volScalarField;
|
||||||
|
object p;
|
||||||
|
}
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
|
||||||
|
dimensions [1 -1 -2 0 0 0 0];
|
||||||
|
|
||||||
|
internalField uniform 100000;
|
||||||
|
|
||||||
|
boundaryField
|
||||||
|
{
|
||||||
|
inlet
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
|
||||||
|
outlet
|
||||||
|
{
|
||||||
|
type fixedValue;
|
||||||
|
value uniform 100000;
|
||||||
|
}
|
||||||
|
|
||||||
|
upperWall
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
|
||||||
|
lowerWall
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
|
||||||
|
frontAndBack
|
||||||
|
{
|
||||||
|
type cyclic;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user