First complete compiled version
This commit is contained in:
parent
c382fe369c
commit
6489771b11
2288 changed files with 45771 additions and 2333113 deletions
|
@ -51,7 +51,7 @@ using namespace Foam;
|
|||
|
||||
void modifyOrAddFace
|
||||
(
|
||||
polyTopoChange& meshMod,
|
||||
directTopoChange& meshMod,
|
||||
const face& f,
|
||||
const label faceI,
|
||||
const label own,
|
||||
|
@ -59,7 +59,6 @@ void modifyOrAddFace
|
|||
const label newPatchI,
|
||||
const label zoneID,
|
||||
const bool zoneFlip,
|
||||
|
||||
PackedBoolList& modifiedFace
|
||||
)
|
||||
{
|
||||
|
@ -398,7 +397,8 @@ int main(int argc, char *argv[])
|
|||
if (patchWarned.insert(patchI))
|
||||
{
|
||||
WarningIn(args.executable())
|
||||
<< "Found boundary face (in patch " << pp.name()
|
||||
<< "Found boundary face (in patch "
|
||||
<< pp.name()
|
||||
<< ") in faceZone " << fZone.name()
|
||||
<< " to convert to baffle patch "
|
||||
<< patches[newPatchI].name()
|
||||
|
@ -408,43 +408,23 @@ int main(int argc, char *argv[])
|
|||
<< " boundary faces." << endl;
|
||||
}
|
||||
|
||||
meshMod.setAction
|
||||
modifyOrAddFace
|
||||
(
|
||||
polyModifyFace
|
||||
(
|
||||
f, // modified face
|
||||
meshMod,
|
||||
mesh.faces()[faceI], // modified face
|
||||
faceI, // label of face
|
||||
mesh.faceOwner()[faceI], // owner
|
||||
-1, // neighbour
|
||||
false, // face flip
|
||||
newPatch[faceI], // patch for face
|
||||
false, // remove from zone
|
||||
zoneID, // zone for face
|
||||
zoneFlip // face flip in zone
|
||||
)
|
||||
newPatchI, // patch for face
|
||||
zoneID.index(), // zone for face
|
||||
fZone.flipMap()[zoneFaceI], // face flip in zone
|
||||
modifiedFace // modify or add status
|
||||
);
|
||||
|
||||
if (mesh.isInternalFace(faceI))
|
||||
{
|
||||
meshMod.setAction
|
||||
(
|
||||
polyAddFace
|
||||
(
|
||||
f.reverseFace(), // modified face
|
||||
mesh.faceNeighbour()[faceI],// owner
|
||||
-1, // neighbour
|
||||
-1, // masterPointID
|
||||
-1, // masterEdgeID
|
||||
faceI, // masterFaceID,
|
||||
false, // face flip
|
||||
newPatch[faceI], // patch for face
|
||||
zoneID, // zone for face
|
||||
zoneFlip // face flip in zone
|
||||
)
|
||||
);
|
||||
nModified++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
nBaffled++;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -554,11 +554,12 @@ int main(int argc, char *argv[])
|
|||
const Switch pointSync(dict.lookup("pointSync"));
|
||||
|
||||
|
||||
// Change tolerance in controlDict instead. HJ, 22/Oct/2008
|
||||
|
||||
// Set the matching tolerance so we can read illegal meshes
|
||||
scalar tol = readScalar(dict.lookup("matchTolerance"));
|
||||
Info<< "Using relative tolerance " << tol
|
||||
<< " to match up faces and points" << nl << endl;
|
||||
// Change tolerancein controlDict instead. HJ, 22/Oct/2008
|
||||
// scalar tol = readScalar(dict.lookup("matchTolerance"));
|
||||
// Info<< "Using relative tolerance " << tol
|
||||
// << " to match up faces and points" << nl << endl;
|
||||
// polyPatch::matchTol_ = tol;
|
||||
|
||||
# include "createNamedPolyMesh.H"
|
||||
|
@ -635,10 +636,8 @@ int main(int argc, char *argv[])
|
|||
(
|
||||
polyPatch::New
|
||||
(
|
||||
patchType,
|
||||
patchName,
|
||||
0, // size
|
||||
startFaceI, // start
|
||||
patchDict,
|
||||
destPatchI,
|
||||
patches
|
||||
).ptr()
|
||||
|
|
|
@ -123,7 +123,6 @@ Foam::mergePolyMesh::mergePolyMesh(const IOobject& io)
|
|||
patchNames_(2*boundaryMesh().size()),
|
||||
pointZoneNames_(),
|
||||
faceZoneNames_(),
|
||||
cellZoneNames_()
|
||||
cellZoneNames_(),
|
||||
pointZones_(),
|
||||
faceZones_(),
|
||||
|
|
|
@ -88,7 +88,7 @@ labelList regionBandCompression
|
|||
Pout<< " region " << regionI << " starts at " << cellI << endl;
|
||||
|
||||
// Per region do a reordering.
|
||||
fvMeshSubset subsetter
|
||||
fvMeshSubset meshSubset
|
||||
(
|
||||
IOobject
|
||||
(
|
||||
|
@ -100,11 +100,11 @@ labelList regionBandCompression
|
|||
),
|
||||
mesh
|
||||
);
|
||||
subsetter.setLargeCellSubset(cellToRegion, regionI);
|
||||
const fvMesh& subMesh = subsetter.subMesh();
|
||||
meshSubset.setLargeCellSubset(cellToRegion, regionI);
|
||||
const fvMesh& subMesh = meshSubset.subMesh();
|
||||
labelList subCellOrder(bandCompression(subMesh.cellCells()));
|
||||
|
||||
const labelList& cellMap = subsetter.cellMap();
|
||||
const labelList& cellMap = meshSubset.cellMap();
|
||||
|
||||
forAll(subCellOrder, i)
|
||||
{
|
||||
|
@ -376,7 +376,6 @@ autoPtr<mapPolyMesh> reorderMesh
|
|||
int main(int argc, char *argv[])
|
||||
{
|
||||
argList::validOptions.insert("blockOrder", "");
|
||||
argList::validOptions.insert("orderPoints", "");
|
||||
argList::validOptions.insert("writeMaps", "");
|
||||
argList::validOptions.insert("overwrite", "");
|
||||
|
||||
|
@ -405,13 +404,6 @@ int main(int argc, char *argv[])
|
|||
<< endl;
|
||||
}
|
||||
|
||||
const bool orderPoints = args.optionFound("orderPoints");
|
||||
if (orderPoints)
|
||||
{
|
||||
Info<< "Ordering points into internal and boundary points." << nl
|
||||
<< endl;
|
||||
}
|
||||
|
||||
const bool writeMaps = args.optionFound("writeMaps");
|
||||
|
||||
if (writeMaps)
|
||||
|
@ -564,7 +556,7 @@ int main(int argc, char *argv[])
|
|||
false, // inflate
|
||||
true, // parallel sync
|
||||
true, // cell ordering
|
||||
orderPoints // point ordering
|
||||
false // point ordering
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -583,66 +575,8 @@ int main(int argc, char *argv[])
|
|||
Info<< "Band after renumbering: "
|
||||
<< returnReduce(band, maxOp<label>()) << nl << endl;
|
||||
|
||||
|
||||
if (orderPoints)
|
||||
{
|
||||
// Force edge calculation (since only reason that points would need to
|
||||
// be sorted)
|
||||
(void)mesh.edges();
|
||||
|
||||
label nTotPoints = returnReduce
|
||||
(
|
||||
mesh.nPoints(),
|
||||
sumOp<label>()
|
||||
);
|
||||
|
||||
label nTotIntPoints = returnReduce
|
||||
(
|
||||
mesh.nInternalPoints(),
|
||||
sumOp<label>()
|
||||
);
|
||||
|
||||
label nTotEdges = returnReduce
|
||||
(
|
||||
mesh.nEdges(),
|
||||
sumOp<label>()
|
||||
);
|
||||
|
||||
label nTotIntEdges = returnReduce
|
||||
(
|
||||
mesh.nInternalEdges(),
|
||||
sumOp<label>()
|
||||
);
|
||||
|
||||
label nTotInt0Edges = returnReduce
|
||||
(
|
||||
mesh.nInternal0Edges(),
|
||||
sumOp<label>()
|
||||
);
|
||||
|
||||
label nTotInt1Edges = returnReduce
|
||||
(
|
||||
mesh.nInternal1Edges(),
|
||||
sumOp<label>()
|
||||
);
|
||||
|
||||
Info<< "Points:" << nl
|
||||
<< " total : " << nTotPoints << nl
|
||||
<< " internal: " << nTotIntPoints << nl
|
||||
<< " boundary: " << nTotPoints-nTotIntPoints << nl
|
||||
<< "Edges:" << nl
|
||||
<< " total : " << nTotEdges << nl
|
||||
<< " internal: " << nTotIntEdges << nl
|
||||
<< " internal using 0 boundary points: "
|
||||
<< nTotInt0Edges << nl
|
||||
<< " internal using 1 boundary points: "
|
||||
<< nTotInt1Edges-nTotInt0Edges << nl
|
||||
<< " internal using 2 boundary points: "
|
||||
<< nTotIntEdges-nTotInt1Edges << nl
|
||||
<< " boundary: " << nTotEdges-nTotIntEdges << nl
|
||||
<< endl;
|
||||
}
|
||||
|
||||
// Removed. HJ, 23/Sep/2010
|
||||
// if (orderPoints)
|
||||
|
||||
if (overwrite)
|
||||
{
|
||||
|
|
|
@ -23,7 +23,7 @@ License
|
|||
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
|
||||
Description
|
||||
Manipulate a cell/face/point/ set or zone interactively.
|
||||
Manipulate a cell/face/point set interactively.
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
|
@ -42,16 +42,13 @@ Description
|
|||
#include "writePatch.H"
|
||||
#include "writePointSet.H"
|
||||
#include "IOobjectList.H"
|
||||
#include "cellZoneSet.H"
|
||||
#include "faceZoneSet.H"
|
||||
#include "pointZoneSet.H"
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
|
||||
#if READLINE != 0
|
||||
# include <readline/readline.h>
|
||||
# include <readline/history.h>
|
||||
#include <readline/readline.h>
|
||||
#include <readline/history.h>
|
||||
#endif
|
||||
|
||||
using namespace Foam;
|
||||
|
@ -85,7 +82,6 @@ Istream& selectStream(Istream* is0Ptr, Istream* is1Ptr)
|
|||
// Copy set
|
||||
void backup
|
||||
(
|
||||
const word& setType,
|
||||
const polyMesh& mesh,
|
||||
const word& fromName,
|
||||
const topoSet& fromSet,
|
||||
|
@ -96,7 +92,7 @@ void backup
|
|||
{
|
||||
Info<< " Backing up " << fromName << " into " << toName << endl;
|
||||
|
||||
topoSet::New(setType, mesh, toName, fromSet)().write();
|
||||
topoSet::New(mesh, toName, fromSet)().write();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -118,7 +114,7 @@ void backup
|
|||
IOobject::READ_IF_PRESENT
|
||||
);
|
||||
|
||||
backup(setType, mesh, fromName, fromSet(), toName);
|
||||
backup(mesh, fromName, fromSet(), toName);
|
||||
}
|
||||
|
||||
|
||||
|
@ -250,8 +246,7 @@ void printHelp(Ostream& os)
|
|||
<< "A set command should be of the following form" << endl
|
||||
<< endl
|
||||
<< " cellSet|faceSet|pointSet <setName> <action> <source>"
|
||||
<< endl
|
||||
<< endl
|
||||
<< endl << endl
|
||||
<< "The <action> is one of" << endl
|
||||
<< " list - prints the contents of the set" << endl
|
||||
<< " clear - clears the set" << endl
|
||||
|
@ -282,18 +277,6 @@ void printHelp(Ostream& os)
|
|||
<< "List set:" << endl
|
||||
<< " cellSet c0 list" << endl
|
||||
<< endl
|
||||
<< "Zones can be set using zoneSets from corresponding sets:" << endl
|
||||
<< " cellZoneSet c0Zone new setToCellZone c0" << endl
|
||||
<< " faceZoneSet f0Zone new setToFaceZone f0" << endl
|
||||
<< endl
|
||||
<< "or if orientation is important:" << endl
|
||||
<< " faceZoneSet f0Zone new setsToFaceZone f0 c0" << endl
|
||||
<< endl
|
||||
<< "ZoneSets can be manipulated using the general actions:" << endl
|
||||
<< " list - prints the contents of the set" << endl
|
||||
<< " clear - clears the set" << endl
|
||||
<< " invert - inverts the set (undefined orientation)"
|
||||
<< endl
|
||||
<< " remove - remove the set" << endl
|
||||
<< endl;
|
||||
}
|
||||
|
@ -337,74 +320,10 @@ void printAllSets(const polyMesh& mesh, Ostream& os)
|
|||
os << '\t' << set.name() << "\tsize:" << set.size() << endl;
|
||||
}
|
||||
}
|
||||
|
||||
const cellZoneMesh& cellZones = mesh.cellZones();
|
||||
if (cellZones.size())
|
||||
{
|
||||
os << "cellZones:" << endl;
|
||||
forAll(cellZones, i)
|
||||
{
|
||||
const cellZone& zone = cellZones[i];
|
||||
os << '\t' << zone.name() << "\tsize:" << zone.size() << endl;
|
||||
}
|
||||
}
|
||||
const faceZoneMesh& faceZones = mesh.faceZones();
|
||||
if (faceZones.size())
|
||||
{
|
||||
os << "faceZones:" << endl;
|
||||
forAll(faceZones, i)
|
||||
{
|
||||
const faceZone& zone = faceZones[i];
|
||||
os << '\t' << zone.name() << "\tsize:" << zone.size() << endl;
|
||||
}
|
||||
}
|
||||
const pointZoneMesh& pointZones = mesh.pointZones();
|
||||
if (pointZones.size())
|
||||
{
|
||||
os << "pointZones:" << endl;
|
||||
forAll(pointZones, i)
|
||||
{
|
||||
const pointZone& zone = pointZones[i];
|
||||
os << '\t' << zone.name() << "\tsize:" << zone.size() << endl;
|
||||
}
|
||||
}
|
||||
|
||||
os << endl;
|
||||
}
|
||||
|
||||
|
||||
template<class ZoneType>
|
||||
void removeZone
|
||||
(
|
||||
ZoneMesh<ZoneType, polyMesh>& zones,
|
||||
const word& setName
|
||||
)
|
||||
{
|
||||
label zoneID = zones.findZoneID(setName);
|
||||
|
||||
if (zoneID != -1)
|
||||
{
|
||||
Info<< "Removing zone " << setName << " at index " << zoneID << endl;
|
||||
// Shuffle to last position
|
||||
labelList oldToNew(zones.size());
|
||||
label newI = 0;
|
||||
forAll(oldToNew, i)
|
||||
{
|
||||
if (i != zoneID)
|
||||
{
|
||||
oldToNew[i] = newI++;
|
||||
}
|
||||
}
|
||||
oldToNew[zoneID] = newI;
|
||||
zones.reorder(oldToNew);
|
||||
// Remove last element
|
||||
zones.setSize(zones.size()-1);
|
||||
zones.clearAddressing();
|
||||
zones.write();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Physically remove a set
|
||||
void removeSet
|
||||
(
|
||||
|
@ -428,32 +347,6 @@ void removeSet
|
|||
Info<< "Removing file " << object << endl;
|
||||
rm(object);
|
||||
}
|
||||
|
||||
// See if zone
|
||||
if (setType == cellZoneSet::typeName)
|
||||
{
|
||||
removeZone
|
||||
(
|
||||
const_cast<cellZoneMesh&>(mesh.cellZones()),
|
||||
setName
|
||||
);
|
||||
}
|
||||
else if (setType == faceZoneSet::typeName)
|
||||
{
|
||||
removeZone
|
||||
(
|
||||
const_cast<faceZoneMesh&>(mesh.faceZones()),
|
||||
setName
|
||||
);
|
||||
}
|
||||
else if (setType == pointZoneSet::typeName)
|
||||
{
|
||||
removeZone
|
||||
(
|
||||
const_cast<pointZoneMesh&>(mesh.pointZones()),
|
||||
setName
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
@ -521,7 +414,14 @@ bool doCommand
|
|||
currentSet.resize(max(currentSet.size(), typSize));
|
||||
}
|
||||
|
||||
if (currentSetPtr.valid())
|
||||
if (!currentSetPtr.valid())
|
||||
{
|
||||
Info<< " Cannot construct/load set "
|
||||
<< topoSet::localPath(mesh, setName) << endl;
|
||||
|
||||
ok = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
topoSet& currentSet = currentSetPtr();
|
||||
|
||||
|
@ -530,6 +430,12 @@ bool doCommand
|
|||
<< " Action:" << actionName
|
||||
<< endl;
|
||||
|
||||
if ((r == IOobject::MUST_READ) && (action != topoSetSource::LIST))
|
||||
{
|
||||
// currentSet has been read so can make copy.
|
||||
backup(mesh, setName, currentSet, setName + "_old");
|
||||
}
|
||||
|
||||
switch (action)
|
||||
{
|
||||
case topoSetSource::CLEAR:
|
||||
|
@ -567,7 +473,6 @@ bool doCommand
|
|||
(
|
||||
topoSet::New
|
||||
(
|
||||
setType,
|
||||
mesh,
|
||||
currentSet.name() + "_old2",
|
||||
currentSet
|
||||
|
@ -786,15 +691,6 @@ commandStatus parseType
|
|||
{
|
||||
return VALIDSETCMD;
|
||||
}
|
||||
else if
|
||||
(
|
||||
setType == "cellZoneSet"
|
||||
|| setType == "faceZoneSet"
|
||||
|| setType == "pointZoneSet"
|
||||
)
|
||||
{
|
||||
return VALIDZONECMD;
|
||||
}
|
||||
else
|
||||
{
|
||||
SeriousErrorIn
|
||||
|
@ -803,7 +699,7 @@ commandStatus parseType
|
|||
", IStringStream&)"
|
||||
) << "Illegal command " << setType << endl
|
||||
<< "Should be one of 'help', 'list', 'time' or a set type :"
|
||||
<< " 'cellSet', 'faceSet', 'pointSet', 'faceZoneSet'"
|
||||
<< " 'cellSet', 'faceSet', 'pointSet'"
|
||||
<< endl;
|
||||
|
||||
return INVALID;
|
||||
|
@ -958,12 +854,12 @@ int main(int argc, char *argv[])
|
|||
|
||||
IStringStream is(rawLine + ' ');
|
||||
|
||||
// Type: cellSet, faceSet, pointSet, faceZoneSet
|
||||
// Type: cellSet, faceSet, pointSet
|
||||
is >> setType;
|
||||
|
||||
stat = parseType(runTime, mesh, setType, is);
|
||||
|
||||
if (stat == VALIDSETCMD || stat == VALIDZONECMD)
|
||||
if (stat == VALIDSETCMD)
|
||||
{
|
||||
if (is >> setName)
|
||||
{
|
||||
|
@ -979,7 +875,7 @@ int main(int argc, char *argv[])
|
|||
{
|
||||
break;
|
||||
}
|
||||
else if (stat == VALIDSETCMD || stat == VALIDZONECMD)
|
||||
else if (stat == VALIDSETCMD)
|
||||
{
|
||||
ok = doCommand(mesh, setType, setName, actionName, writeVTK, is);
|
||||
}
|
||||
|
|
|
@ -162,6 +162,10 @@ int main(int argc, char *argv[])
|
|||
|
||||
IndirectList<face> zoneFaces(mesh.faces(), faces);
|
||||
|
||||
// Calculation engine for set of faces in a mesh
|
||||
typedef PrimitivePatch<face, List, const pointField&> facePatch;
|
||||
|
||||
|
||||
// Addressing on faces only in mesh vertices.
|
||||
facePatch fPatch(zoneFaces(), mesh.points());
|
||||
|
||||
|
|
|
@ -69,7 +69,9 @@ Description
|
|||
- cellRegionAddressing : ,, cell ,, cell ,,
|
||||
- faceRegionAddressing : ,, face ,, face in
|
||||
the original mesh + 'turning index'. For a face in the same orientation
|
||||
this is the original facelabel+1, for a turned face this is -facelabel-1
|
||||
this is the original facelabel+1, for a turned face
|
||||
this is -facelabel-1
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#include "SortableList.H"
|
||||
|
@ -80,7 +82,8 @@ Description
|
|||
#include "volFields.H"
|
||||
#include "faceSet.H"
|
||||
#include "cellSet.H"
|
||||
#include "polyTopoChange.H"
|
||||
#include "directTopoChange.H"
|
||||
#include "mapPolyMesh.H"
|
||||
#include "removeCells.H"
|
||||
#include "EdgeMap.H"
|
||||
#include "syncTools.H"
|
||||
|
@ -414,7 +417,7 @@ void subsetVolFields
|
|||
|
||||
tmp<GeoField> tSubFld
|
||||
(
|
||||
fvMeshSubset::interpolate
|
||||
fvMeshSubset::meshToMesh
|
||||
(
|
||||
fld,
|
||||
subMesh,
|
||||
|
@ -473,7 +476,7 @@ void subsetSurfaceFields
|
|||
|
||||
tmp<GeoField> tSubFld
|
||||
(
|
||||
fvMeshSubset::interpolate
|
||||
fvMeshSubset::meshToMesh
|
||||
(
|
||||
fld,
|
||||
subMesh,
|
||||
|
@ -750,7 +753,7 @@ autoPtr<mapPolyMesh> createRegionMesh
|
|||
|
||||
|
||||
// Topology change container. Start off from existing mesh.
|
||||
polyTopoChange meshMod(mesh);
|
||||
directTopoChange meshMod(mesh);
|
||||
|
||||
// Cell remover engine
|
||||
removeCells cellRemover(mesh);
|
||||
|
|
|
@ -68,104 +68,6 @@ Description
|
|||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
label addPointZone(const polyMesh& mesh, const word& name)
|
||||
{
|
||||
label zoneID = mesh.pointZones().findZoneID(name);
|
||||
|
||||
if (zoneID != -1)
|
||||
{
|
||||
Info<< "Reusing existing pointZone "
|
||||
<< mesh.pointZones()[zoneID].name()
|
||||
<< " at index " << zoneID << endl;
|
||||
}
|
||||
else
|
||||
{
|
||||
pointZoneMesh& pointZones = const_cast<polyMesh&>(mesh).pointZones();
|
||||
zoneID = pointZones.size();
|
||||
Info<< "Adding pointZone " << name << " at index " << zoneID << endl;
|
||||
|
||||
pointZones.setSize(zoneID+1);
|
||||
pointZones.set
|
||||
(
|
||||
zoneID,
|
||||
new pointZone
|
||||
(
|
||||
name,
|
||||
labelList(0),
|
||||
zoneID,
|
||||
pointZones
|
||||
)
|
||||
);
|
||||
}
|
||||
return zoneID;
|
||||
}
|
||||
|
||||
|
||||
label addFaceZone(const polyMesh& mesh, const word& name)
|
||||
{
|
||||
label zoneID = mesh.faceZones().findZoneID(name);
|
||||
|
||||
if (zoneID != -1)
|
||||
{
|
||||
Info<< "Reusing existing faceZone " << mesh.faceZones()[zoneID].name()
|
||||
<< " at index " << zoneID << endl;
|
||||
}
|
||||
else
|
||||
{
|
||||
faceZoneMesh& faceZones = const_cast<polyMesh&>(mesh).faceZones();
|
||||
zoneID = faceZones.size();
|
||||
Info<< "Adding faceZone " << name << " at index " << zoneID << endl;
|
||||
|
||||
faceZones.setSize(zoneID+1);
|
||||
faceZones.set
|
||||
(
|
||||
zoneID,
|
||||
new faceZone
|
||||
(
|
||||
name,
|
||||
labelList(0),
|
||||
boolList(),
|
||||
zoneID,
|
||||
faceZones
|
||||
)
|
||||
);
|
||||
}
|
||||
return zoneID;
|
||||
}
|
||||
|
||||
|
||||
label addCellZone(const polyMesh& mesh, const word& name)
|
||||
{
|
||||
label zoneID = mesh.cellZones().findZoneID(name);
|
||||
|
||||
if (zoneID != -1)
|
||||
{
|
||||
Info<< "Reusing existing cellZone " << mesh.cellZones()[zoneID].name()
|
||||
<< " at index " << zoneID << endl;
|
||||
}
|
||||
else
|
||||
{
|
||||
cellZoneMesh& cellZones = const_cast<polyMesh&>(mesh).cellZones();
|
||||
zoneID = cellZones.size();
|
||||
Info<< "Adding cellZone " << name << " at index " << zoneID << endl;
|
||||
|
||||
cellZones.setSize(zoneID+1);
|
||||
cellZones.set
|
||||
(
|
||||
zoneID,
|
||||
new cellZone
|
||||
(
|
||||
name,
|
||||
labelList(0),
|
||||
zoneID,
|
||||
cellZones
|
||||
)
|
||||
);
|
||||
}
|
||||
return zoneID;
|
||||
}
|
||||
|
||||
|
||||
// Checks whether patch present
|
||||
void checkPatch(const polyBoundaryMesh& bMesh, const word& name)
|
||||
{
|
||||
|
@ -203,8 +105,6 @@ int main(int argc, char *argv[])
|
|||
|
||||
Foam::argList::validOptions.insert("overwrite", "");
|
||||
|
||||
Foam::argList::validOptions.insert("toleranceDict", "file with tolerances");
|
||||
|
||||
# include "setRootCase.H"
|
||||
# include "createTime.H"
|
||||
runTime.functionObjects().off();
|
||||
|
@ -268,22 +168,6 @@ int main(int argc, char *argv[])
|
|||
<< "If this is not the case use the -partial option" << nl << endl;
|
||||
}
|
||||
|
||||
// set up the tolerances for the sliding mesh
|
||||
dictionary slidingTolerances;
|
||||
if (args.options().found("toleranceDict"))
|
||||
{
|
||||
IOdictionary toleranceFile(
|
||||
IOobject(
|
||||
args.options()["toleranceDict"],
|
||||
runTime.constant(),
|
||||
mesh,
|
||||
IOobject::MUST_READ,
|
||||
IOobject::NO_WRITE
|
||||
)
|
||||
);
|
||||
slidingTolerances += toleranceFile;
|
||||
}
|
||||
|
||||
// Check for non-empty master and slave patches
|
||||
checkPatch(mesh.boundaryMesh(), masterPatchName);
|
||||
checkPatch(mesh.boundaryMesh(), slavePatchName);
|
||||
|
@ -308,21 +192,30 @@ int main(int argc, char *argv[])
|
|||
polyTopoChanger stitcher(mesh);
|
||||
stitcher.setSize(1);
|
||||
|
||||
mesh.pointZones().clearAddressing();
|
||||
mesh.faceZones().clearAddressing();
|
||||
mesh.cellZones().clearAddressing();
|
||||
DynamicList<pointZone*> pz;
|
||||
DynamicList<faceZone*> fz;
|
||||
DynamicList<cellZone*> cz;
|
||||
|
||||
if (perfectCover)
|
||||
{
|
||||
// Add empty zone for resulting internal faces
|
||||
label cutZoneID = addFaceZone(mesh, cutZoneName);
|
||||
|
||||
mesh.faceZones()[cutZoneID].resetAddressing
|
||||
fz.append
|
||||
(
|
||||
new faceZone
|
||||
(
|
||||
cutZoneName,
|
||||
isf,
|
||||
boolList(masterPatch.size(), false)
|
||||
boolList(masterPatch.size(), false),
|
||||
0,
|
||||
mesh.faceZones()
|
||||
)
|
||||
);
|
||||
|
||||
// Note: make sure to add the zones BEFORE constructing polyMeshModifier
|
||||
// (since looks up various zones at construction time)
|
||||
Info << "Adding point and face zones" << endl;
|
||||
mesh.addZones(pz.shrink(), fz.shrink(), cz.shrink());
|
||||
|
||||
// Add the perfect interface mesh modifier
|
||||
stitcher.set
|
||||
(
|
||||
|
@ -340,15 +233,27 @@ int main(int argc, char *argv[])
|
|||
}
|
||||
else
|
||||
{
|
||||
label pointZoneID = addPointZone(mesh, mergePatchName + "CutPointZone");
|
||||
mesh.pointZones()[pointZoneID] = labelList(0);
|
||||
|
||||
label masterZoneID = addFaceZone(mesh, mergePatchName + "MasterZone");
|
||||
|
||||
mesh.faceZones()[masterZoneID].resetAddressing
|
||||
pz.append
|
||||
(
|
||||
new pointZone
|
||||
(
|
||||
mergePatchName + "CutPointZone",
|
||||
labelList(0),
|
||||
0,
|
||||
mesh.pointZones()
|
||||
)
|
||||
);
|
||||
|
||||
fz.append
|
||||
(
|
||||
new faceZone
|
||||
(
|
||||
mergePatchName + "MasterZone",
|
||||
isf,
|
||||
boolList(masterPatch.size(), false)
|
||||
boolList(masterPatch.size(), false),
|
||||
0,
|
||||
mesh.faceZones()
|
||||
)
|
||||
);
|
||||
|
||||
// Slave patch
|
||||
|
@ -365,22 +270,37 @@ int main(int argc, char *argv[])
|
|||
osf[i] = slavePatch.start() + i;
|
||||
}
|
||||
|
||||
label slaveZoneID = addFaceZone(mesh, mergePatchName + "SlaveZone");
|
||||
mesh.faceZones()[slaveZoneID].resetAddressing
|
||||
fz.append
|
||||
(
|
||||
new faceZone
|
||||
(
|
||||
mergePatchName + "SlaveZone",
|
||||
osf,
|
||||
boolList(slavePatch.size(), false)
|
||||
boolList(slavePatch.size(), false),
|
||||
1,
|
||||
mesh.faceZones()
|
||||
)
|
||||
);
|
||||
|
||||
// Add empty zone for cut faces
|
||||
label cutZoneID = addFaceZone(mesh, cutZoneName);
|
||||
mesh.faceZones()[cutZoneID].resetAddressing
|
||||
fz.append
|
||||
(
|
||||
new faceZone
|
||||
(
|
||||
cutZoneName,
|
||||
labelList(0),
|
||||
boolList(0, false)
|
||||
boolList(0, false),
|
||||
2,
|
||||
mesh.faceZones()
|
||||
)
|
||||
);
|
||||
|
||||
|
||||
// Note: make sure to add the zones BEFORE constructing
|
||||
// polyMeshModifier (since looks up various zones at construction time)
|
||||
Info << "Adding point and face zones" << endl;
|
||||
mesh.addZones(pz.shrink(), fz.shrink(), cz.shrink());
|
||||
|
||||
// Add the sliding interface mesh modifier
|
||||
stitcher.set
|
||||
(
|
||||
|
@ -397,14 +317,10 @@ int main(int argc, char *argv[])
|
|||
masterPatchName,
|
||||
slavePatchName,
|
||||
tom, // integral or partial
|
||||
true // couple/decouple mode
|
||||
false, // Attach-detach action
|
||||
intersection::VISIBLE
|
||||
)
|
||||
);
|
||||
static_cast<slidingInterface&>(stitcher[0]).setTolerances
|
||||
(
|
||||
slidingTolerances,
|
||||
true
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
|
@ -445,7 +361,7 @@ int main(int argc, char *argv[])
|
|||
}
|
||||
|
||||
// Execute all polyMeshModifiers
|
||||
autoPtr<mapPolyMesh> morphMap = stitcher.changeMesh(true);
|
||||
autoPtr<mapPolyMesh> morphMap = stitcher.changeMesh();
|
||||
|
||||
mesh.movePoints(morphMap->preMotionPoints());
|
||||
|
||||
|
|
|
@ -346,7 +346,7 @@ int main(int argc, char *argv[])
|
|||
}
|
||||
else
|
||||
{
|
||||
subsetter.subMesh().setInstance(oldInstance);
|
||||
meshSubset.subMesh().setInstance(oldInstance);
|
||||
}
|
||||
|
||||
Info<< "Writing subsetted mesh and fields to time " << runTime.timeName()
|
||||
|
|
|
@ -269,13 +269,12 @@ int main(int argc, char *argv[])
|
|||
}
|
||||
else if (args.optionFound("rotateAlongVector"))
|
||||
{
|
||||
IStringStream rotateVectorOptions
|
||||
(
|
||||
args.optionLookup("rotateAlongVector")
|
||||
);
|
||||
vector rotationAxis;
|
||||
scalar rotationAngle;
|
||||
|
||||
vector rotationAxis(rotateVectorOptions);
|
||||
scalar rotationAngle = readScalar(rotateVectorOptions);
|
||||
args.optionLookup("rotateAlongVector")()
|
||||
>> rotationAxis
|
||||
>> rotationAngle;
|
||||
|
||||
tensor T = RodriguesRotation(rotationAxis, rotationAngle);
|
||||
|
||||
|
@ -285,7 +284,7 @@ int main(int argc, char *argv[])
|
|||
|
||||
if (args.options().found("rotateFields"))
|
||||
{
|
||||
rotateFields(runTime, T);
|
||||
rotateFields(args, runTime, T);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -255,12 +255,24 @@ void Foam::vtkPV3Foam::convertMeshCellZones
|
|||
<< zoneName << endl;
|
||||
}
|
||||
|
||||
fvMeshSubset subsetter(mesh);
|
||||
subsetter.setLargeCellSubset(zMesh[zoneId]);
|
||||
fvMeshSubset subsetMesh
|
||||
(
|
||||
IOobject
|
||||
(
|
||||
"set",
|
||||
mesh.time().constant(),
|
||||
mesh,
|
||||
IOobject::NO_READ,
|
||||
IOobject::NO_WRITE
|
||||
),
|
||||
mesh
|
||||
);
|
||||
|
||||
subsetMesh.setLargeCellSubset(zMesh[zoneId]);
|
||||
|
||||
vtkUnstructuredGrid* vtkmesh = volumeVTKMesh
|
||||
(
|
||||
subsetter.subMesh(),
|
||||
subsetMesh.subMesh(),
|
||||
zonePolyDecomp_[datasetNo]
|
||||
);
|
||||
|
||||
|
@ -269,17 +281,17 @@ void Foam::vtkPV3Foam::convertMeshCellZones
|
|||
// superCells + addPointCellLabels must contain global cell ids
|
||||
inplaceRenumber
|
||||
(
|
||||
subsetter.cellMap(),
|
||||
subsetMesh.cellMap(),
|
||||
zonePolyDecomp_[datasetNo].superCells()
|
||||
);
|
||||
inplaceRenumber
|
||||
(
|
||||
subsetter.cellMap(),
|
||||
subsetMesh.cellMap(),
|
||||
zonePolyDecomp_[datasetNo].addPointCellLabels()
|
||||
);
|
||||
|
||||
// copy pointMap as well, otherwise pointFields fail
|
||||
zonePolyDecomp_[datasetNo].pointMap() = subsetter.pointMap();
|
||||
zonePolyDecomp_[datasetNo].pointMap() = subsetMesh.pointMap();
|
||||
|
||||
AddToBlock(output, vtkmesh, selector, datasetNo, zoneName);
|
||||
vtkmesh->Delete();
|
||||
|
@ -337,12 +349,25 @@ void Foam::vtkPV3Foam::convertMeshCellSets
|
|||
}
|
||||
|
||||
const cellSet cSet(mesh, partName);
|
||||
fvMeshSubset subsetter(mesh);
|
||||
subsetter.setLargeCellSubset(cSet);
|
||||
|
||||
fvMeshSubset subsetMesh
|
||||
(
|
||||
IOobject
|
||||
(
|
||||
"set",
|
||||
mesh.time().constant(),
|
||||
mesh,
|
||||
IOobject::NO_READ,
|
||||
IOobject::NO_WRITE
|
||||
),
|
||||
mesh
|
||||
);
|
||||
|
||||
subsetMesh.setLargeCellSubset(cSet);
|
||||
|
||||
vtkUnstructuredGrid* vtkmesh = volumeVTKMesh
|
||||
(
|
||||
subsetter.subMesh(),
|
||||
subsetMesh.subMesh(),
|
||||
csetPolyDecomp_[datasetNo]
|
||||
);
|
||||
|
||||
|
@ -351,17 +376,17 @@ void Foam::vtkPV3Foam::convertMeshCellSets
|
|||
// superCells + addPointCellLabels must contain global cell ids
|
||||
inplaceRenumber
|
||||
(
|
||||
subsetter.cellMap(),
|
||||
subsetMesh.cellMap(),
|
||||
csetPolyDecomp_[datasetNo].superCells()
|
||||
);
|
||||
inplaceRenumber
|
||||
(
|
||||
subsetter.cellMap(),
|
||||
subsetMesh.cellMap(),
|
||||
csetPolyDecomp_[datasetNo].addPointCellLabels()
|
||||
);
|
||||
|
||||
// copy pointMap as well, otherwise pointFields fail
|
||||
csetPolyDecomp_[datasetNo].pointMap() = subsetter.pointMap();
|
||||
csetPolyDecomp_[datasetNo].pointMap() = subsetMesh.pointMap();
|
||||
|
||||
AddToBlock(output, vtkmesh, selector, datasetNo, partName);
|
||||
vtkmesh->Delete();
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2006-7 H. Jasak. All rights reserved
|
||||
\\ / A nd | Copyright (C) 2010 Hrvoje Jasak
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
|
@ -25,6 +25,9 @@ License
|
|||
Application
|
||||
interFoamPressure
|
||||
|
||||
Author
|
||||
Hrvoje Jasak, Wikki Ltd. All rights reserved.
|
||||
|
||||
Description
|
||||
Calculate static pressure from interFoam results
|
||||
|
||||
|
@ -53,7 +56,7 @@ int main(int argc, char *argv[])
|
|||
runTime.setTime(Times[startTime], startTime);
|
||||
|
||||
# include "createMesh.H"
|
||||
# include "readEnvironmentalProperties.H"
|
||||
# include "readGravitationalAcceleration.H"
|
||||
|
||||
const dictionary& piso = mesh.solutionDict().subDict("PISO");
|
||||
|
||||
|
|
|
@ -54,9 +54,9 @@ setenv ParaView_DIR $ParaView_INST_DIR/platforms/$WM_ARCH$WM_COMPILER
|
|||
set paraviewPython=$ParaView_DIR/Utilities/VTKPythonWrapping
|
||||
if ( -r $paraviewPython ) then
|
||||
if ($?PYTHONPATH) then
|
||||
setenv PYTHONPATH ${PYTHONPATH}:${paraviewPython}:$ParaView_DIR/lib/${$ParaView_MAJOR}
|
||||
setenv PYTHONPATH ${PYTHONPATH}:${paraviewPython}:$ParaView_DIR/lib/${ParaView_MAJOR}
|
||||
else
|
||||
setenv PYTHONPATH ${paraviewPython}:$ParaView_DIR/lib/${$ParaView_MAJOR}
|
||||
setenv PYTHONPATH ${paraviewPython}:$ParaView_DIR/lib/${ParaView_MAJOR}
|
||||
endif
|
||||
endif
|
||||
|
||||
|
|
|
@ -393,6 +393,16 @@ public:
|
|||
) const;
|
||||
|
||||
//- Map surface field
|
||||
template<class Type>
|
||||
static tmp<GeometricField<Type, fvsPatchField, surfaceMesh> >
|
||||
meshToMesh
|
||||
(
|
||||
const GeometricField<Type, fvsPatchField, surfaceMesh>&,
|
||||
const fvMesh& sMesh,
|
||||
const labelList& patchMap,
|
||||
const labelList& faceMap
|
||||
);
|
||||
|
||||
template<class Type>
|
||||
tmp<GeometricField<Type, fvsPatchField, surfaceMesh> >
|
||||
interpolate
|
||||
|
@ -403,7 +413,7 @@ public:
|
|||
//- Map point field
|
||||
template<class Type>
|
||||
static tmp<GeometricField<Type, pointPatchField, pointMesh> >
|
||||
interpolate
|
||||
meshToMesh
|
||||
(
|
||||
const GeometricField<Type, pointPatchField, pointMesh>&,
|
||||
const pointMesh& sMesh,
|
||||
|
|
|
@ -26,8 +26,9 @@ License
|
|||
|
||||
#include "fvMeshSubset.H"
|
||||
#include "calculatedFvPatchFields.H"
|
||||
#include "emptyFvPatchFields.H"
|
||||
#include "calculatedFvsPatchFields.H"
|
||||
#include "emptyFvPatchFields.H"
|
||||
#include "emptyFvsPatchFields.H"
|
||||
#include "calculatedPointPatchFields.H"
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
@ -247,7 +248,137 @@ tmp<GeometricField<Type, fvPatchField, volMesh> > fvMeshSubset::interpolate
|
|||
|
||||
|
||||
template<class Type>
|
||||
tmp<GeometricField<Type, fvsPatchField, surfaceMesh> > fvMeshSubset::interpolate
|
||||
tmp<GeometricField<Type, fvsPatchField, surfaceMesh> >
|
||||
fvMeshSubset::meshToMesh
|
||||
(
|
||||
const GeometricField<Type, fvsPatchField, surfaceMesh>& vf,
|
||||
const fvMesh& sMesh,
|
||||
const labelList& patchMap,
|
||||
const labelList& faceMap
|
||||
)
|
||||
{
|
||||
// Create and map the internal-field values
|
||||
Field<Type> internalField
|
||||
(
|
||||
vf.internalField(),
|
||||
SubList<label>
|
||||
(
|
||||
faceMap,
|
||||
sMesh.nInternalFaces()
|
||||
)
|
||||
);
|
||||
|
||||
// Create and map the patch field values
|
||||
PtrList<fvsPatchField<Type> > patchFields(patchMap.size());
|
||||
|
||||
forAll (patchFields, patchI)
|
||||
{
|
||||
// Set the first one by hand as it corresponds to the
|
||||
// exposed internal faces. Additional interpolation can be put here
|
||||
// as necessary.
|
||||
if (patchMap[patchI] == -1)
|
||||
{
|
||||
patchFields.set
|
||||
(
|
||||
patchI,
|
||||
new emptyFvsPatchField<Type>
|
||||
(
|
||||
sMesh.boundary()[patchI],
|
||||
DimensionedField<Type, surfaceMesh>::null()
|
||||
)
|
||||
);
|
||||
}
|
||||
else
|
||||
{
|
||||
// Construct addressing
|
||||
const fvPatch& subPatch = sMesh.boundary()[patchI];
|
||||
const fvPatch& basePatch = vf.mesh().boundary()[patchMap[patchI]];
|
||||
label baseStart = basePatch.patch().start();
|
||||
label baseSize = basePatch.size();
|
||||
|
||||
labelList directAddressing(subPatch.size());
|
||||
|
||||
forAll(directAddressing, i)
|
||||
{
|
||||
label baseFaceI = faceMap[subPatch.patch().start()+i];
|
||||
|
||||
if (baseFaceI >= baseStart && baseFaceI < baseStart+baseSize)
|
||||
{
|
||||
directAddressing[i] = baseFaceI-baseStart;
|
||||
}
|
||||
else
|
||||
{
|
||||
// Mapped from internal face. Do what? Map from element
|
||||
// 0 for now.
|
||||
directAddressing[i] = 0;
|
||||
}
|
||||
}
|
||||
|
||||
patchFields.set
|
||||
(
|
||||
patchI,
|
||||
fvsPatchField<Type>::New
|
||||
(
|
||||
vf.boundaryField()[patchMap[patchI]],
|
||||
sMesh.boundary()[patchI],
|
||||
DimensionedField<Type, surfaceMesh>::null(),
|
||||
patchFieldSubset
|
||||
(
|
||||
vf.boundaryField()[patchMap[patchI]].size(),
|
||||
directAddressing
|
||||
)
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Map exposed internal faces. Note: Only nessecary if exposed faces added
|
||||
// into existing patch but since we don't know that at this point...
|
||||
forAll(patchFields, patchI)
|
||||
{
|
||||
fvsPatchField<Type>& pfld = patchFields[patchI];
|
||||
|
||||
label meshFaceI = pfld.patch().patch().start();
|
||||
|
||||
forAll(pfld, i)
|
||||
{
|
||||
label oldFaceI = faceMap[meshFaceI++];
|
||||
|
||||
if (oldFaceI < vf.internalField().size())
|
||||
{
|
||||
pfld[i] = vf.internalField()[oldFaceI];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Create the complete field from the pieces
|
||||
tmp<GeometricField<Type, fvsPatchField, surfaceMesh> > tresF
|
||||
(
|
||||
new GeometricField<Type, fvsPatchField, surfaceMesh>
|
||||
(
|
||||
IOobject
|
||||
(
|
||||
"subset"+vf.name(),
|
||||
sMesh.time().timeName(),
|
||||
sMesh,
|
||||
IOobject::NO_READ,
|
||||
IOobject::NO_WRITE
|
||||
),
|
||||
sMesh,
|
||||
vf.dimensions(),
|
||||
internalField,
|
||||
patchFields
|
||||
)
|
||||
);
|
||||
|
||||
return tresF;
|
||||
}
|
||||
|
||||
|
||||
template<class Type>
|
||||
tmp<GeometricField<Type, fvsPatchField, surfaceMesh> >
|
||||
fvMeshSubset::interpolate
|
||||
(
|
||||
const GeometricField<Type, fvsPatchField, surfaceMesh>& vf
|
||||
) const
|
||||
|
@ -423,7 +554,8 @@ fvMeshSubset::interpolate
|
|||
// Get mesh point on original mesh.
|
||||
label meshPointI = ptMap[subMeshPoints[localI]];
|
||||
|
||||
Map<label>::const_iterator iter = meshPointMap.find(meshPointI);
|
||||
Map<label>::const_iterator iter =
|
||||
meshPointMap.find(meshPointI);
|
||||
|
||||
if (iter != meshPointMap.end())
|
||||
{
|
||||
|
@ -439,7 +571,10 @@ fvMeshSubset::interpolate
|
|||
vf.boundaryField()[pm[patchI]],
|
||||
subPatch,
|
||||
DimensionedField<Type, pointMesh>::null(),
|
||||
pointPatchFieldSubset(directAddressing)
|
||||
pointPatchFieldSubset
|
||||
(
|
||||
directAddressing
|
||||
)
|
||||
)
|
||||
);
|
||||
}
|
||||
|
|
|
@ -51,8 +51,6 @@ class cellSet
|
|||
:
|
||||
public topoSet
|
||||
{
|
||||
|
||||
|
||||
// Private Member Functions
|
||||
|
||||
//- Disallow default bitwise copy construct
|
||||
|
@ -75,8 +73,8 @@ public:
|
|||
(
|
||||
const polyMesh& mesh,
|
||||
const word& name,
|
||||
readOption r=MUST_READ,
|
||||
writeOption w=NO_WRITE
|
||||
readOption r = MUST_READ,
|
||||
writeOption w = NO_WRITE
|
||||
);
|
||||
|
||||
//- Construct empty from size of labelHashSet
|
||||
|
@ -85,7 +83,7 @@ public:
|
|||
const polyMesh& mesh,
|
||||
const word& name,
|
||||
const label sizes,
|
||||
writeOption w=NO_WRITE
|
||||
writeOption w = NO_WRITE
|
||||
);
|
||||
|
||||
//- Construct from existing set
|
||||
|
@ -103,7 +101,7 @@ public:
|
|||
const polyMesh& mesh,
|
||||
const word& name,
|
||||
const labelHashSet&,
|
||||
writeOption w=NO_WRITE
|
||||
writeOption w = NO_WRITE
|
||||
);
|
||||
|
||||
|
||||
|
@ -114,8 +112,8 @@ public:
|
|||
(
|
||||
const Time&,
|
||||
const word& name,
|
||||
readOption r=MUST_READ,
|
||||
writeOption w=NO_WRITE
|
||||
readOption r = MUST_READ,
|
||||
writeOption w = NO_WRITE
|
||||
);
|
||||
|
||||
//- Construct empty from objectRegistry.
|
||||
|
@ -124,7 +122,7 @@ public:
|
|||
const Time&,
|
||||
const word& name,
|
||||
const label size,
|
||||
writeOption w=NO_WRITE
|
||||
writeOption w = NO_WRITE
|
||||
);
|
||||
|
||||
//- Construct from labelHashSet
|
||||
|
@ -133,7 +131,7 @@ public:
|
|||
const Time&,
|
||||
const word& name,
|
||||
const labelHashSet&,
|
||||
writeOption w=NO_WRITE
|
||||
writeOption w = NO_WRITE
|
||||
);
|
||||
|
||||
|
||||
|
|
|
@ -51,8 +51,6 @@ class faceSet
|
|||
:
|
||||
public topoSet
|
||||
{
|
||||
|
||||
|
||||
public:
|
||||
|
||||
//- Runtime type information
|
||||
|
@ -70,8 +68,8 @@ public:
|
|||
(
|
||||
const polyMesh& mesh,
|
||||
const word& name,
|
||||
readOption r=MUST_READ,
|
||||
writeOption w=NO_WRITE
|
||||
readOption r = MUST_READ,
|
||||
writeOption w = NO_WRITE
|
||||
);
|
||||
|
||||
//- Construct from additional size of labelHashSet
|
||||
|
@ -80,7 +78,7 @@ public:
|
|||
const polyMesh& mesh,
|
||||
const word& name,
|
||||
const label,
|
||||
writeOption w=NO_WRITE
|
||||
writeOption w = NO_WRITE
|
||||
);
|
||||
|
||||
//- Construct from existing set
|
||||
|
@ -89,7 +87,7 @@ public:
|
|||
const polyMesh& mesh,
|
||||
const word& name,
|
||||
const topoSet&,
|
||||
writeOption w=NO_WRITE
|
||||
writeOption w = NO_WRITE
|
||||
);
|
||||
|
||||
//- Construct from additional labelHashSet
|
||||
|
@ -98,7 +96,7 @@ public:
|
|||
const polyMesh& mesh,
|
||||
const word& name,
|
||||
const labelHashSet&,
|
||||
writeOption w=NO_WRITE
|
||||
writeOption w = NO_WRITE
|
||||
);
|
||||
|
||||
|
||||
|
|
|
@ -51,8 +51,6 @@ class pointSet
|
|||
:
|
||||
public topoSet
|
||||
{
|
||||
|
||||
|
||||
public:
|
||||
|
||||
//- Runtime type information
|
||||
|
@ -70,8 +68,8 @@ public:
|
|||
(
|
||||
const polyMesh& mesh,
|
||||
const word& name,
|
||||
readOption r=MUST_READ,
|
||||
writeOption w=NO_WRITE
|
||||
readOption r = MUST_READ,
|
||||
writeOption w = NO_WRITE
|
||||
);
|
||||
|
||||
//- Construct from additional size of labelHashSet
|
||||
|
@ -80,7 +78,7 @@ public:
|
|||
const polyMesh& mesh,
|
||||
const word& name,
|
||||
const label,
|
||||
writeOption w=NO_WRITE
|
||||
writeOption w = NO_WRITE
|
||||
);
|
||||
|
||||
//- Construct from additional labelHashSet
|
||||
|
@ -98,7 +96,7 @@ public:
|
|||
const polyMesh& mesh,
|
||||
const word& name,
|
||||
const labelHashSet&,
|
||||
writeOption w=NO_WRITE
|
||||
writeOption w = NO_WRITE
|
||||
);
|
||||
|
||||
|
||||
|
|
|
@ -53,8 +53,7 @@ autoPtr<topoSet> topoSet::New
|
|||
)
|
||||
{
|
||||
wordConstructorTable::iterator cstrIter =
|
||||
wordConstructorTablePtr_
|
||||
->find(setType);
|
||||
wordConstructorTablePtr_->find(setType);
|
||||
|
||||
if (cstrIter == wordConstructorTablePtr_->end())
|
||||
{
|
||||
|
@ -84,8 +83,7 @@ autoPtr<topoSet> topoSet::New
|
|||
)
|
||||
{
|
||||
sizeConstructorTable::iterator cstrIter =
|
||||
sizeConstructorTablePtr_
|
||||
->find(setType);
|
||||
sizeConstructorTablePtr_->find(setType);
|
||||
|
||||
if (cstrIter == sizeConstructorTablePtr_->end())
|
||||
{
|
||||
|
@ -107,7 +105,6 @@ autoPtr<topoSet> topoSet::New
|
|||
// Construct named object from existing set.
|
||||
autoPtr<topoSet> topoSet::New
|
||||
(
|
||||
const word& setType,
|
||||
const polyMesh& mesh,
|
||||
const word& name,
|
||||
const topoSet& set,
|
||||
|
@ -115,16 +112,15 @@ autoPtr<topoSet> topoSet::New
|
|||
)
|
||||
{
|
||||
setConstructorTable::iterator cstrIter =
|
||||
setConstructorTablePtr_
|
||||
->find(setType);
|
||||
setConstructorTablePtr_->find(set.type());
|
||||
|
||||
if (cstrIter == setConstructorTablePtr_->end())
|
||||
{
|
||||
FatalErrorIn
|
||||
(
|
||||
"topoSet::New(const word&, "
|
||||
"const polyMesh&, const word&, const topoSet&, writeOption)"
|
||||
) << "Unknown set type " << setType
|
||||
"topoSet::New(const polyMesh&, const word&, "
|
||||
"const topoSet&, writeOption)"
|
||||
) << "Unknown set type " << set.type()
|
||||
<< endl << endl
|
||||
<< "Valid set types : " << endl
|
||||
<< setConstructorTablePtr_->toc()
|
||||
|
|
|
@ -65,7 +65,6 @@ class topoSet
|
|||
public regIOobject,
|
||||
public labelHashSet
|
||||
{
|
||||
|
||||
protected:
|
||||
|
||||
// Protected Member Functions
|
||||
|
@ -182,8 +181,8 @@ public:
|
|||
const polyMesh& mesh,
|
||||
const word& wantedType,
|
||||
const word& name,
|
||||
readOption r=MUST_READ,
|
||||
writeOption w=NO_WRITE
|
||||
readOption r = MUST_READ,
|
||||
writeOption w = NO_WRITE
|
||||
);
|
||||
|
||||
//- Construct empty from additional size of labelHashSet
|
||||
|
@ -192,7 +191,7 @@ public:
|
|||
const polyMesh& mesh,
|
||||
const word& name,
|
||||
const label,
|
||||
writeOption w=NO_WRITE
|
||||
writeOption w = NO_WRITE
|
||||
);
|
||||
|
||||
//- Construct empty from additional labelHashSet
|
||||
|
@ -201,7 +200,7 @@ public:
|
|||
const polyMesh& mesh,
|
||||
const word& name,
|
||||
const labelHashSet&,
|
||||
writeOption w=NO_WRITE
|
||||
writeOption w = NO_WRITE
|
||||
);
|
||||
|
||||
//- Construct empty from IOobject and size
|
||||
|
@ -245,7 +244,6 @@ public:
|
|||
//- Return a pointer to a new toposet as copy of another toposet
|
||||
static autoPtr<topoSet> New
|
||||
(
|
||||
const word& setType,
|
||||
const polyMesh& mesh,
|
||||
const word& name,
|
||||
const topoSet& set,
|
||||
|
@ -286,7 +284,7 @@ public:
|
|||
Ostream& os,
|
||||
const primitiveMesh&,
|
||||
const label maxLen
|
||||
) const; // = 0;
|
||||
) const;
|
||||
|
||||
//- Write contents.
|
||||
virtual bool writeData(Ostream&) const;
|
||||
|
@ -295,7 +293,7 @@ public:
|
|||
virtual void updateMesh(const mapPolyMesh& morphMap);
|
||||
|
||||
//- Return max allowable index (+1). Not implemented.
|
||||
virtual label maxSize(const polyMesh& mesh) const; // = 0;
|
||||
virtual label maxSize(const polyMesh& mesh) const;
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -1,50 +0,0 @@
|
|||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 1.5 |
|
||||
| \\ / A nd | Web: http://www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
||||
// ************************************************************************* //
|
|
@ -1,52 +0,0 @@
|
|||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 1.5 |
|
||||
| \\ / A nd | Web: http://www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
||||
// ************************************************************************* //
|
|
@ -1,54 +0,0 @@
|
|||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 1.5 |
|
||||
| \\ / A nd | Web: http://www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
||||
// ************************************************************************* //
|
|
@ -1,82 +0,0 @@
|
|||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 1.5 |
|
||||
| \\ / A nd | Web: http://www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class dictionary;
|
||||
object combustionProperties;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
laminarFlameSpeedCorrelation constant;
|
||||
|
||||
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 0.422;
|
||||
eta 0.15;
|
||||
xi 5.18;
|
||||
alpha 2;
|
||||
beta -0.5;
|
||||
f 2.3;
|
||||
}
|
||||
Propane
|
||||
{
|
||||
W 0.446;
|
||||
eta 0.12;
|
||||
xi 4.95;
|
||||
alpha 1.77;
|
||||
beta -0.2;
|
||||
f 2.3;
|
||||
}
|
||||
IsoOctane
|
||||
{
|
||||
W 0.4658;
|
||||
eta -0.326;
|
||||
xi 4.48;
|
||||
alpha 1.56;
|
||||
beta -0.22;
|
||||
f 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;
|
||||
|
||||
// ************************************************************************* //
|
|
@ -1,41 +0,0 @@
|
|||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 1.5 |
|
||||
| \\ / A nd | Web: http://www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
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;
|
||||
*/
|
||||
|
||||
// ************************************************************************* //
|
|
@ -1,83 +0,0 @@
|
|||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 1.5 |
|
||||
| \\ / A nd | Web: http://www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
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;
|
||||
}
|
||||
|
||||
// ************************************************************************* //
|
|
@ -1,105 +0,0 @@
|
|||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 1.5 |
|
||||
| \\ / A nd | Web: http://www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
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;
|
||||
}
|
||||
|
||||
// ************************************************************************* //
|
|
@ -1,50 +0,0 @@
|
|||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 1.5 |
|
||||
| \\ / A nd | Web: http://www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
||||
// ************************************************************************* //
|
|
@ -1,52 +0,0 @@
|
|||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 1.5 |
|
||||
| \\ / A nd | Web: http://www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
||||
// ************************************************************************* //
|
|
@ -1,54 +0,0 @@
|
|||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 1.5 |
|
||||
| \\ / A nd | Web: http://www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
||||
// ************************************************************************* //
|
|
@ -1,54 +0,0 @@
|
|||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 1.5 |
|
||||
| \\ / A nd | Web: http://www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
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 1e-8;
|
||||
}
|
||||
|
||||
lowerWall
|
||||
{
|
||||
type fixedValue;
|
||||
value uniform 1e-8;
|
||||
}
|
||||
|
||||
frontAndBack
|
||||
{
|
||||
type cyclic;
|
||||
}
|
||||
}
|
||||
|
||||
// ************************************************************************* //
|
|
@ -1,90 +0,0 @@
|
|||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 1.5 |
|
||||
| \\ / A nd | Web: http://www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class dictionary;
|
||||
object combustionProperties;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
laminarFlameSpeedCorrelation Gulders;
|
||||
|
||||
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 0.422;
|
||||
eta 0.15;
|
||||
xi 5.18;
|
||||
alpha 2;
|
||||
beta -0.5;
|
||||
f 2.3;
|
||||
}
|
||||
Propane
|
||||
{
|
||||
W 0.446;
|
||||
eta 0.12;
|
||||
xi 4.95;
|
||||
alpha 1.77;
|
||||
beta -0.2;
|
||||
f 2.3;
|
||||
}
|
||||
IsoOctane
|
||||
{
|
||||
W 0.4658;
|
||||
eta -0.326;
|
||||
xi 4.48;
|
||||
alpha 1.56;
|
||||
beta -0.22;
|
||||
f 2.3;
|
||||
}
|
||||
}
|
||||
|
||||
ignite yes;
|
||||
|
||||
ignitionSites
|
||||
(
|
||||
|
||||
{
|
||||
location (0 0 0);
|
||||
diameter 0.003;
|
||||
start 0;
|
||||
duration 0.001;
|
||||
strength 2;
|
||||
}
|
||||
);
|
||||
|
||||
ignitionSphereFraction 1;
|
||||
|
||||
ignitionThickness ignitionThickness [0 1 0 0 0 0 0] 0;
|
||||
|
||||
ignitionCircleFraction 0;
|
||||
|
||||
ignitionKernelArea ignitionKernelArea [0 2 0 0 0 0 0] 0;
|
||||
|
||||
// ************************************************************************* //
|
|
@ -1,153 +0,0 @@
|
|||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 1.5 |
|
||||
| \\ / A nd | Web: http://www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class dictionary;
|
||||
object blockMeshDict;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
convertToMeters 0.001;
|
||||
|
||||
vertices
|
||||
(
|
||||
(-20.6 0 0)
|
||||
(-20.6 2 0)
|
||||
(-20.6 12.7 0)
|
||||
(-20.6 25.4 0)
|
||||
(0 -25.4 0)
|
||||
(0 -4 0)
|
||||
(0 0 0)
|
||||
(0 2 0)
|
||||
(0 12.7 0)
|
||||
(0 25.4 0)
|
||||
(206 -25.4 0)
|
||||
(206 -8.5 0)
|
||||
(206 0 0)
|
||||
(206 8.5 0)
|
||||
(206 17 0)
|
||||
(206 25.4 0)
|
||||
(290 -16.6 0)
|
||||
(290 -8.3 0)
|
||||
(290 0 0)
|
||||
(290 5.5 0)
|
||||
(290 11 0)
|
||||
(290 16.6 0)
|
||||
(-20.6 0 38.1)
|
||||
(-20.6 2 38.1)
|
||||
(-20.6 12.7 38.1)
|
||||
(-20.6 25.4 38.1)
|
||||
(0 -25.4 38.1)
|
||||
(0 -4 38.1)
|
||||
(0 0 38.1)
|
||||
(0 2 38.1)
|
||||
(0 12.7 38.1)
|
||||
(0 25.4 38.1)
|
||||
(206 -25.4 38.1)
|
||||
(206 -8.5 38.1)
|
||||
(206 0 38.1)
|
||||
(206 8.5 38.1)
|
||||
(206 17 38.1)
|
||||
(206 25.4 38.1)
|
||||
(290 -16.6 38.1)
|
||||
(290 -8.3 38.1)
|
||||
(290 0 38.1)
|
||||
(290 5.5 38.1)
|
||||
(290 11 38.1)
|
||||
(290 16.6 38.1)
|
||||
);
|
||||
|
||||
blocks
|
||||
(
|
||||
hex (0 6 7 1 22 28 29 23) (18 7 20) simpleGrading (1 1 1)
|
||||
hex (1 7 8 2 23 29 30 24) (18 10 20) simpleGrading (1 4 1)
|
||||
hex (2 8 9 3 24 30 31 25) (18 13 20) simpleGrading (1 0.25 1)
|
||||
hex (4 10 11 5 26 32 33 27) (180 18 20) simpleGrading (2 1 1)
|
||||
hex (5 11 12 6 27 33 34 28) (180 9 20) simpleGrading (2 1 1)
|
||||
hex (6 12 13 7 28 34 35 29) (180 7 20) simpleGrading (2 1 1)
|
||||
hex (7 13 14 8 29 35 36 30) (180 10 20) simpleGrading (2 4 1)
|
||||
hex (8 14 15 9 30 36 37 31) (180 13 20) simpleGrading (2 0.25 1)
|
||||
hex (10 16 17 11 32 38 39 33) (25 18 20) simpleGrading (1 1 1)
|
||||
hex (11 17 18 12 33 39 40 34) (25 9 20) simpleGrading (1 1 1)
|
||||
hex (12 18 19 13 34 40 41 35) (25 7 20) simpleGrading (1 1 1)
|
||||
hex (13 19 20 14 35 41 42 36) (25 10 20) simpleGrading (1 4 1)
|
||||
hex (14 20 21 15 36 42 43 37) (25 13 20) simpleGrading (1 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)
|
||||
)
|
||||
cyclic 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
|
||||
(
|
||||
);
|
||||
|
||||
// ************************************************************************* //
|
|
@ -1,41 +0,0 @@
|
|||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 1.5 |
|
||||
| \\ / A nd | Web: http://www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
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;
|
||||
*/
|
||||
|
||||
// ************************************************************************* //
|
|
@ -1,76 +0,0 @@
|
|||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 1.5 |
|
||||
| \\ / A nd | Web: http://www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
class dictionary;
|
||||
object controlDict;
|
||||
}
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
application Xoodles;
|
||||
|
||||
startFrom startTime;
|
||||
|
||||
startTime 0;
|
||||
|
||||
stopAt endTime;
|
||||
|
||||
endTime 0.02;
|
||||
|
||||
deltaT 5e-06;
|
||||
|
||||
writeControl runTime;
|
||||
|
||||
writeInterval 0.0005;
|
||||
|
||||
purgeWrite 0;
|
||||
|
||||
writeFormat ascii;
|
||||
|
||||
writePrecision 6;
|
||||
|
||||
writeCompression compressed;
|
||||
|
||||
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;
|
||||
}
|
||||
);
|
||||
}
|
||||
);
|
||||
|
||||
// ************************************************************************* //
|
|
@ -1,105 +0,0 @@
|
|||
/*--------------------------------*- C++ -*----------------------------------*\
|
||||
| ========= | |
|
||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||
| \\ / O peration | Version: 1.5 |
|
||||
| \\ / A nd | Web: http://www.OpenFOAM.org |
|
||||
| \\/ M anipulation | |
|
||||
\*---------------------------------------------------------------------------*/
|
||||
FoamFile
|
||||
{
|
||||
version 2.0;
|
||||
format ascii;
|
||||
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;
|
||||
}
|
||||
|
||||
// ************************************************************************* //
|
Some files were not shown because too many files have changed in this diff Show more
Reference in a new issue