Merge commit 'OpenCFD/master' into olesenm

This commit is contained in:
Mark Olesen
2008-06-26 14:08:49 +02:00
89 changed files with 3755 additions and 44940 deletions

View File

@ -312,7 +312,7 @@ label collapseHighAspectFaces
if (lengths[1] > edgeRatio*lengths[0]) if (lengths[1] > edgeRatio*lengths[0])
{ {
edgeI = fEdges[lengths.indices()[0]]; edgeI = fEdges[lengths.indices()[0]];
} }
} }
@ -456,6 +456,7 @@ label simplifyFaces
int main(int argc, char *argv[]) int main(int argc, char *argv[])
{ {
argList::noParallel(); argList::noParallel();
argList::validOptions.insert("overwrite", "");
argList::validArgs.append("edge length [m]"); argList::validArgs.append("edge length [m]");
argList::validArgs.append("merge angle (degrees)"); argList::validArgs.append("merge angle (degrees)");
@ -465,6 +466,7 @@ int main(int argc, char *argv[])
scalar minLen(readScalar(IStringStream(args.additionalArgs()[0])())); scalar minLen(readScalar(IStringStream(args.additionalArgs()[0])()));
scalar angle(readScalar(IStringStream(args.additionalArgs()[1])())); scalar angle(readScalar(IStringStream(args.additionalArgs()[1])()));
bool overwrite = args.options().found("overwrite");
scalar maxCos = Foam::cos(angle*180/mathematicalConstant::pi); scalar maxCos = Foam::cos(angle*180/mathematicalConstant::pi);
@ -580,7 +582,10 @@ int main(int argc, char *argv[])
if (meshChanged) if (meshChanged)
{ {
// Write resulting mesh // Write resulting mesh
runTime++; if (!overwrite)
{
runTime++;
}
Info << "Writing collapsed mesh to time " << runTime.value() << endl; Info << "Writing collapsed mesh to time " << runTime.value() << endl;

View File

@ -92,7 +92,7 @@ void checkSnapMesh
scalar relMinVol(readScalar(snapDict.lookup("minVol"))); scalar relMinVol(readScalar(snapDict.lookup("minVol")));
const scalar minCellVol = min(mesh.cellVolumes()); const scalar minCellVol = min(mesh.cellVolumes());
const scalar minPyrVol = relMinVol*minCellVol; const scalar minPyrVol = relMinVol*minCellVol;
// Min area // Min area
scalar minArea(readScalar(snapDict.lookup("minArea"))); scalar minArea(readScalar(snapDict.lookup("minArea")));
if (maxNonOrtho < 180.0-SMALL) if (maxNonOrtho < 180.0-SMALL)
@ -435,6 +435,7 @@ int main(int argc, char *argv[])
argList::validArgs.append("feature angle [0..180]"); argList::validArgs.append("feature angle [0..180]");
argList::validOptions.insert("concaveAngle", "[0..180]"); argList::validOptions.insert("concaveAngle", "[0..180]");
argList::validOptions.insert("snapMesh", ""); argList::validOptions.insert("snapMesh", "");
argList::validOptions.insert("overwrite", "");
# include "setRootCase.H" # include "setRootCase.H"
# include "createTime.H" # include "createTime.H"
@ -457,6 +458,7 @@ int main(int argc, char *argv[])
scalar concaveSin = Foam::sin(concaveAngle*mathematicalConstant::pi/180.0); scalar concaveSin = Foam::sin(concaveAngle*mathematicalConstant::pi/180.0);
bool snapMeshDict = args.options().found("snapMesh"); bool snapMeshDict = args.options().found("snapMesh");
bool overwrite = args.options().found("overwrite");
Info<< "Merging all faces of a cell" << nl Info<< "Merging all faces of a cell" << nl
<< " - which are on the same patch" << nl << " - which are on the same patch" << nl
@ -468,7 +470,10 @@ int main(int argc, char *argv[])
<< " (sin:" << concaveSin << ')' << nl << " (sin:" << concaveSin << ')' << nl
<< endl; << endl;
runTime++; if (!overwrite)
{
runTime++;
}
// Merge faces on same patch // Merge faces on same patch
label nChanged = mergePatchFaces label nChanged = mergePatchFaces

View File

@ -328,10 +328,14 @@ label findCell(const primitiveMesh& mesh, const point& nearPoint)
int main(int argc, char *argv[]) int main(int argc, char *argv[])
{ {
argList::validOptions.insert("overwrite", "");
# include "setRootCase.H" # include "setRootCase.H"
# include "createTime.H" # include "createTime.H"
# include "createPolyMesh.H" # include "createPolyMesh.H"
bool overwrite = args.options().found("overwrite");
Info<< "Reading modifyMeshDict\n" << endl; Info<< "Reading modifyMeshDict\n" << endl;
IOdictionary dict IOdictionary dict
@ -366,7 +370,7 @@ int main(int argc, char *argv[])
bool cellsToSplit = cellsToPyramidise.size() > 0; bool cellsToSplit = cellsToPyramidise.size() > 0;
//List<Tuple<pointField,point> > //List<Tuple<pointField,point> >
// cellsToCreate(dict.lookup("cellsToCreate")); // cellsToCreate(dict.lookup("cellsToCreate"));
Info<< "Read from " << dict.name() << nl Info<< "Read from " << dict.name() << nl
@ -541,7 +545,10 @@ int main(int argc, char *argv[])
cutter.updateMesh(morphMap()); cutter.updateMesh(morphMap());
runTime++; if (!overwrite)
{
runTime++;
}
// Write resulting mesh // Write resulting mesh
Info << "Writing modified mesh to time " << runTime.value() << endl; Info << "Writing modified mesh to time " << runTime.value() << endl;
@ -572,7 +579,7 @@ int main(int argc, char *argv[])
// Topo change container // Topo change container
polyTopoChange meshMod(mesh); polyTopoChange meshMod(mesh);
// Insert // Insert
cutter.setRefinement(meshMod); cutter.setRefinement(meshMod);
// Do changes // Do changes
@ -587,7 +594,10 @@ int main(int argc, char *argv[])
//cutter.updateMesh(morphMap()); //cutter.updateMesh(morphMap());
runTime++; if (!overwrite)
{
runTime++;
}
// Write resulting mesh // Write resulting mesh
Info << "Writing modified mesh to time " << runTime.value() << endl; Info << "Writing modified mesh to time " << runTime.value() << endl;
@ -623,7 +633,10 @@ int main(int argc, char *argv[])
cutter.updateMesh(morphMap()); cutter.updateMesh(morphMap());
runTime++; if (!overwrite)
{
runTime++;
}
// Write resulting mesh // Write resulting mesh
Info << "Writing modified mesh to time " << runTime.value() << endl; Info << "Writing modified mesh to time " << runTime.value() << endl;

View File

@ -52,6 +52,7 @@ using namespace Foam;
// Main program: // Main program:
int main(int argc, char *argv[]) int main(int argc, char *argv[])
{ {
argList::validOptions.insert("overwrite", "");
argList::validArgs.append("cellSet"); argList::validArgs.append("cellSet");
# include "setRootCase.H" # include "setRootCase.H"
# include "createTime.H" # include "createTime.H"
@ -59,6 +60,7 @@ int main(int argc, char *argv[])
pointMesh pMesh(mesh); pointMesh pMesh(mesh);
word cellSetName(args.args()[1]); word cellSetName(args.args()[1]);
bool overwrite = args.options().found("overwrite");
Info<< "Reading cells to refine from cellSet " << cellSetName Info<< "Reading cells to refine from cellSet " << cellSetName
<< nl << endl; << nl << endl;
@ -110,7 +112,7 @@ int main(int argc, char *argv[])
// Read point fields // Read point fields
PtrList<pointScalarField> psFlds; PtrList<pointScalarField> psFlds;
ReadFields(pMesh, objects, psFlds); ReadFields(pMesh, objects, psFlds);
PtrList<pointVectorField> pvFlds; PtrList<pointVectorField> pvFlds;
ReadFields(pMesh, objects, pvFlds); ReadFields(pMesh, objects, pvFlds);
@ -149,7 +151,10 @@ int main(int argc, char *argv[])
// Play refinement commands into mesh changer. // Play refinement commands into mesh changer.
meshCutter.setRefinement(newCellsToRefine, meshMod); meshCutter.setRefinement(newCellsToRefine, meshMod);
runTime++; if (!overwrite)
{
runTime++;
}
// Create mesh, return map from old to new mesh. // Create mesh, return map from old to new mesh.
autoPtr<mapPolyMesh> map = meshMod.changeMesh(mesh, false); autoPtr<mapPolyMesh> map = meshMod.changeMesh(mesh, false);

View File

@ -50,6 +50,7 @@ int main(int argc, char *argv[])
Foam::argList::validArgs.append("patchName"); Foam::argList::validArgs.append("patchName");
Foam::argList::validArgs.append("edgeWeight"); Foam::argList::validArgs.append("edgeWeight");
Foam::argList::validOptions.insert("useSet", "cellSet"); Foam::argList::validOptions.insert("useSet", "cellSet");
Foam::argList::validOptions.insert("overwrite", "");
# include "setRootCase.H" # include "setRootCase.H"
# include "createTime.H" # include "createTime.H"
@ -57,7 +58,8 @@ int main(int argc, char *argv[])
word patchName(args.additionalArgs()[0]); word patchName(args.additionalArgs()[0]);
scalar weight(readScalar(IStringStream(args.additionalArgs()[1])())); scalar weight(readScalar(IStringStream(args.additionalArgs()[1])()));
bool overwrite = args.options().found("overwrite");
label patchID = mesh.boundaryMesh().findPatchID(patchName); label patchID = mesh.boundaryMesh().findPatchID(patchName);
@ -212,7 +214,10 @@ int main(int argc, char *argv[])
// Do all changes // Do all changes
Info<< "Morphing ..." << endl; Info<< "Morphing ..." << endl;
runTime++; if (!overwrite)
{
runTime++;
}
autoPtr<mapPolyMesh> morphMap = meshMod.changeMesh(mesh, false); autoPtr<mapPolyMesh> morphMap = meshMod.changeMesh(mesh, false);

View File

@ -48,12 +48,15 @@ using namespace Foam;
int main(int argc, char *argv[]) int main(int argc, char *argv[])
{ {
Foam::argList::validOptions.insert("overwrite", "");
Foam::argList::validArgs.append("faceSet"); Foam::argList::validArgs.append("faceSet");
# include "setRootCase.H" # include "setRootCase.H"
# include "createTime.H" # include "createTime.H"
# include "createMesh.H" # include "createMesh.H"
bool overwrite = args.options().found("overwrite");
word setName(args.additionalArgs()[0]); word setName(args.additionalArgs()[0]);
// Read faces // Read faces
@ -159,7 +162,10 @@ int main(int argc, char *argv[])
// Update numbering of cells/vertices. // Update numbering of cells/vertices.
faceRemover.updateMesh(morphMap); faceRemover.updateMesh(morphMap);
runTime++; if (!overwrite)
{
runTime++;
}
// Take over refinement levels and write to new time directory. // Take over refinement levels and write to new time directory.
Pout<< "Writing mesh to time " << runTime.timeName() << endl; Pout<< "Writing mesh to time " << runTime.timeName() << endl;

View File

@ -527,6 +527,7 @@ int main(int argc, char *argv[])
argList::validOptions.insert("set", "cellSet name"); argList::validOptions.insert("set", "cellSet name");
argList::validOptions.insert("geometry", ""); argList::validOptions.insert("geometry", "");
argList::validOptions.insert("tol", "edge snap tolerance"); argList::validOptions.insert("tol", "edge snap tolerance");
argList::validOptions.insert("overwrite", "");
argList::validArgs.append("edge angle [0..360]"); argList::validArgs.append("edge angle [0..360]");
# include "setRootCase.H" # include "setRootCase.H"
@ -541,6 +542,7 @@ int main(int argc, char *argv[])
bool readSet = args.options().found("set"); bool readSet = args.options().found("set");
bool geometry = args.options().found("geometry"); bool geometry = args.options().found("geometry");
bool overwrite = args.options().found("overwrite");
scalar edgeTol = 0.2; scalar edgeTol = 0.2;
@ -574,7 +576,7 @@ int main(int argc, char *argv[])
// Cell circumference cutter // Cell circumference cutter
geomCellLooper cellCutter(mesh); geomCellLooper cellCutter(mesh);
// Snap all edge cuts close to endpoints to vertices. // Snap all edge cuts close to endpoints to vertices.
geomCellLooper::setSnapTol(edgeTol); geomCellLooper::setSnapTol(edgeTol);
// Candidate cells to cut // Candidate cells to cut
cellSet cellsToCut(mesh, "cellsToCut", mesh.nCells()/100); cellSet cellsToCut(mesh, "cellsToCut", mesh.nCells()/100);
@ -612,7 +614,7 @@ int main(int argc, char *argv[])
minCos, minCos,
minSin, minSin,
cellsToCut, cellsToCut,
cutCells, cutCells,
cellLoops, cellLoops,
cellEdgeWeights cellEdgeWeights
@ -669,7 +671,10 @@ int main(int argc, char *argv[])
// Do all changes // Do all changes
Info<< "Morphing ..." << endl; Info<< "Morphing ..." << endl;
runTime++; if (!overwrite)
{
runTime++;
}
autoPtr<mapPolyMesh> morphMap = meshMod.changeMesh(mesh, false); autoPtr<mapPolyMesh> morphMap = meshMod.changeMesh(mesh, false);

View File

@ -89,11 +89,13 @@ using namespace Foam;
int main(int argc, char *argv[]) int main(int argc, char *argv[])
{ {
argList::validArgs.append("Neutral file"); argList::validArgs.append("Neutral file");
argList::validOptions.insert("overwrite", "");
# include "setRootCase.H" # include "setRootCase.H"
# include "createTime.H" # include "createTime.H"
fileName neuFile(args.additionalArgs()[0]); fileName neuFile(args.additionalArgs()[0]);
bool overwrite = args.options().found("overwrite");
IFstream str(neuFile); IFstream str(neuFile);
@ -298,7 +300,10 @@ int main(int argc, char *argv[])
} }
runTime++; if (!overwrite)
{
runTime++;
}
polyMesh mesh polyMesh mesh
( (
@ -321,7 +326,7 @@ int main(int argc, char *argv[])
Info<< "Writing mesh to " << runTime.constant() << endl << endl; Info<< "Writing mesh to " << runTime.constant() << endl << endl;
mesh.write(); mesh.write();
Info<< "End\n" << endl; Info<< "End\n" << endl;

View File

@ -43,12 +43,14 @@ int main(int argc, char *argv[])
{ {
argList::noParallel(); argList::noParallel();
argList::validArgs.append("feature angle[0-180]"); argList::validArgs.append("feature angle[0-180]");
argList::validOptions.insert("overwrite", "");
# include "setRootCase.H" # include "setRootCase.H"
# include "createTime.H" # include "createTime.H"
# include "createPolyMesh.H" # include "createPolyMesh.H"
scalar featureAngle(readScalar(IStringStream(args.additionalArgs()[0])())); scalar featureAngle(readScalar(IStringStream(args.additionalArgs()[0])()));
bool overwrite = args.options().found("overwrite");
scalar minCos = Foam::cos(featureAngle * mathematicalConstant::pi/180.0); scalar minCos = Foam::cos(featureAngle * mathematicalConstant::pi/180.0);
@ -58,7 +60,10 @@ int main(int argc, char *argv[])
polyDualMesh dualMesh(mesh, minCos); polyDualMesh dualMesh(mesh, minCos);
runTime++; if (!overwrite)
{
runTime++;
}
Pout<< "Writing dualMesh to " << runTime.timeName() << endl; Pout<< "Writing dualMesh to " << runTime.timeName() << endl;

View File

@ -75,12 +75,14 @@ int main(int argc, char *argv[])
{ {
argList::validArgs.append("file prefix"); argList::validArgs.append("file prefix");
argList::validOptions.insert("noFaceFile", ""); argList::validOptions.insert("noFaceFile", "");
argList::validOptions.insert("overwrite", "");
# include "setRootCase.H" # include "setRootCase.H"
# include "createTime.H" # include "createTime.H"
bool readFaceFile = !args.options().found("noFaceFile"); bool readFaceFile = !args.options().found("noFaceFile");
bool overwrite = args.options().found("overwrite");
fileName prefix(args.additionalArgs()[0]); fileName prefix(args.additionalArgs()[0]);
@ -244,7 +246,7 @@ int main(int argc, char *argv[])
<< "Element attributes (third elemenent in .ele header)" << "Element attributes (third elemenent in .ele header)"
<< " not used" << endl; << " not used" << endl;
} }
const cellModel& tet = *(cellModeller::lookup("tet")); const cellModel& tet = *(cellModeller::lookup("tet"));
@ -438,7 +440,7 @@ int main(int argc, char *argv[])
word defaultFacesType = polyPatch::typeName; word defaultFacesType = polyPatch::typeName;
wordList patchPhysicalTypes(nPatches, polyPatch::typeName); wordList patchPhysicalTypes(nPatches, polyPatch::typeName);
if (readFaceFile) if (readFaceFile)
{ {
// Sort boundaryFaces by patch using boundaryPatch. // Sort boundaryFaces by patch using boundaryPatch.
@ -464,7 +466,10 @@ int main(int argc, char *argv[])
Info<< endl; Info<< endl;
} }
runTime++; if (!overwrite)
{
runTime++;
}
polyMesh mesh polyMesh mesh
( (
@ -487,7 +492,7 @@ int main(int argc, char *argv[])
Info<< "Writing mesh to " << runTime.constant() << endl << endl; Info<< "Writing mesh to " << runTime.constant() << endl << endl;
mesh.write(); mesh.write();
Info<< "End\n" << endl; Info<< "End\n" << endl;

View File

@ -58,11 +58,13 @@ using namespace Foam;
int main(int argc, char *argv[]) int main(int argc, char *argv[])
{ {
argList::validArgs.append("thickness"); argList::validArgs.append("thickness");
argList::validOptions.insert("overwrite", "");
# include "setRootCase.H" # include "setRootCase.H"
# include "createTime.H" # include "createTime.H"
# include "createPolyMesh.H" # include "createPolyMesh.H"
scalar thickness(readScalar(IStringStream(args.additionalArgs()[0])())); scalar thickness(readScalar(IStringStream(args.additionalArgs()[0])()));
bool overwrite = args.options().found("overwrite");
// Check that mesh is 2D // Check that mesh is 2D
@ -164,7 +166,7 @@ int main(int argc, char *argv[])
// Insert changes into meshMod // Insert changes into meshMod
extruder.setRefinement extruder.setRefinement
( (
extrudeDir, extrudeDir,
thickness, thickness,
frontPatchI, frontPatchI,
meshMod meshMod
@ -175,7 +177,10 @@ int main(int argc, char *argv[])
mesh.updateMesh(morphMap); mesh.updateMesh(morphMap);
runTime++; if (!overwrite)
{
runTime++;
}
// Take over refinement levels and write to new time directory. // Take over refinement levels and write to new time directory.
Pout<< "Writing extruded mesh to time " << runTime.timeName() << nl Pout<< "Writing extruded mesh to time " << runTime.timeName() << nl

View File

@ -42,12 +42,18 @@ using namespace Foam;
int main(int argc, char *argv[]) int main(int argc, char *argv[])
{ {
argList::noParallel(); argList::noParallel();
# include "setRootCase.H" argList::validOptions.insert("overwrite", "");
# include "setRootCase.H"
# include "createTime.H" # include "createTime.H"
# include "createPolyMesh.H" # include "createPolyMesh.H"
runTime++; bool overwrite = args.options().found("overwrite");
if (!overwrite)
{
runTime++;
}
Info<< "Time = " << runTime.timeName() << nl Info<< "Time = " << runTime.timeName() << nl
<< "Attaching sliding interface" << endl; << "Attaching sliding interface" << endl;

View File

@ -71,6 +71,7 @@ int main(int argc, char *argv[])
{ {
argList::noParallel(); argList::noParallel();
argList::validArgs.append("feature angle[0-180]"); argList::validArgs.append("feature angle[0-180]");
argList::validOptions.insert("overwrite", "");
# include "setRootCase.H" # include "setRootCase.H"
# include "createTime.H" # include "createTime.H"
@ -88,6 +89,7 @@ int main(int argc, char *argv[])
boundaryMesh bMesh; boundaryMesh bMesh;
scalar featureAngle(readScalar(IStringStream(args.additionalArgs()[0])())); scalar featureAngle(readScalar(IStringStream(args.additionalArgs()[0])()));
bool overwrite = args.options().found("overwrite");
scalar minCos = Foam::cos(featureAngle * mathematicalConstant::pi/180.0); scalar minCos = Foam::cos(featureAngle * mathematicalConstant::pi/180.0);
@ -106,7 +108,7 @@ int main(int argc, char *argv[])
collectFeatureEdges(bMesh, markedEdges); collectFeatureEdges(bMesh, markedEdges);
// (new) patch ID for every face in mesh. // (new) patch ID for every face in mesh.
labelList patchIDs(bMesh.mesh().size(), -1); labelList patchIDs(bMesh.mesh().size(), -1);
@ -209,15 +211,18 @@ int main(int argc, char *argv[])
newPatchI, newPatchI,
mesh.boundaryMesh() mesh.boundaryMesh()
).ptr(); ).ptr();
newPatchI++; newPatchI++;
} }
runTime++; if (!overwrite)
{
runTime++;
}
// Change patches // Change patches
repatchPolyTopoChanger polyMeshRepatcher(mesh); repatchPolyTopoChanger polyMeshRepatcher(mesh);
polyMeshRepatcher.changePatches(newPatchPtrList); polyMeshRepatcher.changePatches(newPatchPtrList);

View File

@ -54,6 +54,7 @@ int main(int argc, char *argv[])
{ {
argList::validArgs.append("set"); argList::validArgs.append("set");
argList::validArgs.append("patch"); argList::validArgs.append("patch");
argList::validOptions.insert("overwrite", "");
# include "setRootCase.H" # include "setRootCase.H"
# include "createTime.H" # include "createTime.H"
@ -81,6 +82,8 @@ int main(int argc, char *argv[])
<< "Cannot find patch " << patchName << exit(FatalError); << "Cannot find patch " << patchName << exit(FatalError);
} }
bool overwrite = args.options().found("overwrite");
// Read objects in time directory // Read objects in time directory
IOobjectList objects(mesh, runTime.timeName()); IOobjectList objects(mesh, runTime.timeName());
@ -226,7 +229,10 @@ int main(int argc, char *argv[])
Pout<< "Converted locally " << nBaffled Pout<< "Converted locally " << nBaffled
<< " faces into boundary faces on patch " << patchName << nl << endl; << " faces into boundary faces on patch " << patchName << nl << endl;
runTime++; if (!overwrite)
{
runTime++;
}
// Change the mesh. Change points directly (no inflation). // Change the mesh. Change points directly (no inflation).
autoPtr<mapPolyMesh> map = meshMod.changeMesh(mesh, false); autoPtr<mapPolyMesh> map = meshMod.changeMesh(mesh, false);

View File

@ -154,11 +154,13 @@ void filterPatches(polyMesh& mesh)
int main(int argc, char *argv[]) int main(int argc, char *argv[])
{ {
argList::noParallel(); argList::noParallel();
argList::validOptions.insert("overwrite", "");
# include "setRootCase.H" # include "setRootCase.H"
# include "createTime.H" # include "createTime.H"
# include "createPolyMesh.H" # include "createPolyMesh.H"
bool overwrite = args.options().found("overwrite");
Info<< "Reading createPatchDict\n" << endl; Info<< "Reading createPatchDict\n" << endl;
@ -355,7 +357,10 @@ int main(int argc, char *argv[])
// Set the precision of the points data to 10 // Set the precision of the points data to 10
IOstream::defaultPrecision(10); IOstream::defaultPrecision(10);
runTime++; if (!overwrite)
{
runTime++;
}
// Write resulting mesh // Write resulting mesh
Info<< "Writing repatched mesh to " << runTime.timeName() << endl; Info<< "Writing repatched mesh to " << runTime.timeName() << endl;

View File

@ -251,11 +251,13 @@ labelList getAllNonManifoldPoints
int main(int argc, char *argv[]) int main(int argc, char *argv[])
{ {
argList::validOptions.insert("split", ""); argList::validOptions.insert("split", "");
argList::validOptions.insert("overwrite", "");
# include "setRootCase.H" # include "setRootCase.H"
# include "createTime.H" # include "createTime.H"
# include "createMesh.H" # include "createMesh.H"
bool split = args.options().found("split"); bool split = args.options().found("split");
bool overwrite = args.options().found("overwrite");
// Collect all boundary faces // Collect all boundary faces
labelList boundaryFaces(mesh.nFaces() - mesh.nInternalFaces()); labelList boundaryFaces(mesh.nFaces() - mesh.nInternalFaces());
@ -402,7 +404,10 @@ int main(int argc, char *argv[])
insertDuplicateMerge(mesh, duplicates, meshMod); insertDuplicateMerge(mesh, duplicates, meshMod);
} }
runTime++; if (!overwrite)
{
runTime++;
}
// Change the mesh. No inflation. // Change the mesh. No inflation.
autoPtr<mapPolyMesh> map = meshMod.changeMesh(mesh, false); autoPtr<mapPolyMesh> map = meshMod.changeMesh(mesh, false);

View File

@ -294,6 +294,7 @@ label twoDNess(const polyMesh& mesh)
int main(int argc, char *argv[]) int main(int argc, char *argv[])
{ {
Foam::argList::validOptions.insert("dict", ""); Foam::argList::validOptions.insert("dict", "");
Foam::argList::validOptions.insert("overwrite", "");
# include "setRootCase.H" # include "setRootCase.H"
# include "createTime.H" # include "createTime.H"
@ -307,6 +308,7 @@ int main(int argc, char *argv[])
// //
bool readDict = args.options().found("dict"); bool readDict = args.options().found("dict");
bool overwrite = args.options().found("overwrite");
// List of cells to refine // List of cells to refine
labelList refCells; labelList refCells;
@ -413,7 +415,10 @@ int main(int argc, char *argv[])
string oldTimeName(runTime.timeName()); string oldTimeName(runTime.timeName());
runTime++; if (!overwrite)
{
runTime++;
}
// Multi-directional refinement (does multiple iterations) // Multi-directional refinement (does multiple iterations)
@ -431,7 +436,7 @@ int main(int argc, char *argv[])
// Create cellSet with added cells for easy inspection // Create cellSet with added cells for easy inspection
cellSet newCells(mesh, "refinedCells", refCells.size()); cellSet newCells(mesh, "refinedCells", refCells.size());
forAll(oldToNew, oldCellI) forAll(oldToNew, oldCellI)
{ {
const labelList& added = oldToNew[oldCellI]; const labelList& added = oldToNew[oldCellI];
@ -445,7 +450,7 @@ int main(int argc, char *argv[])
Pout<< "Writing refined cells (" << newCells.size() << ") to cellSet " Pout<< "Writing refined cells (" << newCells.size() << ") to cellSet "
<< newCells.instance()/newCells.local()/newCells.name() << newCells.instance()/newCells.local()/newCells.name()
<< endl << endl; << endl << endl;
newCells.write(); newCells.write();
@ -473,7 +478,7 @@ int main(int argc, char *argv[])
+ runTime.timeName() + runTime.timeName()
+ " to cells in mesh at " + " to cells in mesh at "
+ oldTimeName; + oldTimeName;
forAll(oldToNew, oldCellI) forAll(oldToNew, oldCellI)
{ {
@ -500,7 +505,7 @@ int main(int argc, char *argv[])
// Some statistics. // Some statistics.
printEdgeStats(mesh); printEdgeStats(mesh);
Info<< "End\n" << endl; Info<< "End\n" << endl;

View File

@ -228,7 +228,7 @@ labelList regionFaceOrder
oldToNewFace[sortKey.indices()[i]] = newFaceI++; oldToNewFace[sortKey.indices()[i]] = newFaceI++;
} }
} }
// Leave patch faces intact. // Leave patch faces intact.
for (label faceI = newFaceI; faceI < mesh.nFaces(); faceI++) for (label faceI = newFaceI; faceI < mesh.nFaces(); faceI++)
@ -368,7 +368,8 @@ int main(int argc, char *argv[])
argList::validOptions.insert("blockOrder", ""); argList::validOptions.insert("blockOrder", "");
argList::validOptions.insert("orderPoints", ""); argList::validOptions.insert("orderPoints", "");
argList::validOptions.insert("writeMaps", ""); argList::validOptions.insert("writeMaps", "");
argList::validOptions.insert("overwrite", "");
# include "addTimeOptions.H" # include "addTimeOptions.H"
# include "setRootCase.H" # include "setRootCase.H"
@ -411,6 +412,7 @@ int main(int argc, char *argv[])
<< endl; << endl;
} }
bool overwrite = args.options().found("overwrite");
label band = getBand(mesh.faceOwner(), mesh.faceNeighbour()); label band = getBand(mesh.faceOwner(), mesh.faceNeighbour());
@ -503,7 +505,7 @@ int main(int argc, char *argv[])
forAll(cellToRegion, cellI) forAll(cellToRegion, cellI)
{ {
cellDist[cellI] = cellToRegion[cellI]; cellDist[cellI] = cellToRegion[cellI];
} }
cellDist.write(); cellDist.write();
@ -528,7 +530,10 @@ int main(int argc, char *argv[])
) )
); );
runTime++; if (!overwrite)
{
runTime++;
}
// Change the mesh. // Change the mesh.
map = reorderMesh(mesh, cellOrder, faceOrder); map = reorderMesh(mesh, cellOrder, faceOrder);
@ -539,7 +544,10 @@ int main(int argc, char *argv[])
polyTopoChange meshMod(mesh); polyTopoChange meshMod(mesh);
runTime++; if (!overwrite)
{
runTime++;
}
// Change the mesh. // Change the mesh.
map = meshMod.changeMesh map = meshMod.changeMesh

View File

@ -118,6 +118,7 @@ int main(int argc, char *argv[])
Foam::argList::validArgs.append("faceSet"); Foam::argList::validArgs.append("faceSet");
Foam::argList::validArgs.append("masterPatch"); Foam::argList::validArgs.append("masterPatch");
Foam::argList::validArgs.append("slavePatch"); Foam::argList::validArgs.append("slavePatch");
Foam::argList::validOptions.insert("overwrite", "");
# include "setRootCase.H" # include "setRootCase.H"
# include "createTime.H" # include "createTime.H"
@ -126,6 +127,7 @@ int main(int argc, char *argv[])
word setName(args.additionalArgs()[0]); word setName(args.additionalArgs()[0]);
word masterPatch(args.additionalArgs()[1]); word masterPatch(args.additionalArgs()[1]);
word slavePatch(args.additionalArgs()[2]); word slavePatch(args.additionalArgs()[2]);
bool overwrite = args.options().found("overwrite");
// List of faces to split // List of faces to split
faceSet facesSet(mesh, setName); faceSet facesSet(mesh, setName);
@ -252,7 +254,10 @@ int main(int argc, char *argv[])
Info<< nl << "Constructed topologyModifier:" << endl; Info<< nl << "Constructed topologyModifier:" << endl;
splitter[0].writeDict(Info); splitter[0].writeDict(Info);
runTime++; if (!overwrite)
{
runTime++;
}
splitter.attach(); splitter.attach();

View File

@ -720,7 +720,7 @@ autoPtr<mapPolyMesh> createRegionMesh
{ {
exposedPatchIDs[i] = interfaceToPatch[interface]+1; exposedPatchIDs[i] = interfaceToPatch[interface]+1;
} }
} }
} }
// Remove faces // Remove faces
@ -1118,6 +1118,7 @@ int main(int argc, char *argv[])
argList::validOptions.insert("makeCellZones", ""); argList::validOptions.insert("makeCellZones", "");
argList::validOptions.insert("largestOnly", ""); argList::validOptions.insert("largestOnly", "");
argList::validOptions.insert("insidePoint", "point"); argList::validOptions.insert("insidePoint", "point");
argList::validOptions.insert("overwrite", "");
# include "setRootCase.H" # include "setRootCase.H"
# include "createTime.H" # include "createTime.H"
@ -1134,6 +1135,7 @@ int main(int argc, char *argv[])
bool largestOnly = args.options().found("largestOnly"); bool largestOnly = args.options().found("largestOnly");
bool insidePoint = args.options().found("insidePoint"); bool insidePoint = args.options().found("insidePoint");
bool useCellZones = args.options().found("cellZones"); bool useCellZones = args.options().found("cellZones");
bool overwrite = args.options().found("overwrite");
if (insidePoint && largestOnly) if (insidePoint && largestOnly)
{ {
@ -1469,7 +1471,11 @@ int main(int argc, char *argv[])
} }
} }
mesh.cellZones().writeOpt() = IOobject::AUTO_WRITE; mesh.cellZones().writeOpt() = IOobject::AUTO_WRITE;
runTime++;
if (!overwrite)
{
runTime++;
}
Info<< "Writing cellZones as new mesh to time " << runTime.timeName() Info<< "Writing cellZones as new mesh to time " << runTime.timeName()
<< nl << endl; << nl << endl;
@ -1510,7 +1516,10 @@ int main(int argc, char *argv[])
); );
runTime++; if (!overwrite)
{
runTime++;
}
// Create regions // Create regions

View File

@ -131,6 +131,8 @@ int main(int argc, char *argv[])
Foam::argList::validOptions.insert("partial", ""); Foam::argList::validOptions.insert("partial", "");
Foam::argList::validOptions.insert("perfect", ""); Foam::argList::validOptions.insert("perfect", "");
Foam::argList::validOptions.insert("overwrite", "");
# include "setRootCase.H" # include "setRootCase.H"
# include "createTime.H" # include "createTime.H"
# include "createMesh.H" # include "createMesh.H"
@ -141,6 +143,7 @@ int main(int argc, char *argv[])
bool partialCover = args.options().found("partial"); bool partialCover = args.options().found("partial");
bool perfectCover = args.options().found("perfect"); bool perfectCover = args.options().found("perfect");
bool overwrite = args.options().found("overwrite");
if (partialCover && perfectCover) if (partialCover && perfectCover)
{ {
@ -349,7 +352,7 @@ int main(int argc, char *argv[])
IOobjectList objects(mesh, runTime.timeName()); IOobjectList objects(mesh, runTime.timeName());
// Read all current fvFields so they will get mapped // Read all current fvFields so they will get mapped
Info<< "Reading all current volfields" << endl; Info<< "Reading all current volfields" << endl;
PtrList<volScalarField> volScalarFields; PtrList<volScalarField> volScalarFields;
readFields(mesh, objects, volScalarFields); readFields(mesh, objects, volScalarFields);
@ -366,7 +369,7 @@ int main(int argc, char *argv[])
readFields(mesh, objects, volTensorFields); readFields(mesh, objects, volTensorFields);
//- uncomment if you want to interpolate surface fields (usually bad idea) //- uncomment if you want to interpolate surface fields (usually bad idea)
//Info<< "Reading all current surfaceFields" << endl; //Info<< "Reading all current surfaceFields" << endl;
//PtrList<surfaceScalarField> surfaceScalarFields; //PtrList<surfaceScalarField> surfaceScalarFields;
//readFields(mesh, objects, surfaceScalarFields); //readFields(mesh, objects, surfaceScalarFields);
// //
@ -376,7 +379,10 @@ int main(int argc, char *argv[])
//PtrList<surfaceTensorField> surfaceTensorFields; //PtrList<surfaceTensorField> surfaceTensorFields;
//readFields(mesh, objects, surfaceTensorFields); //readFields(mesh, objects, surfaceTensorFields);
runTime++; if (!overwrite)
{
runTime++;
}
// Execute all polyMeshModifiers // Execute all polyMeshModifiers
autoPtr<mapPolyMesh> morphMap = stitcher.changeMesh(true); autoPtr<mapPolyMesh> morphMap = stitcher.changeMesh(true);

View File

@ -60,7 +60,7 @@ void subsetVolFields
Info<< "Subsetting field " << fieldName << endl; Info<< "Subsetting field " << fieldName << endl;
GeometricField<Type, fvPatchField, volMesh> fld GeometricField<Type, fvPatchField, volMesh> fld
( (
IOobject IOobject
( (
@ -94,7 +94,7 @@ void subsetSurfaceFields
Info<< "Subsetting field " << fieldName << endl; Info<< "Subsetting field " << fieldName << endl;
GeometricField<Type, fvsPatchField, surfaceMesh> fld GeometricField<Type, fvsPatchField, surfaceMesh> fld
( (
IOobject IOobject
( (
@ -129,7 +129,7 @@ void subsetPointFields
Info<< "Subsetting field " << fieldName << endl; Info<< "Subsetting field " << fieldName << endl;
GeometricField<Type, pointPatchField, pointMesh> fld GeometricField<Type, pointPatchField, pointMesh> fld
( (
IOobject IOobject
( (
@ -153,12 +153,14 @@ int main(int argc, char *argv[])
{ {
argList::validArgs.append("set"); argList::validArgs.append("set");
argList::validOptions.insert("patch", "patch name"); argList::validOptions.insert("patch", "patch name");
argList::validOptions.insert("overwrite", "");
# include "setRootCase.H" # include "setRootCase.H"
# include "createTime.H" # include "createTime.H"
# include "createMesh.H" # include "createMesh.H"
word setName(args.additionalArgs()[0]); word setName(args.additionalArgs()[0]);
bool overwrite = args.options().found("overwrite");
Info<< "Reading cell set from " << setName << endl << endl; Info<< "Reading cell set from " << setName << endl << endl;
@ -324,14 +326,17 @@ int main(int argc, char *argv[])
// Write mesh and fields to new time // Write mesh and fields to new time
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
runTime++; if (!overwrite)
{
runTime++;
}
Info<< "Writing subsetted mesh and fields to time " << runTime.value() Info<< "Writing subsetted mesh and fields to time " << runTime.value()
<< endl; << endl;
subsetter.subMesh().write(); subsetter.subMesh().write();
// Subsetting adds 'subset' prefix. Rename field to be like original. // Subsetting adds 'subset' prefix. Rename field to be like original.
forAll(scalarFlds, i) forAll(scalarFlds, i)
{ {
scalarFlds[i].rename(scalarNames[i]); scalarFlds[i].rename(scalarNames[i]);

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,23 @@
#!/bin/sh
# Source tutorial clean functions
. $WM_PROJECT_DIR/bin/tools/CleanFunctions
cd throttle
rm -rf constant/polyMesh/sets > /dev/null 2>&1
rm -rf 0/polyMesh > /dev/null 2>&1
rm system/cellSetDict > /dev/null 2>&1
cleanCase
cd ..
cd throttle3D
rm -rf constant/polyMesh/sets > /dev/null 2>&1
rm -rf 0 > /dev/null 2>&1
cp -r 0.orig 0
rm system/cellSetDict > /dev/null 2>&1
rm -rf processor[0-9] > /dev/null 2>&1
cleanCase
cd ..

View File

@ -0,0 +1,44 @@
#!/bin/sh
# Source tutorial run functions
. $WM_PROJECT_DIR/bin/tools/RunFunctions
application="lesCavitatingFoam"
refineMeshByCellSet()
{
echo "creating cell set for primary zone - $1"
cp system/cellSetDict.$1 system/cellSetDict
cellSet >& log.cellSet.$1
echo "refining primary zone - $1"
refineMesh -dict -overwrite >& log.refineMesh.$1
}
cd throttle
runApplication blockMesh
refineMeshByCellSet 1
refineMeshByCellSet 2
refineMeshByCellSet 3
runApplication $application
cd ..
cd throttle3D
cp -r 0.orig 0
runApplication blockMesh
refineMeshByCellSet 1
refineMeshByCellSet 2
refineMeshByCellSet 3
echo "mapping fields from 2D throttle case"
mapFields ../throttle -sourceTime latestTime >& log.mapFields
runApplication decomposePar
hostname > system/machines
runParallel $application 4 system/machines
runApplication reconstructPar
cd ..

View File

@ -0,0 +1,47 @@
/*--------------------------------*- 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 volVectorField;
object U;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 1 -1 0 0];
internalField uniform (0 0 0);
boundaryField
{
inlet
{
type zeroGradient;
value uniform (0 0 0);
}
outlet
{
type zeroGradient;
value uniform (0 0 0);
}
walls
{
type fixedValue;
value uniform (0 0 0);
}
frontBack
{
type empty;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,47 @@
/*--------------------------------*- 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 gamma;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 0 0 0];
internalField uniform 0;
boundaryField
{
inlet
{
type calculated;
value uniform 0;
}
outlet
{
type calculated;
value uniform 0;
}
walls
{
type calculated;
value uniform 0;
}
frontBack
{
type empty;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,45 @@
/*--------------------------------*- 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];
internalField uniform 10.0;
boundaryField
{
inlet
{
type fixedValue;
value uniform 0.5;
}
outlet
{
type zeroGradient;
}
walls
{
type zeroGradient;
}
frontBack
{
type empty;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,42 @@
/*--------------------------------*- 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 binary;
class volScalarField;
object nuSgs;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 2 -1 0 0 0 0];
internalField uniform 1e-11;
boundaryField
{
inlet
{
type zeroGradient;
}
outlet
{
type zeroGradient;
}
walls
{
type fixedValue;
value uniform 0;
}
frontBack
{
type empty;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,51 @@
/*--------------------------------*- 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 p;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [1 -1 -2 0 0];
internalField uniform 300e5;
boundaryField
{
inlet
{
type totalPressure;
U U;
phi phiv;
rho rho;
psi none;
gamma 1;
p0 uniform 300e5;
}
outlet
{
type fixedValue;
value uniform 100e5;
}
walls
{
type zeroGradient;
}
frontBack
{
type empty;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,46 @@
/*--------------------------------*- 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 rho;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [1 -3 0 0 0];
internalField uniform 845;
boundaryField
{
inlet
{
type fixedValue;
value uniform 845;
}
outlet
{
type fixedValue;
value uniform 835;
}
walls
{
type zeroGradient;
}
frontBack
{
type empty;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,180 @@
/*--------------------------------*- 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 LESProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
LESModel devOneEqEddy;
delta smooth;
laminarCoeffs
{
}
devOneEqEddyCoeffs
{
ck 0.07;
ce 1.05;
}
oneEqEddyCoeffs
{
ck 0.07;
ce 1.05;
}
dynOneEqEddyCoeffs
{
ce 1.05;
filter simple;
}
locDynOneEqEddyCoeffs
{
ce 1.05;
filter simple;
}
SmagorinskyCoeffs
{
ce 1.05;
ck 0.07;
}
Smagorinsky2Coeffs
{
ce 1.05;
ck 0.07;
cD2 0.02;
}
spectEddyViscCoeffs
{
ce 1.05;
cB 8.22;
cK1 0.83;
cK2 1.03;
cK3 4.75;
cK4 2.55;
}
dynSmagorinskyCoeffs
{
ce 1.05;
filter simple;
}
mixedSmagorinskyCoeffs
{
ce 1.05;
ck 0.07;
filter simple;
}
dynMixedSmagorinskyCoeffs
{
ce 1.05;
filter simple;
}
LRRDiffStressCoeffs
{
ce 1.05;
ck 0.09;
c1 1.8;
c2 0.6;
}
DeardorffDiffStressCoeffs
{
ce 1.05;
ck 0.09;
cm 4.13;
}
SpalartAllmarasCoeffs
{
alphaNut 1.5;
Cb1 0.1355;
Cb2 0.622;
Cw2 0.3;
Cw3 2;
Cv1 7.1;
Cv2 5.0;
CDES 0.65;
ck 0.07;
}
cubeRootVolCoeffs
{
deltaCoeff 1;
}
PrandtlCoeffs
{
delta cubeRootVol;
cubeRootVolCoeffs
{
deltaCoeff 1;
}
smoothCoeffs
{
delta cubeRootVol;
cubeRootVolCoeffs
{
deltaCoeff 1;
}
maxDeltaRatio 1.1;
}
Cdelta 0.158;
}
vanDriestCoeffs
{
delta cubeRootVol;
cubeRootVolCoeffs
{
deltaCoeff 1;
}
smoothCoeffs
{
delta cubeRootVol;
cubeRootVolCoeffs
{
deltaCoeff 1;
}
maxDeltaRatio 1.1;
}
Aplus 26;
Cdelta 0.158;
}
smoothCoeffs
{
delta cubeRootVol;
cubeRootVolCoeffs
{
deltaCoeff 1;
}
maxDeltaRatio 1.1;
}
kappa 0.4187;
wallFunctionCoeffs
{
E 9;
}
// ************************************************************************* //

View File

@ -0,0 +1,121 @@
/*--------------------------------*- 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 1.0e-3;
vertices
(
( 0.00 -2.50 -0.50)
( 5.00 -2.50 -0.50)
( 5.00 -0.15 -0.50)
( 7.00 -0.15 -0.50)
( 7.00 -2.50 -0.50)
(17.00 -2.50 -0.50)
(17.00 -0.15 -0.50)
(17.00 0.15 -0.50)
(17.00 2.50 -0.50)
( 7.00 2.50 -0.50)
( 7.00 0.15 -0.50)
( 5.00 0.15 -0.50)
( 5.00 2.50 -0.50)
( 0.00 2.50 -0.50)
( 0.00 0.15 -0.50)
( 0.00 -0.15 -0.50)
( 0.00 -2.50 0.50)
( 5.00 -2.50 0.50)
( 5.00 -0.15 0.50)
( 7.00 -0.15 0.50)
( 7.00 -2.50 0.50)
(17.00 -2.50 0.50)
(17.00 -0.15 0.50)
(17.00 0.15 0.50)
(17.00 2.50 0.50)
( 7.00 2.50 0.50)
( 7.00 0.15 0.50)
( 5.00 0.15 0.50)
( 5.00 2.50 0.50)
( 0.00 2.50 0.50)
( 0.00 0.15 0.50)
( 0.00 -0.15 0.50)
);
blocks
(
hex ( 0 1 2 15 16 17 18 31) ( 50 24 1) simpleGrading (1 1 1)
hex (15 2 11 14 31 18 27 30) ( 50 3 1) simpleGrading (1 1 1)
hex (14 11 12 13 30 27 28 29) ( 50 24 1) simpleGrading (1 1 1)
hex ( 2 3 10 11 18 19 26 27) ( 20 3 1) simpleGrading (1 1 1)
hex ( 4 5 6 3 20 21 22 19) (100 24 1) simpleGrading (1 1 1)
hex ( 3 6 7 10 19 22 23 26) (100 3 1) simpleGrading (1 1 1)
hex (10 7 8 9 26 23 24 25) (100 24 1) simpleGrading (1 1 1)
);
edges
(
);
patches
(
patch inlet
(
(15 0 16 31)
(14 15 31 30)
(13 14 30 29)
)
patch outlet
(
( 5 6 22 21)
( 6 7 23 22)
( 7 8 24 23)
)
wall walls
(
( 1 0 16 17)
( 2 1 17 18)
( 3 2 18 19)
( 4 3 19 20)
( 5 4 20 21)
( 9 8 24 25)
(10 9 25 26)
(11 10 26 27)
(12 11 27 28)
(13 12 28 29)
)
empty frontBack
(
( 0 15 2 1)
(15 14 11 2)
(14 13 12 11)
( 2 11 10 3)
( 4 3 6 5)
( 3 10 7 6)
(10 9 8 7)
(16 17 18 31)
(31 18 27 30)
(30 27 28 29)
(18 19 26 27)
(20 21 22 19)
(19 22 23 26)
(26 23 24 25)
)
);
// ************************************************************************* //

View File

@ -0,0 +1,45 @@
/*--------------------------------*- 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 binary;
class polyBoundaryMesh;
object boundary;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
4
(
inlet
{
type patch;
nFaces 51;
startFace 15151;
}
outlet
{
type patch;
nFaces 51;
startFace 15202;
}
walls
{
type wall;
nFaces 436;
startFace 15253;
}
frontBack
{
type empty;
nFaces 15420;
startFace 15689;
}
)
// ************************************************************************* //

View File

@ -0,0 +1,29 @@
/*--------------------------------*- 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 thermodynamicProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
barotropicCompressibilityModel linear; //Chung;
psiv psiv [0 -2 2 0 0] 2.5e-06;
rholSat rholSat [1 -3 0 0 0] 830;
psil psil [0 -2 2 0 0] 5e-07;
pSat pSat [1 -1 -2 0 0] 4500;
rhoMin rhoMin [1 -3 0 0 0] 0.001;
// ************************************************************************* //

View File

@ -0,0 +1,69 @@
/*--------------------------------*- 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 transportProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
mul mul [1 -1 -1 0 0] 6.500e-03;
muv muv [1 -1 -1 0 0] 5.953e-06;
twoPhase
{
transportModel twoPhase;
phase1 phase1;
phase2 phase2;
}
phase1
{
transportModel Newtonian;
nu nu [0 2 -1 0 0 0 0] 7.831e-06;
rho rho [1 -3 0 0 0 0 0] 830;
CrossPowerLawCoeffs
{
nu0 nu0 [0 2 -1 0 0 0 0] -999;
nuInf nuInf [0 2 -1 0 0 0 0] -999;
m m [0 0 1 0 0 0 0] -999;
n n [0 0 0 0 0 0 0] -999;
}
BirdCarreauCoeffs
{
nu0 nu0 [0 2 -1 0 0 0 0] -999;
nuInf nuInf [0 2 -1 0 0 0 0] -999;
k k [0 0 1 0 0 0 0] -999;
n n [0 0 0 0 0 0 0] -999;
}
}
phase2
{
transportModel Newtonian;
nu nu [0 2 -1 0 0 0 0] 4.252e-05;
rho rho [1 -3 0 0 0 0 0] 0.14;
CrossPowerLawCoeffs
{
nu0 nu0 [0 2 -1 0 0 0 0] -999;
nuInf nuInf [0 2 -1 0 0 0 0] -999;
m m [0 0 1 0 0 0 0] -999;
n n [0 0 0 0 0 0 0] -999;
}
BirdCarreauCoeffs
{
nu0 nu0 [0 2 -1 0 0 0 0] -999;
nuInf nuInf [0 2 -1 0 0 0 0] -999;
k k [0 0 1 0 0 0 0] -999;
n n [0 0 0 0 0 0 0] -999;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,29 @@
/*--------------------------------*- 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 cellSetDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
name c0;
action new;
topoSetSources
(
boxToCell
{
box (4e-03 -1e-03 -1) (12e-3 1e-03 1);
}
);
// ************************************************************************* //

View File

@ -0,0 +1,29 @@
/*--------------------------------*- 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 cellSetDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
name c0;
action new;
topoSetSources
(
boxToCell
{
box (4.5e-03 -0.75e-03 -1) (9.5e-3 0.75e-03 1);
}
);
// ************************************************************************* //

View File

@ -0,0 +1,29 @@
/*--------------------------------*- 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 cellSetDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
name c0;
action new;
topoSetSources
(
boxToCell
{
box (4.75e-03 -0.375e-03 -1) (9e-03 0.375e-03 1);
}
);
// ************************************************************************* //

View File

@ -0,0 +1,86 @@
/*--------------------------------*- 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;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
startFrom latestTime;
startTime 0;
stopAt endTime;
endTime 2e-3;
deltaT 1e-8;
writeControl adjustableRunTime;
writeInterval 1e-4;
purgeWrite 0;
writeFormat binary;
writePrecision 6;
writeCompression compressed;
timeFormat general;
runTimeModifiable yes;
adjustTimeStep on;
maxCo 0.5;
maxAcousticCo 50.0;
functions
(
/*
fieldAverage1
{
// Type of functionObject
type fieldAverage;
// Where to load it from (if not already in solver)
functionObjectLibs ("libfieldAverage.so");
// Fields to be probed. runTime modifiable!
fields
(
U
{
mean on;
prime2Mean off;
base time;
}
p
{
mean on;
prime2Mean off;
base time;
}
gamma
{
mean on;
prime2Mean off;
base time;
}
);
}
*/
);
// ************************************************************************* //

View File

@ -0,0 +1,70 @@
/*--------------------------------*- 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;
}
interpolationSchemes
{
default linear;
}
divSchemes
{
default none;
// div(phiv,rho) Gauss upwind;
// div(phi,U) Gauss upwind;
// div(phiv,k) Gauss upwind;
div(phiv,rho) Gauss limitedLinear 0.2;
div(phi,U) Gauss filteredLinear2V 0.2 0;
div(phiv,k) Gauss filteredLinear2 0.2 0;
}
gradSchemes
{
default Gauss linear;
}
laplacianSchemes
{
default none;
laplacian(nuf,rhoU) Gauss linear corrected;
laplacian(muEff,U) Gauss linear corrected;
laplacian(rrhoUAf,p) Gauss linear corrected;
laplacian(rUAf,p) Gauss linear corrected;
laplacian(DkEff,k) Gauss linear corrected;
laplacian(1,p) Gauss linear corrected;
}
snGradSchemes
{
default none;
snGrad(p) corrected;
}
fluxRequired
{
default none;
p;
rho;
}
// ************************************************************************* //

View File

@ -0,0 +1,77 @@
/*--------------------------------*- 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
{
omega PBiCG
{
preconditioner DILU;
tolerance 1e-08;
relTol 0;
};
k PBiCG
{
preconditioner DILU;
tolerance 1e-08;
relTol 0;
};
rho PBiCG
{
preconditioner DILU;
tolerance 1e-08;
relTol 0;
};
U PBiCG
{
preconditioner DILU;
tolerance 1e-08;
relTol 0;
};
p GAMG
{
tolerance 1e-8;
relTol 0;
smoother GaussSeidel;
nPreSweeps 0;
nPostSweeps 2;
cacheAgglomeration true;
nCellsInCoarsestLevel 10;
agglomerator faceAreaPair;
mergeLevels 1;
};
}
PISO
{
nCorrectors 2;
nNonOrthogonalCorrectors 0;
// removeSwirl 2;
}
SIMPLE
{
}
// ************************************************************************* //

View File

@ -0,0 +1,39 @@
/*--------------------------------*- 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 refineMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
set c0;
coordinateSystem global;
globalCoeffs
{
tan1 (1 0 0);
tan2 (0 1 0);
}
directions
(
tan1
tan2
);
useHexTopology yes;
geometricCut no;
writeMesh no;
// ************************************************************************* //

View File

@ -0,0 +1,48 @@
/*--------------------------------*- 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 volVectorField;
object U;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 1 -1 0 0];
internalField uniform (0 0 0);
boundaryField
{
inlet
{
type zeroGradient;
value uniform (0 0 0);
}
outlet
{
type zeroGradient;
value uniform (0 0 0);
}
walls
{
type fixedValue;
value uniform (0 0 0);
}
frontBack
{
type fixedValue;
value uniform (0 0 0);
}
}
// ************************************************************************* //

View File

@ -0,0 +1,48 @@
/*--------------------------------*- 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 gamma;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 0 0 0];
internalField uniform 0;
boundaryField
{
inlet
{
type calculated;
value uniform 0;
}
outlet
{
type calculated;
value uniform 0;
}
walls
{
type calculated;
value uniform 0;
}
frontBack
{
type calculated;
value uniform 0;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,45 @@
/*--------------------------------*- 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];
internalField uniform 10.0;
boundaryField
{
inlet
{
type fixedValue;
value uniform 0.5;
}
outlet
{
type zeroGradient;
}
walls
{
type zeroGradient;
}
frontBack
{
type zeroGradient;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,43 @@
/*--------------------------------*- 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 binary;
class volScalarField;
object nuSgs;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 2 -1 0 0 0 0];
internalField uniform 1e-11;
boundaryField
{
inlet
{
type zeroGradient;
}
outlet
{
type zeroGradient;
}
walls
{
type fixedValue;
value uniform 0;
}
frontBack
{
type fixedValue;
value uniform 0;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,51 @@
/*--------------------------------*- 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 p;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [1 -1 -2 0 0];
internalField uniform 300e5;
boundaryField
{
inlet
{
type totalPressure;
U U;
phi phiv;
rho rho;
psi none;
gamma 1;
p0 uniform 300e5;
}
outlet
{
type fixedValue;
value uniform 100e5;
}
walls
{
type zeroGradient;
}
frontBack
{
type zeroGradient;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,46 @@
/*--------------------------------*- 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 rho;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [1 -3 0 0 0];
internalField uniform 845;
boundaryField
{
inlet
{
type fixedValue;
value uniform 845;
}
outlet
{
type fixedValue;
value uniform 835;
}
walls
{
type zeroGradient;
}
frontBack
{
type zeroGradient;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,180 @@
/*--------------------------------*- 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 LESProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
LESModel devOneEqEddy;
delta smooth;
laminarCoeffs
{
}
devOneEqEddyCoeffs
{
ck 0.07;
ce 1.05;
}
oneEqEddyCoeffs
{
ck 0.07;
ce 1.05;
}
dynOneEqEddyCoeffs
{
ce 1.05;
filter simple;
}
locDynOneEqEddyCoeffs
{
ce 1.05;
filter simple;
}
SmagorinskyCoeffs
{
ce 1.05;
ck 0.07;
}
Smagorinsky2Coeffs
{
ce 1.05;
ck 0.07;
cD2 0.02;
}
spectEddyViscCoeffs
{
ce 1.05;
cB 8.22;
cK1 0.83;
cK2 1.03;
cK3 4.75;
cK4 2.55;
}
dynSmagorinskyCoeffs
{
ce 1.05;
filter simple;
}
mixedSmagorinskyCoeffs
{
ce 1.05;
ck 0.07;
filter simple;
}
dynMixedSmagorinskyCoeffs
{
ce 1.05;
filter simple;
}
LRRDiffStressCoeffs
{
ce 1.05;
ck 0.09;
c1 1.8;
c2 0.6;
}
DeardorffDiffStressCoeffs
{
ce 1.05;
ck 0.09;
cm 4.13;
}
SpalartAllmarasCoeffs
{
alphaNut 1.5;
Cb1 0.1355;
Cb2 0.622;
Cw2 0.3;
Cw3 2;
Cv1 7.1;
Cv2 5.0;
CDES 0.65;
ck 0.07;
}
cubeRootVolCoeffs
{
deltaCoeff 1;
}
PrandtlCoeffs
{
delta cubeRootVol;
cubeRootVolCoeffs
{
deltaCoeff 1;
}
smoothCoeffs
{
delta cubeRootVol;
cubeRootVolCoeffs
{
deltaCoeff 1;
}
maxDeltaRatio 1.1;
}
Cdelta 0.158;
}
vanDriestCoeffs
{
delta cubeRootVol;
cubeRootVolCoeffs
{
deltaCoeff 1;
}
smoothCoeffs
{
delta cubeRootVol;
cubeRootVolCoeffs
{
deltaCoeff 1;
}
maxDeltaRatio 1.1;
}
Aplus 26;
Cdelta 0.158;
}
smoothCoeffs
{
delta cubeRootVol;
cubeRootVolCoeffs
{
deltaCoeff 1;
}
maxDeltaRatio 1.1;
}
kappa 0.4187;
wallFunctionCoeffs
{
E 9;
}
// ************************************************************************* //

View File

@ -0,0 +1,121 @@
/*--------------------------------*- 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 1.0e-3;
vertices
(
( 0.00 -2.50 -0.50)
( 5.00 -2.50 -0.50)
( 5.00 -0.15 -0.50)
( 7.00 -0.15 -0.50)
( 7.00 -2.50 -0.50)
(17.00 -2.50 -0.50)
(17.00 -0.15 -0.50)
(17.00 0.15 -0.50)
(17.00 2.50 -0.50)
( 7.00 2.50 -0.50)
( 7.00 0.15 -0.50)
( 5.00 0.15 -0.50)
( 5.00 2.50 -0.50)
( 0.00 2.50 -0.50)
( 0.00 0.15 -0.50)
( 0.00 -0.15 -0.50)
( 0.00 -2.50 0.50)
( 5.00 -2.50 0.50)
( 5.00 -0.15 0.50)
( 7.00 -0.15 0.50)
( 7.00 -2.50 0.50)
(17.00 -2.50 0.50)
(17.00 -0.15 0.50)
(17.00 0.15 0.50)
(17.00 2.50 0.50)
( 7.00 2.50 0.50)
( 7.00 0.15 0.50)
( 5.00 0.15 0.50)
( 5.00 2.50 0.50)
( 0.00 2.50 0.50)
( 0.00 0.15 0.50)
( 0.00 -0.15 0.50)
);
blocks
(
hex ( 0 1 2 15 16 17 18 31) ( 50 24 10) simpleGrading (1 1 1)
hex (15 2 11 14 31 18 27 30) ( 50 3 10) simpleGrading (1 1 1)
hex (14 11 12 13 30 27 28 29) ( 50 24 10) simpleGrading (1 1 1)
hex ( 2 3 10 11 18 19 26 27) ( 20 3 10) simpleGrading (1 1 1)
hex ( 4 5 6 3 20 21 22 19) (100 24 10) simpleGrading (1 1 1)
hex ( 3 6 7 10 19 22 23 26) (100 3 10) simpleGrading (1 1 1)
hex (10 7 8 9 26 23 24 25) (100 24 10) simpleGrading (1 1 1)
);
edges
(
);
patches
(
patch inlet
(
(15 0 16 31)
(14 15 31 30)
(13 14 30 29)
)
patch outlet
(
( 5 6 22 21)
( 6 7 23 22)
( 7 8 24 23)
)
wall walls
(
( 1 0 16 17)
( 2 1 17 18)
( 3 2 18 19)
( 4 3 19 20)
( 5 4 20 21)
( 9 8 24 25)
(10 9 25 26)
(11 10 26 27)
(12 11 27 28)
(13 12 28 29)
)
wall frontBack
(
( 0 15 2 1)
(15 14 11 2)
(14 13 12 11)
( 2 11 10 3)
( 4 3 6 5)
( 3 10 7 6)
(10 9 8 7)
(16 17 18 31)
(31 18 27 30)
(30 27 28 29)
(18 19 26 27)
(20 21 22 19)
(19 22 23 26)
(26 23 24 25)
)
);
// ************************************************************************* //

View File

@ -0,0 +1,45 @@
/*--------------------------------*- 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 binary;
class polyBoundaryMesh;
object boundary;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
4
(
inlet
{
type patch;
nFaces 510;
startFace 220900;
}
outlet
{
type patch;
nFaces 510;
startFace 221410;
}
walls
{
type wall;
nFaces 4360;
startFace 221920;
}
frontBack
{
type wall;
nFaces 15420;
startFace 226280;
}
)
// ************************************************************************* //

View File

@ -0,0 +1,29 @@
/*--------------------------------*- 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 thermodynamicProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
barotropicCompressibilityModel linear; //Chung;
psiv psiv [0 -2 2 0 0] 2.5e-06;
rholSat rholSat [1 -3 0 0 0] 830;
psil psil [0 -2 2 0 0] 5e-07;
pSat pSat [1 -1 -2 0 0] 4500;
rhoMin rhoMin [1 -3 0 0 0] 0.001;
// ************************************************************************* //

View File

@ -0,0 +1,69 @@
/*--------------------------------*- 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 transportProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
mul mul [1 -1 -1 0 0] 6.500e-03;
muv muv [1 -1 -1 0 0] 5.953e-06;
twoPhase
{
transportModel twoPhase;
phase1 phase1;
phase2 phase2;
}
phase1
{
transportModel Newtonian;
nu nu [0 2 -1 0 0 0 0] 7.831e-06;
rho rho [1 -3 0 0 0 0 0] 830;
CrossPowerLawCoeffs
{
nu0 nu0 [0 2 -1 0 0 0 0] -999;
nuInf nuInf [0 2 -1 0 0 0 0] -999;
m m [0 0 1 0 0 0 0] -999;
n n [0 0 0 0 0 0 0] -999;
}
BirdCarreauCoeffs
{
nu0 nu0 [0 2 -1 0 0 0 0] -999;
nuInf nuInf [0 2 -1 0 0 0 0] -999;
k k [0 0 1 0 0 0 0] -999;
n n [0 0 0 0 0 0 0] -999;
}
}
phase2
{
transportModel Newtonian;
nu nu [0 2 -1 0 0 0 0] 4.252e-05;
rho rho [1 -3 0 0 0 0 0] 0.14;
CrossPowerLawCoeffs
{
nu0 nu0 [0 2 -1 0 0 0 0] -999;
nuInf nuInf [0 2 -1 0 0 0 0] -999;
m m [0 0 1 0 0 0 0] -999;
n n [0 0 0 0 0 0 0] -999;
}
BirdCarreauCoeffs
{
nu0 nu0 [0 2 -1 0 0 0 0] -999;
nuInf nuInf [0 2 -1 0 0 0 0] -999;
k k [0 0 1 0 0 0 0] -999;
n n [0 0 0 0 0 0 0] -999;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,29 @@
/*--------------------------------*- 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 cellSetDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
name c0;
action new;
topoSetSources
(
boxToCell
{
box (4e-03 -1e-03 -1) (12e-3 1e-03 1);
}
);
// ************************************************************************* //

View File

@ -0,0 +1,29 @@
/*--------------------------------*- 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 cellSetDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
name c0;
action new;
topoSetSources
(
boxToCell
{
box (4.5e-03 -0.75e-03 -1) (9.5e-3 0.75e-03 1);
}
);
// ************************************************************************* //

View File

@ -0,0 +1,29 @@
/*--------------------------------*- 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 cellSetDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
name c0;
action new;
topoSetSources
(
boxToCell
{
box (4.75e-03 -0.375e-03 -1) (9e-03 0.375e-03 1);
}
);
// ************************************************************************* //

View File

@ -0,0 +1,86 @@
/*--------------------------------*- 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;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
startFrom latestTime;
startTime 0;
stopAt endTime;
endTime 1e-4;
deltaT 1e-8;
writeControl adjustableRunTime;
writeInterval 5e-6;
purgeWrite 0;
writeFormat binary;
writePrecision 6;
writeCompression compressed;
timeFormat general;
runTimeModifiable yes;
adjustTimeStep on;
maxCo 0.5;
maxAcousticCo 50.0;
functions
(
/*
fieldAverage1
{
// Type of functionObject
type fieldAverage;
// Where to load it from (if not already in solver)
functionObjectLibs ("libfieldAverage.so");
// Fields to be probed. runTime modifiable!
fields
(
U
{
mean on;
prime2Mean off;
base time;
}
p
{
mean on;
prime2Mean off;
base time;
}
gamma
{
mean on;
prime2Mean off;
base time;
}
);
}
*/
);
// ************************************************************************* //

View File

@ -0,0 +1,56 @@
/*--------------------------------*- 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 decomposeParDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
numberOfSubdomains 4;
method simple;
simpleCoeffs
{
n (2 2 1);
delta 0.001;
}
hierarchicalCoeffs
{
n (1 1 1);
delta 0.001;
order xyz;
}
metisCoeffs
{
processorWeights
(
1
1
1
1
);
}
manualCoeffs
{
dataFile "";
}
distributed no;
roots
(
);
// ************************************************************************* //

View File

@ -0,0 +1,70 @@
/*--------------------------------*- 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;
}
interpolationSchemes
{
default linear;
}
divSchemes
{
default none;
// div(phiv,rho) Gauss upwind;
// div(phi,U) Gauss upwind;
// div(phiv,k) Gauss upwind;
div(phiv,rho) Gauss limitedLinear 0.2;
div(phi,U) Gauss filteredLinear2V 0.2 0;
div(phiv,k) Gauss filteredLinear2 0.2 0;
}
gradSchemes
{
default Gauss linear;
}
laplacianSchemes
{
default none;
laplacian(nuf,rhoU) Gauss linear corrected;
laplacian(muEff,U) Gauss linear corrected;
laplacian(rrhoUAf,p) Gauss linear corrected;
laplacian(rUAf,p) Gauss linear corrected;
laplacian(DkEff,k) Gauss linear corrected;
laplacian(1,p) Gauss linear corrected;
}
snGradSchemes
{
default none;
snGrad(p) corrected;
}
fluxRequired
{
default none;
p;
rho;
}
// ************************************************************************* //

View File

@ -0,0 +1,77 @@
/*--------------------------------*- 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
{
omega PBiCG
{
preconditioner DILU;
tolerance 1e-08;
relTol 0;
};
k PBiCG
{
preconditioner DILU;
tolerance 1e-08;
relTol 0;
};
rho PBiCG
{
preconditioner DILU;
tolerance 1e-08;
relTol 0;
};
U PBiCG
{
preconditioner DILU;
tolerance 1e-08;
relTol 0;
};
p GAMG
{
tolerance 1e-8;
relTol 0;
smoother GaussSeidel;
nPreSweeps 0;
nPostSweeps 2;
cacheAgglomeration true;
nCellsInCoarsestLevel 10;
agglomerator faceAreaPair;
mergeLevels 1;
};
}
PISO
{
nCorrectors 2;
nNonOrthogonalCorrectors 0;
// removeSwirl 2;
}
SIMPLE
{
}
// ************************************************************************* //

View File

@ -0,0 +1 @@
shelob

View File

@ -0,0 +1,25 @@
/*--------------------------------*- 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 mapFieldsDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
patchMap
(
);
cuttingPatches
(
);
// ************************************************************************* //

View File

@ -0,0 +1,41 @@
/*--------------------------------*- 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 refineMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
set c0;
coordinateSystem global;
globalCoeffs
{
tan1 (1 0 0);
tan2 (0 1 0);
tan3 (0 0 1);
}
directions
(
tan1
tan2
tan3
);
useHexTopology yes;
geometricCut no;
writeMesh no;
// ************************************************************************* //

View File

@ -0,0 +1,151 @@
/*--------------------------------*- 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 sampleDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
// interpolationScheme : choice of
// cell : use cell-centre value only; constant over cells
// cellPoint : use cell-centre and vertex values
// cellPointFace : use cell-centre, vertex and face values.
// 1] vertex values determined from neighbouring cell-centre values
// 2] face values determined using the current face interpolation scheme
// for the field (linear, gamma, etc.)
interpolationScheme cellPointFace;
// setFormat : choice of
// xmgr
// jplot
// gnuplot
// raw
setFormat raw;
// Surface output format. Choice of
// null : suppress output
// foamFile : separate points, faces and values file
// dx : DX scalar or vector format
// vtk : VTK ascii format
// raw : x y z value format for use with e.g. gnuplot 'splot'.
// stl : ascii stl. Does not contain values!
surfaceFormat vtk;
// sampling definition:
//
// Dictionary with fields
// type : type of sampling method
// name : name of samples. Used e.g. as filename
// axis : how to write point coordinate
// ... : depending on method
//
//
// sample: choice of
// uniform evenly distributed points on line
// face one point per face intersection
// midPoint one point per cell, inbetween two face intersections
// midPointAndFace combination of face and midPoint
//
// curve specified points, not nessecary on line, uses
// tracking
// cloud specified points, uses findCell
//
//
// axis: how to write point coordinate. Choice of
// - x/y/z: x/y/z coordinate only
// - xyz: three columns
// (probably does not make sense for anything but raw)
// - distance: distance from start of sampling line (if uses line) or
// distance from first specified sampling point
//
// type specific:
// uniform, face, midPoint, midPointAndFace : start and end coordinate
// uniform: extra number of sampling points
// curve, cloud: list of coordinates
sets
(
IN1
{
type uniform;
axis y;
start (11.8224e-3 -1.0e-3 1.0e-8);
end (11.8224e-3 1.0e-3 1.0e-8);
nPoints 100;
}
IN
{
type uniform;
axis y;
start (12.0864e-3 -1.0e-3 1.0e-8);
end (12.0864e-3 1.0e-3 1.0e-8);
nPoints 50;
}
M1
{
type uniform;
axis y;
start (12.3424e-3 -0.147539e-3 1.0e-8);
end (12.3424e-3 0.147539e-3 1.0e-8);
nPoints 50;
}
M2
{
type uniform;
axis y;
start (12.6032e-3 -0.147539e-3 1.0e-8);
end (12.6032e-3 0.147539e-3 1.0e-8);
nPoints 50;
}
OUT
{
type uniform;
axis y;
start (12.8928e-3 -0.147539e-3 1.0e-8);
end (12.8928e-3 0.147539e-3 1.0e-8);
nPoints 50;
}
IN1_GR1
{
type uniform;
axis y;
start (11.778e-3 -1.0e-3 1.0e-8);
end (11.778e-3 1.0e-3 1.0e-8);
nPoints 100;
}
OUT_GR1
{
type uniform;
axis y;
start (13.14e-3 -2.0e-3 1.0e-8);
end (13.14e-3 2.0e-3 1.0e-8);
nPoints 200;
}
);
surfaces
();
// Fields to sample.
fields
(
// magUMean
UMeanx
);
// ************************************************************************* //

View File

@ -0,0 +1,47 @@
/*--------------------------------*- 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 volVectorField;
object U;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 1 -1 0 0];
internalField uniform (0 0 0);
boundaryField
{
inlet
{
type zeroGradient;
value uniform (0 0 0);
}
outlet
{
type zeroGradient;
value uniform (0 0 0);
}
walls
{
type fixedValue;
value uniform (0 0 0);
}
frontBack
{
type empty;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,47 @@
/*--------------------------------*- 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 gamma;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 0 0 0];
internalField uniform 0;
boundaryField
{
inlet
{
type calculated;
value uniform 0;
}
outlet
{
type calculated;
value uniform 0;
}
walls
{
type calculated;
value uniform 0;
}
frontBack
{
type empty;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,46 @@
/*--------------------------------*- 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];
internalField uniform 10.0;
boundaryField
{
inlet
{
type turbulentIntensityKineticEnergyInlet;
intensity 0.05;
value uniform 0.05;
}
outlet
{
type zeroGradient;
}
walls
{
type zeroGradient;
}
frontBack
{
type empty;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,47 @@
/*--------------------------------*- 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 omega;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 0 -1 0 0];
internalField uniform 77200;
boundaryField
{
inlet
{
type turbulentMixingLengthFrequencyInlet;
mixingLength 0.5e-03;
k k;
value uniform 77200;
}
outlet
{
type zeroGradient;
}
walls
{
type zeroGradient;
}
frontBack
{
type empty;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,51 @@
/*--------------------------------*- 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 p;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [1 -1 -2 0 0];
internalField uniform 300e5;
boundaryField
{
inlet
{
type totalPressure;
U U;
phi phiv;
rho rho;
psi none;
gamma 1;
p0 uniform 300e5;
}
outlet
{
type fixedValue;
value uniform 100e5;
}
walls
{
type zeroGradient;
}
frontBack
{
type empty;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,46 @@
/*--------------------------------*- 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 rho;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [1 -3 0 0 0];
internalField uniform 845;
boundaryField
{
inlet
{
type fixedValue;
value uniform 845;
}
outlet
{
type fixedValue;
value uniform 835;
}
walls
{
type zeroGradient;
}
frontBack
{
type empty;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,9 @@
#!/bin/sh
# Source tutorial clean functions
. $WM_PROJECT_DIR/bin/tools/CleanFunctions
rm -rf constant/polyMesh/sets > /dev/null 2>&1
rm -rf 0/polyMesh > /dev/null 2>&1
rm system/cellSetDict > /dev/null 2>&1
cleanCase

View File

@ -0,0 +1,29 @@
#!/bin/sh
# Source tutorial run functions
. $WM_PROJECT_DIR/bin/tools/RunFunctions
application="rasCavitatingFoam"
refineMeshByCellSet()
{
echo "creating cell set for primary zone - $1"
cp system/cellSetDict.$1 system/cellSetDict
cellSet >& log.cellSet.$1
echo "refining primary zone - $1"
refineMesh -dict >& log.refineMesh.$1
rm -rf 0/polyMesh
mv 1e-08/polyMesh 0/
rm -rf 1e-08
}
runApplication blockMesh
refineMeshByCellSet 1
refineMeshByCellSet 2
refineMeshByCellSet 3
runApplication $application

View File

@ -0,0 +1,198 @@
/*--------------------------------*- 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 RASProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
RASModel kOmegaSST;
turbulence on;
laminarCoeffs
{
}
kOmegaSSTCoeffs
{
alphaK1 0.85034;
alphaK2 1.0;
alphaOmega1 0.5;
alphaOmega2 0.85616;
gamma1 0.5532;
gamma2 0.4403;
beta1 0.0750;
beta2 0.0828;
betaStar 0.09;
a1 0.31;
c1 10;
Cmu 0.09;
}
kEpsilonCoeffs
{
Cmu 0.09;
C1 1.44;
C2 1.92;
alphaEps 0.76923;
}
RNGkEpsilonCoeffs
{
Cmu 0.0845;
C1 1.42;
C2 1.68;
alphak 1.39;
alphaEps 1.39;
eta0 4.38;
beta 0.012;
}
realizableKECoeffs
{
Cmu 0.09;
A0 4.0;
C2 1.9;
alphak 1;
alphaEps 0.833333;
}
NonlinearKEShihCoeffs
{
Cmu 0.09;
C1 1.44;
C2 1.92;
alphak 1;
alphaEps 0.76932;
A1 1.25;
A2 1000;
Ctau1 -4;
Ctau2 13;
Ctau3 -2;
alphaKsi 0.9;
}
LienCubicKECoeffs
{
C1 1.44;
C2 1.92;
alphak 1;
alphaEps 0.76923;
A1 1.25;
A2 1000;
Ctau1 -4;
Ctau2 13;
Ctau3 -2;
alphaKsi 0.9;
}
QZetaCoeffs
{
Cmu 0.09;
C1 1.44;
C2 1.92;
alphaZeta 0.76923;
anisotropic no;
}
LaunderSharmaKECoeffs
{
Cmu 0.09;
C1 1.44;
C2 1.92;
alphaEps 0.76923;
}
LamBremhorstKECoeffs
{
Cmu 0.09;
C1 1.44;
C2 1.92;
alphaEps 0.76923;
}
LienCubicKELowReCoeffs
{
Cmu 0.09;
C1 1.44;
C2 1.92;
alphak 1;
alphaEps 0.76923;
A1 1.25;
A2 1000;
Ctau1 -4;
Ctau2 13;
Ctau3 -2;
alphaKsi 0.9;
Am 0.016;
Aepsilon 0.263;
Amu 0.00222;
}
LienLeschzinerLowReCoeffs
{
Cmu 0.09;
C1 1.44;
C2 1.92;
alphak 1;
alphaEps 0.76923;
Am 0.016;
Aepsilon 0.263;
Amu 0.00222;
}
LRRCoeffs
{
Cmu 0.09;
Clrr1 1.8;
Clrr2 0.6;
C1 1.44;
C2 1.92;
Cs 0.25;
Ceps 0.15;
alphaEps 0.76923;
}
LaunderGibsonRSTMCoeffs
{
Cmu 0.09;
Clg1 1.8;
Clg2 0.6;
C1 1.44;
C2 1.92;
C1Ref 0.5;
C2Ref 0.3;
Cs 0.25;
Ceps 0.15;
alphaEps 0.76923;
alphaR 1.22;
}
SpalartAllmarasCoeffs
{
alphaNut 1.5;
Cb1 0.1355;
Cb2 0.622;
Cw2 0.3;
Cw3 2;
Cv1 7.1;
Cv2 5.0;
}
wallFunctionCoeffs
{
kappa 0.4187;
E 9;
}
// ************************************************************************* //

View File

@ -0,0 +1,121 @@
/*--------------------------------*- 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 1.0e-3;
vertices
(
( 0.00 -2.50 -0.50)
( 5.00 -2.50 -0.50)
( 5.00 -0.15 -0.50)
( 7.00 -0.15 -0.50)
( 7.00 -2.50 -0.50)
(17.00 -2.50 -0.50)
(17.00 -0.15 -0.50)
(17.00 0.15 -0.50)
(17.00 2.50 -0.50)
( 7.00 2.50 -0.50)
( 7.00 0.15 -0.50)
( 5.00 0.15 -0.50)
( 5.00 2.50 -0.50)
( 0.00 2.50 -0.50)
( 0.00 0.15 -0.50)
( 0.00 -0.15 -0.50)
( 0.00 -2.50 0.50)
( 5.00 -2.50 0.50)
( 5.00 -0.15 0.50)
( 7.00 -0.15 0.50)
( 7.00 -2.50 0.50)
(17.00 -2.50 0.50)
(17.00 -0.15 0.50)
(17.00 0.15 0.50)
(17.00 2.50 0.50)
( 7.00 2.50 0.50)
( 7.00 0.15 0.50)
( 5.00 0.15 0.50)
( 5.00 2.50 0.50)
( 0.00 2.50 0.50)
( 0.00 0.15 0.50)
( 0.00 -0.15 0.50)
);
blocks
(
hex ( 0 1 2 15 16 17 18 31) ( 50 24 1) simpleGrading (1 1 1)
hex (15 2 11 14 31 18 27 30) ( 50 3 1) simpleGrading (1 1 1)
hex (14 11 12 13 30 27 28 29) ( 50 24 1) simpleGrading (1 1 1)
hex ( 2 3 10 11 18 19 26 27) ( 20 3 1) simpleGrading (1 1 1)
hex ( 4 5 6 3 20 21 22 19) (100 24 1) simpleGrading (1 1 1)
hex ( 3 6 7 10 19 22 23 26) (100 3 1) simpleGrading (1 1 1)
hex (10 7 8 9 26 23 24 25) (100 24 1) simpleGrading (1 1 1)
);
edges
(
);
patches
(
patch inlet
(
(15 0 16 31)
(14 15 31 30)
(13 14 30 29)
)
patch outlet
(
( 5 6 22 21)
( 6 7 23 22)
( 7 8 24 23)
)
wall walls
(
( 1 0 16 17)
( 2 1 17 18)
( 3 2 18 19)
( 4 3 19 20)
( 5 4 20 21)
( 9 8 24 25)
(10 9 25 26)
(11 10 26 27)
(12 11 27 28)
(13 12 28 29)
)
empty frontBack
(
( 0 15 2 1)
(15 14 11 2)
(14 13 12 11)
( 2 11 10 3)
( 4 3 6 5)
( 3 10 7 6)
(10 9 8 7)
(16 17 18 31)
(31 18 27 30)
(30 27 28 29)
(18 19 26 27)
(20 21 22 19)
(19 22 23 26)
(26 23 24 25)
)
);
// ************************************************************************* //

View File

@ -0,0 +1,45 @@
/*--------------------------------*- 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 polyBoundaryMesh;
object boundary;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
4
(
inlet
{
type patch;
nFaces 51;
startFace 15151;
}
outlet
{
type patch;
nFaces 51;
startFace 15202;
}
walls
{
type wall;
nFaces 436;
startFace 15253;
}
frontBack
{
type empty;
nFaces 15420;
startFace 15689;
}
)
// ************************************************************************* //

View File

@ -0,0 +1,29 @@
/*--------------------------------*- 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 thermodynamicProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
barotropicCompressibilityModel linear; //Chung;
psiv psiv [0 -2 2 0 0] 2.5e-06;
rholSat rholSat [1 -3 0 0 0] 830;
psil psil [0 -2 2 0 0] 5e-07;
pSat pSat [1 -1 -2 0 0] 4500;
rhoMin rhoMin [1 -3 0 0 0] 0.001;
// ************************************************************************* //

View File

@ -0,0 +1,69 @@
/*--------------------------------*- 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 transportProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
mul mul [1 -1 -1 0 0] 6.500e-03;
muv muv [1 -1 -1 0 0] 5.953e-06;
twoPhase
{
transportModel twoPhase;
phase1 phase1;
phase2 phase2;
}
phase1
{
transportModel Newtonian;
nu nu [0 2 -1 0 0 0 0] 7.831e-06;
rho rho [1 -3 0 0 0 0 0] 830;
CrossPowerLawCoeffs
{
nu0 nu0 [0 2 -1 0 0 0 0] -999;
nuInf nuInf [0 2 -1 0 0 0 0] -999;
m m [0 0 1 0 0 0 0] -999;
n n [0 0 0 0 0 0 0] -999;
}
BirdCarreauCoeffs
{
nu0 nu0 [0 2 -1 0 0 0 0] -999;
nuInf nuInf [0 2 -1 0 0 0 0] -999;
k k [0 0 1 0 0 0 0] -999;
n n [0 0 0 0 0 0 0] -999;
}
}
phase2
{
transportModel Newtonian;
nu nu [0 2 -1 0 0 0 0] 4.252e-05;
rho rho [1 -3 0 0 0 0 0] 0.14;
CrossPowerLawCoeffs
{
nu0 nu0 [0 2 -1 0 0 0 0] -999;
nuInf nuInf [0 2 -1 0 0 0 0] -999;
m m [0 0 1 0 0 0 0] -999;
n n [0 0 0 0 0 0 0] -999;
}
BirdCarreauCoeffs
{
nu0 nu0 [0 2 -1 0 0 0 0] -999;
nuInf nuInf [0 2 -1 0 0 0 0] -999;
k k [0 0 1 0 0 0 0] -999;
n n [0 0 0 0 0 0 0] -999;
}
}
// ************************************************************************* //

View File

@ -0,0 +1,29 @@
/*--------------------------------*- 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 cellSetDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
name c0;
action new;
topoSetSources
(
boxToCell
{
box (4e-03 -1e-03 -1) (12e-3 1e-03 1);
}
);
// ************************************************************************* //

View File

@ -0,0 +1,29 @@
/*--------------------------------*- 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 cellSetDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
name c0;
action new;
topoSetSources
(
boxToCell
{
box (4.5e-03 -0.75e-03 -1) (9.5e-3 0.75e-03 1);
}
);
// ************************************************************************* //

View File

@ -0,0 +1,29 @@
/*--------------------------------*- 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 cellSetDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
name c0;
action new;
topoSetSources
(
boxToCell
{
box (4.75e-03 -0.375e-03 -1) (9e-03 0.375e-03 1);
}
);
// ************************************************************************* //

View File

@ -0,0 +1,49 @@
/*--------------------------------*- 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;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
startFrom latestTime;
startTime 0;
stopAt endTime;
endTime 2e-3;
deltaT 1e-8;
writeControl adjustableRunTime;
writeInterval 1e-4;
purgeWrite 0;
writeFormat ascii;
writePrecision 6;
writeCompression uncompressed;
timeFormat general;
runTimeModifiable yes;
adjustTimeStep on;
maxCo 0.5;
maxAcousticCo 50.0;
// ************************************************************************* //

View File

@ -0,0 +1,68 @@
/*--------------------------------*- 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;
}
interpolationSchemes
{
default linear;
}
divSchemes
{
default none;
div(phiv,rho) Gauss limitedLinear 0.2;
div(phi,U) Gauss limitedLinearV 0.2;
div(phiv,omega) Gauss limitedLinear 0.2;
div(phiv,k) Gauss limitedLinear 0.2;
}
gradSchemes
{
default Gauss linear;
}
laplacianSchemes
{
default none;
laplacian(nuf,rhoU) Gauss linear corrected;
laplacian(muEff,U) Gauss linear corrected;
laplacian(rrhoUAf,p) Gauss linear corrected;
laplacian(rUAf,p) Gauss linear corrected;
laplacian(DomegaEff,omega) Gauss linear corrected;
laplacian(DkEff,k) Gauss linear corrected;
laplacian(1,p) Gauss linear corrected;
}
snGradSchemes
{
default none;
snGrad(p) corrected;
}
fluxRequired
{
default none;
p;
rho;
}
// ************************************************************************* //

View File

@ -0,0 +1,75 @@
/*--------------------------------*- 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
{
omega PBiCG
{
preconditioner DILU;
tolerance 1e-08;
relTol 0;
};
k PBiCG
{
preconditioner DILU;
tolerance 1e-08;
relTol 0;
};
rho PBiCG
{
preconditioner DILU;
tolerance 1e-08;
relTol 0;
};
U PBiCG
{
preconditioner DILU;
tolerance 1e-08;
relTol 0;
};
p GAMG
{
preconditioner 1e-5;
relTol 0;
smoother GaussSeidel;
nPreSweeps 0;
nPostSweeps 2;
cacheAgglomeration true;
nCellsInCoarsestLevel 10;
agglomerator faceAreaPair;
mergeLevels 1;
};
}
PISO
{
nCorrectors 2;
nNonOrthogonalCorrectors 1;
// removeSwirl 2;
}
SIMPLE
{}
// ************************************************************************* //

View File

@ -0,0 +1,39 @@
/*--------------------------------*- 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 refineMeshDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
set c0;
coordinateSystem global;
globalCoeffs
{
tan1 (1 0 0);
tan2 (0 1 0);
}
directions
(
tan1
tan2
);
useHexTopology yes;
geometricCut no;
writeMesh no;
// ************************************************************************* //