mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
Merge branch 'master' of /home/noisy3/OpenFOAM/OpenFOAM-dev
Conflicts: applications/utilities/mesh/manipulation/transformPoints/transformPoints.C
This commit is contained in:
@ -1,5 +1,5 @@
|
||||
EXE_INC = \
|
||||
-I$(LIB_SRC)/finiteVolume/lnInclude \
|
||||
-I$(LIB_SRC)/finiteVolume/lnInclude \
|
||||
-I$(LIB_SRC)/errorEstimation/lnInclude
|
||||
|
||||
EXE_LIBS = \
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
EXE_INC = \
|
||||
-I$(LIB_SRC)/finiteVolume/lnInclude \
|
||||
-I$(LIB_SRC)/finiteVolume/lnInclude \
|
||||
-I$(LIB_SRC)/errorEstimation/lnInclude
|
||||
|
||||
EXE_LIBS = \
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
EXE_INC = \
|
||||
-I$(LIB_SRC)/finiteVolume/lnInclude \
|
||||
-I$(LIB_SRC)/finiteVolume/lnInclude \
|
||||
-I$(LIB_SRC)/errorEstimation/lnInclude
|
||||
|
||||
EXE_LIBS = \
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
EXE_INC = \
|
||||
-I$(LIB_SRC)/finiteVolume/lnInclude \
|
||||
-I$(LIB_SRC)/finiteVolume/lnInclude \
|
||||
-I$(LIB_SRC)/errorEstimation/lnInclude
|
||||
|
||||
EXE_LIBS = \
|
||||
|
||||
@ -454,7 +454,7 @@ label simplifyFaces
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
argList::noParallel();
|
||||
argList::validOptions.insert("overwrite", "");
|
||||
argList::addBoolOption("overwrite");
|
||||
argList::validArgs.append("edge length [m]");
|
||||
argList::validArgs.append("merge angle (degrees)");
|
||||
|
||||
|
||||
@ -59,10 +59,6 @@ using namespace Foam;
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
// Sin of angle between two consecutive edges on a face. If sin(angle) larger
|
||||
// than this the face will be considered concave.
|
||||
const scalar defaultConcaveAngle = 30;
|
||||
|
||||
|
||||
// Same check as snapMesh
|
||||
void checkSnapMesh
|
||||
@ -433,9 +429,9 @@ label mergeEdges(const scalar minCos, polyMesh& mesh)
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
argList::validArgs.append("feature angle [0..180]");
|
||||
argList::validOptions.insert("concaveAngle", "[0..180]");
|
||||
argList::validOptions.insert("snapMesh", "");
|
||||
argList::validOptions.insert("overwrite", "");
|
||||
argList::addOption("concaveAngle", "[0..180]");
|
||||
argList::addBoolOption("snapMesh");
|
||||
argList::addBoolOption("overwrite");
|
||||
|
||||
# include "setRootCase.H"
|
||||
# include "createTime.H"
|
||||
@ -447,8 +443,9 @@ int main(int argc, char *argv[])
|
||||
|
||||
scalar minCos = Foam::cos(degToRad(featureAngle));
|
||||
|
||||
scalar concaveAngle = defaultConcaveAngle;
|
||||
args.optionReadIfPresent("concaveAngle", concaveAngle);
|
||||
// Sin of angle between two consecutive edges on a face.
|
||||
// If sin(angle) larger than this the face will be considered concave.
|
||||
scalar concaveAngle = args.optionLookupOrDefault("concaveAngle", 30.0);
|
||||
|
||||
scalar concaveSin = Foam::sin(degToRad(concaveAngle));
|
||||
|
||||
@ -483,8 +480,8 @@ int main(int argc, char *argv[])
|
||||
// Merge points on straight edges and remove unused points
|
||||
if (snapMeshDict)
|
||||
{
|
||||
Info<< "Merging all 'loose' points on surface edges"
|
||||
<< ", regardless of the angle they make." << endl;
|
||||
Info<< "Merging all 'loose' points on surface edges, "
|
||||
<< "regardless of the angle they make." << endl;
|
||||
|
||||
// Surface bnound to be used to extrude. Merge all loose points.
|
||||
nChanged += mergeEdges(-1, mesh);
|
||||
@ -510,7 +507,7 @@ int main(int argc, char *argv[])
|
||||
Info<< "Mesh unchanged." << endl;
|
||||
}
|
||||
|
||||
Info<< "End\n" << endl;
|
||||
Info<< "\nEnd\n" << endl;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -22,8 +22,6 @@ License
|
||||
along with OpenFOAM; if not, write to the Free Software Foundation,
|
||||
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
|
||||
Description
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#include "cellSplitter.H"
|
||||
@ -39,12 +37,8 @@ Description
|
||||
|
||||
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
||||
|
||||
namespace Foam
|
||||
{
|
||||
defineTypeNameAndDebug(Foam::cellSplitter, 0);
|
||||
|
||||
defineTypeNameAndDebug(cellSplitter, 0);
|
||||
|
||||
}
|
||||
|
||||
// * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * //
|
||||
|
||||
|
||||
@ -328,7 +328,7 @@ label findCell(const primitiveMesh& mesh, const point& nearPoint)
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
argList::validOptions.insert("overwrite", "");
|
||||
argList::addBoolOption("overwrite");
|
||||
|
||||
# include "setRootCase.H"
|
||||
# include "createTime.H"
|
||||
|
||||
@ -52,7 +52,7 @@ using namespace Foam;
|
||||
// Main program:
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
argList::validOptions.insert("overwrite", "");
|
||||
argList::addBoolOption("overwrite");
|
||||
argList::validArgs.append("cellSet");
|
||||
# include "setRootCase.H"
|
||||
# include "createTime.H"
|
||||
|
||||
@ -47,11 +47,12 @@ using namespace Foam;
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
Foam::argList::noParallel();
|
||||
Foam::argList::validArgs.append("patchName");
|
||||
Foam::argList::validArgs.append("edgeWeight");
|
||||
Foam::argList::validOptions.insert("useSet", "cellSet");
|
||||
Foam::argList::validOptions.insert("overwrite", "");
|
||||
argList::noParallel();
|
||||
argList::validArgs.append("patchName");
|
||||
argList::validArgs.append("edgeWeight");
|
||||
|
||||
argList::addOption("useSet", "cellSet");
|
||||
argList::addBoolOption("overwrite");
|
||||
|
||||
# include "setRootCase.H"
|
||||
# include "createTime.H"
|
||||
|
||||
@ -97,7 +97,7 @@ bool limitRefinementLevel
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
argList::validOptions.insert("readLevel", "");
|
||||
argList::addBoolOption("readLevel");
|
||||
|
||||
# include "setRootCase.H"
|
||||
# include "createTime.H"
|
||||
@ -216,7 +216,7 @@ int main(int argc, char *argv[])
|
||||
|
||||
List<polyPatch*> p(patches.size());
|
||||
|
||||
forAll (p, patchI)
|
||||
forAll(p, patchI)
|
||||
{
|
||||
p[patchI] = patches[patchI].clone(fMesh.boundaryMesh()).ptr();
|
||||
}
|
||||
|
||||
@ -48,8 +48,8 @@ using namespace Foam;
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
Foam::argList::validOptions.insert("overwrite", "");
|
||||
Foam::argList::validArgs.append("faceSet");
|
||||
argList::addBoolOption("overwrite");
|
||||
argList::validArgs.append("faceSet");
|
||||
|
||||
# include "setRootCase.H"
|
||||
# include "createTime.H"
|
||||
|
||||
@ -67,7 +67,7 @@ class edgeStats
|
||||
|
||||
//- If 2d get component of normal dir.
|
||||
direction getNormalDir(const twoDPointCorrector*) const;
|
||||
|
||||
|
||||
|
||||
//- Disallow default bitwise copy construct
|
||||
edgeStats(const edgeStats&);
|
||||
|
||||
@ -525,10 +525,10 @@ void collectCuts
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
argList::noParallel();
|
||||
argList::validOptions.insert("set", "cellSet name");
|
||||
argList::validOptions.insert("geometry", "");
|
||||
argList::validOptions.insert("tol", "edge snap tolerance");
|
||||
argList::validOptions.insert("overwrite", "");
|
||||
argList::addOption("set", "cellSet name");
|
||||
argList::addBoolOption("geometry");
|
||||
argList::addOption("tol", "edge snap tolerance");
|
||||
argList::addBoolOption("overwrite");
|
||||
argList::validArgs.append("edge angle [0..360]");
|
||||
|
||||
# include "setRootCase.H"
|
||||
@ -546,8 +546,7 @@ int main(int argc, char *argv[])
|
||||
bool geometry = args.optionFound("geometry");
|
||||
bool overwrite = args.optionFound("overwrite");
|
||||
|
||||
scalar edgeTol = 0.2;
|
||||
args.optionReadIfPresent("tol", edgeTol);
|
||||
scalar edgeTol = args.optionLookupOrDefault("tol", 0.2);
|
||||
|
||||
Info<< "Trying to split cells with internal angles > feature angle\n" << nl
|
||||
<< "featureAngle : " << featureAngle << nl
|
||||
|
||||
@ -198,8 +198,11 @@ void ReadVertices
|
||||
int dims = 1;
|
||||
float scale;
|
||||
CCMIOID mapID;
|
||||
CCMIOReadVerticesf(&err, vertices, &dims, &scale, &mapID, verts.begin(),
|
||||
offset, offsetPlusSize);
|
||||
CCMIOReadVerticesf
|
||||
(
|
||||
&err, vertices, &dims, &scale, &mapID, verts.begin(),
|
||||
offset, offsetPlusSize
|
||||
);
|
||||
CCMIOReadMap(&err, mapID, mapData.begin(), offset, offsetPlusSize);
|
||||
|
||||
//CCMIOSize size;
|
||||
@ -245,35 +248,34 @@ void ReadProblem
|
||||
== kCCMIONoErr
|
||||
)
|
||||
{
|
||||
char *name;
|
||||
int size;
|
||||
char *name;
|
||||
int size;
|
||||
int cellType;
|
||||
|
||||
// ... if it has a material type. (Note that we do not pass in
|
||||
// an array to get the name because we do not know how long the
|
||||
// string is yet. Many parameters to CCMIO functions that
|
||||
// ... if it has a material type. (Note that we do not pass in
|
||||
// an array to get the name because we do not know how long the
|
||||
// string is yet. Many parameters to CCMIO functions that
|
||||
// return
|
||||
// data can be NULL if that data is not needed.)
|
||||
if
|
||||
// data can be NULL if that data is not needed.)
|
||||
if
|
||||
(
|
||||
CCMIOReadOptstr(NULL, next, "MaterialType", &size, NULL)
|
||||
== kCCMIONoErr
|
||||
)
|
||||
{
|
||||
name = new char[size + 1];
|
||||
CCMIOReadOptstr(&err, next, "MaterialType", &size, name);
|
||||
CCMIOGetEntityIndex(&err, next, &cellType);
|
||||
{
|
||||
name = new char[size + 1];
|
||||
CCMIOReadOptstr(&err, next, "MaterialType", &size, name);
|
||||
CCMIOGetEntityIndex(&err, next, &cellType);
|
||||
|
||||
foamCellTypeNames.insert(cellType, name);
|
||||
Pout<< "Celltype:" << cellType << " name:" << name << endl;
|
||||
|
||||
delete [] name;
|
||||
}
|
||||
delete [] name;
|
||||
}
|
||||
}
|
||||
|
||||
// ... walk through each region description and print it...
|
||||
|
||||
|
||||
CCMIOID boundary;
|
||||
label regionI = 0;
|
||||
int k = 0;
|
||||
@ -320,13 +322,13 @@ void ReadProblem
|
||||
CCMIOReadOptstr(NULL, boundary, "BoundaryType", &size, NULL)
|
||||
== kCCMIONoErr
|
||||
)
|
||||
{
|
||||
char* s = new char[size + 1];
|
||||
CCMIOReadOptstr(NULL, boundary, "BoundaryType", &size, s);
|
||||
{
|
||||
char* s = new char[size + 1];
|
||||
CCMIOReadOptstr(NULL, boundary, "BoundaryType", &size, s);
|
||||
s[size] = '\0';
|
||||
foamPatchTypes[foamPatchI] = string::validate<word>(string(s));
|
||||
delete [] s;
|
||||
}
|
||||
delete [] s;
|
||||
}
|
||||
|
||||
|
||||
//foamPatchMap.append(prostarI);
|
||||
@ -342,28 +344,28 @@ void ReadProblem
|
||||
CCMIOReadOptstr(NULL, boundary, "BoundaryName", &size, NULL)
|
||||
== kCCMIONoErr
|
||||
)
|
||||
{
|
||||
char* name = new char[size + 1];
|
||||
CCMIOReadOptstr(NULL, boundary, "BoundaryName", &size, name);
|
||||
{
|
||||
char* name = new char[size + 1];
|
||||
CCMIOReadOptstr(NULL, boundary, "BoundaryName", &size, name);
|
||||
name[size] = '\0';
|
||||
foamPatchNames[foamPatchI] = string::validate<word>(string(name));
|
||||
delete [] name;
|
||||
}
|
||||
delete [] name;
|
||||
}
|
||||
else if
|
||||
(
|
||||
CCMIOReadOptstr(NULL, boundary, "Label", &size, NULL)
|
||||
== kCCMIONoErr
|
||||
)
|
||||
{
|
||||
char* name = new char[size + 1];
|
||||
CCMIOReadOptstr(NULL, boundary, "Label", &size, name);
|
||||
{
|
||||
char* name = new char[size + 1];
|
||||
CCMIOReadOptstr(NULL, boundary, "Label", &size, name);
|
||||
name[size] = '\0';
|
||||
foamPatchNames[foamPatchI] = string::validate<word>(string(name));
|
||||
delete [] name;
|
||||
}
|
||||
delete [] name;
|
||||
}
|
||||
else
|
||||
{
|
||||
foamPatchNames[foamPatchI] =
|
||||
foamPatchNames[foamPatchI] =
|
||||
foamPatchTypes[foamPatchI]
|
||||
+ Foam::name(foamPatchI);
|
||||
Pout<< "Made up name:" << foamPatchNames[foamPatchI]
|
||||
@ -440,8 +442,8 @@ void ReadCells
|
||||
== kCCMIONoErr
|
||||
)
|
||||
{
|
||||
CCMIOSize size;
|
||||
CCMIOEntitySize(&err, id, &size, NULL);
|
||||
CCMIOSize size;
|
||||
CCMIOEntitySize(&err, id, &size, NULL);
|
||||
|
||||
Pout<< "Read kCCMIOBoundaryFaces entry with " << size
|
||||
<< " faces." << endl;
|
||||
@ -461,13 +463,13 @@ void ReadCells
|
||||
CCMIOGetEntity(&err, topology, kCCMIOInternalFaces, 0, &id);
|
||||
CCMIOSize size;
|
||||
CCMIOReadFaces(&err, id, kCCMIOInternalFaces, NULL, &size, NULL,
|
||||
kCCMIOStart, kCCMIOEnd);
|
||||
kCCMIOStart, kCCMIOEnd);
|
||||
std::vector<int> faces(size);
|
||||
CCMIOReadFaces(&err, id, kCCMIOInternalFaces, &mapID, NULL, &faces[0],
|
||||
kCCMIOStart, kCCMIOEnd);
|
||||
kCCMIOStart, kCCMIOEnd);
|
||||
std::vector<int> faceCells(2*nInternalFaces);
|
||||
CCMIOReadFaceCells(&err, id, kCCMIOInternalFaces, &faceCells[0],
|
||||
kCCMIOStart, kCCMIOEnd);
|
||||
kCCMIOStart, kCCMIOEnd);
|
||||
CCMIOReadMap(&err, mapID, &mapData[0], kCCMIOStart, kCCMIOEnd);
|
||||
CheckError(err, "Error reading internal faces");
|
||||
|
||||
@ -505,19 +507,19 @@ void ReadCells
|
||||
)
|
||||
{
|
||||
CCMIOSize nFaces;
|
||||
CCMIOEntitySize(&err, id, &nFaces, NULL);
|
||||
CCMIOEntitySize(&err, id, &nFaces, NULL);
|
||||
|
||||
mapData.resize(nFaces);
|
||||
faceCells.resize(nFaces);
|
||||
CCMIOReadFaces(&err, id, kCCMIOBoundaryFaces, NULL, &size, NULL,
|
||||
kCCMIOStart, kCCMIOEnd);
|
||||
faces.resize(size);
|
||||
CCMIOReadFaces(&err, id, kCCMIOBoundaryFaces, &mapID, NULL, &faces[0],
|
||||
kCCMIOStart, kCCMIOEnd);
|
||||
CCMIOReadFaceCells(&err, id, kCCMIOBoundaryFaces, &faceCells[0],
|
||||
kCCMIOStart, kCCMIOEnd);
|
||||
CCMIOReadMap(&err, mapID, &mapData[0], kCCMIOStart, kCCMIOEnd);
|
||||
CheckError(err, "Error reading boundary faces");
|
||||
mapData.resize(nFaces);
|
||||
faceCells.resize(nFaces);
|
||||
CCMIOReadFaces(&err, id, kCCMIOBoundaryFaces, NULL, &size, NULL,
|
||||
kCCMIOStart, kCCMIOEnd);
|
||||
faces.resize(size);
|
||||
CCMIOReadFaces(&err, id, kCCMIOBoundaryFaces, &mapID, NULL, &faces[0],
|
||||
kCCMIOStart, kCCMIOEnd);
|
||||
CCMIOReadFaceCells(&err, id, kCCMIOBoundaryFaces, &faceCells[0],
|
||||
kCCMIOStart, kCCMIOEnd);
|
||||
CCMIOReadMap(&err, mapID, &mapData[0], kCCMIOStart, kCCMIOEnd);
|
||||
CheckError(err, "Error reading boundary faces");
|
||||
|
||||
// Read prostar id
|
||||
int prostarI;
|
||||
@ -672,9 +674,9 @@ int main(int argc, char *argv[])
|
||||
|
||||
if (err != kCCMIONoErr)
|
||||
{
|
||||
// Maybe no solution; try again
|
||||
err = kCCMIONoErr;
|
||||
CCMIOReadProcessor
|
||||
// Maybe no solution; try again
|
||||
err = kCCMIONoErr;
|
||||
CCMIOReadProcessor
|
||||
(
|
||||
&err,
|
||||
processor,
|
||||
@ -683,12 +685,12 @@ int main(int argc, char *argv[])
|
||||
NULL,
|
||||
NULL
|
||||
);
|
||||
if (err != kCCMIONoErr)
|
||||
{
|
||||
FatalErrorIn(args.executable())
|
||||
if (err != kCCMIONoErr)
|
||||
{
|
||||
FatalErrorIn(args.executable())
|
||||
<< "Could not read the file."
|
||||
<< exit(FatalError);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ReadVertices(err, vertices, foamPointMap, foamPoints);
|
||||
|
||||
@ -238,7 +238,7 @@ int main(int argc, char *argv[])
|
||||
{
|
||||
argList::noParallel();
|
||||
argList::validArgs.append("ANSYS input file");
|
||||
argList::validOptions.insert("scale", "scale factor");
|
||||
argList::addOption("scale", "scale factor");
|
||||
|
||||
argList args(argc, argv);
|
||||
|
||||
|
||||
@ -22,13 +22,9 @@ License
|
||||
along with OpenFOAM; if not, write to the Free Software Foundation,
|
||||
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
|
||||
Description
|
||||
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#include "error.H"
|
||||
|
||||
#include "block.H"
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
@ -50,7 +50,7 @@ int main(int argc, char *argv[])
|
||||
{
|
||||
argList::noParallel();
|
||||
argList::validArgs.append("CFX geom file");
|
||||
argList::validOptions.insert("scale", "scale factor");
|
||||
argList::addOption("scale", "scale factor");
|
||||
|
||||
argList args(argc, argv);
|
||||
|
||||
@ -81,7 +81,7 @@ int main(int argc, char *argv[])
|
||||
word blockName;
|
||||
label nx, ny, nz;
|
||||
|
||||
forAll (blocks, blockI)
|
||||
forAll(blocks, blockI)
|
||||
{
|
||||
cfxFile >> blockName;
|
||||
cfxFile >> nx >> ny >> nz;
|
||||
@ -101,7 +101,7 @@ int main(int argc, char *argv[])
|
||||
{
|
||||
label no, blkNo, patchLabel;
|
||||
|
||||
forAll (cfxPatchTypes, patchI)
|
||||
forAll(cfxPatchTypes, patchI)
|
||||
{
|
||||
// Grab patch type and name
|
||||
cfxFile >> cfxPatchTypes[patchI] >> cfxPatchNames[patchI] >> no;
|
||||
@ -110,7 +110,7 @@ int main(int argc, char *argv[])
|
||||
patchRanges[patchI].setSize(6);
|
||||
labelList& curRange = patchRanges[patchI];
|
||||
|
||||
forAll (curRange, rI)
|
||||
forAll(curRange, rI)
|
||||
{
|
||||
cfxFile >> curRange[rI];
|
||||
}
|
||||
@ -147,7 +147,7 @@ int main(int argc, char *argv[])
|
||||
|
||||
Info<< "Reading block points" << endl;
|
||||
|
||||
forAll (blocks, blockI)
|
||||
forAll(blocks, blockI)
|
||||
{
|
||||
Info<< "block " << blockI << " is a ";
|
||||
blocks[blockI].readPoints(cfxFile);
|
||||
@ -176,7 +176,7 @@ int main(int argc, char *argv[])
|
||||
|
||||
faceListList rawPatches(npatch);
|
||||
|
||||
forAll (rawPatches, patchI)
|
||||
forAll(rawPatches, patchI)
|
||||
{
|
||||
const word& patchType = cfxPatchTypes[patchI];
|
||||
|
||||
@ -214,7 +214,7 @@ int main(int argc, char *argv[])
|
||||
// For efficiency, create merge pairs in the first pass
|
||||
labelListListList glueMergePairs(glueMasterPatches.size());
|
||||
|
||||
forAll (glueMasterPatches, glueI)
|
||||
forAll(glueMasterPatches, glueI)
|
||||
{
|
||||
const label masterPatch = glueMasterPatches[glueI];
|
||||
const label slavePatch = glueSlavePatches[glueI];
|
||||
@ -247,14 +247,14 @@ int main(int argc, char *argv[])
|
||||
|
||||
scalar sqrMergeTol = GREAT;
|
||||
|
||||
forAll (blockPFaces, blockPFaceLabel)
|
||||
forAll(blockPFaces, blockPFaceLabel)
|
||||
{
|
||||
const labelList& blockPFacePoints =
|
||||
blockPFaces[blockPFaceLabel];
|
||||
|
||||
forAll (blockPFacePoints, blockPFacePointI)
|
||||
forAll(blockPFacePoints, blockPFacePointI)
|
||||
{
|
||||
forAll (blockPFacePoints, blockPFacePointI2)
|
||||
forAll(blockPFacePoints, blockPFacePointI2)
|
||||
{
|
||||
if (blockPFacePointI != blockPFacePointI2)
|
||||
{
|
||||
@ -281,7 +281,7 @@ int main(int argc, char *argv[])
|
||||
|
||||
// N-squared point search over all points of all faces of
|
||||
// master block over all point of all faces of slave block
|
||||
forAll (blockPFaces, blockPFaceLabel)
|
||||
forAll(blockPFaces, blockPFaceLabel)
|
||||
{
|
||||
const labelList& blockPFacePoints =
|
||||
blockPFaces[blockPFaceLabel];
|
||||
@ -289,16 +289,16 @@ int main(int argc, char *argv[])
|
||||
labelList& cp = curPairs[blockPFaceLabel];
|
||||
cp.setSize(blockPFacePoints.size());
|
||||
|
||||
forAll (blockPFacePoints, blockPFacePointI)
|
||||
forAll(blockPFacePoints, blockPFacePointI)
|
||||
{
|
||||
found = false;
|
||||
|
||||
forAll (blockNFaces, blockNFaceLabel)
|
||||
forAll(blockNFaces, blockNFaceLabel)
|
||||
{
|
||||
const labelList& blockNFacePoints =
|
||||
blockNFaces[blockNFaceLabel];
|
||||
|
||||
forAll (blockNFacePoints, blockNFacePointI)
|
||||
forAll(blockNFacePoints, blockNFacePointI)
|
||||
{
|
||||
if
|
||||
(
|
||||
@ -360,7 +360,7 @@ int main(int argc, char *argv[])
|
||||
changedPointMerge = false;
|
||||
nPasses++;
|
||||
|
||||
forAll (glueMasterPatches, glueI)
|
||||
forAll(glueMasterPatches, glueI)
|
||||
{
|
||||
const label masterPatch = glueMasterPatches[glueI];
|
||||
const label slavePatch = glueSlavePatches[glueI];
|
||||
@ -372,14 +372,14 @@ int main(int argc, char *argv[])
|
||||
|
||||
const labelListList& curPairs = glueMergePairs[glueI];
|
||||
|
||||
forAll (blockPFaces, blockPFaceLabel)
|
||||
forAll(blockPFaces, blockPFaceLabel)
|
||||
{
|
||||
const labelList& blockPFacePoints =
|
||||
blockPFaces[blockPFaceLabel];
|
||||
|
||||
const labelList& cp = curPairs[blockPFaceLabel];
|
||||
|
||||
forAll (cp, blockPFacePointI)
|
||||
forAll(cp, blockPFacePointI)
|
||||
{
|
||||
label PpointLabel =
|
||||
blockPFacePoints[blockPFacePointI]
|
||||
@ -421,7 +421,7 @@ int main(int argc, char *argv[])
|
||||
}
|
||||
|
||||
|
||||
forAll (glueMasterPatches, glueI)
|
||||
forAll(glueMasterPatches, glueI)
|
||||
{
|
||||
const label masterPatch = glueMasterPatches[glueI];
|
||||
const label slavePatch = glueSlavePatches[glueI];
|
||||
@ -433,12 +433,12 @@ int main(int argc, char *argv[])
|
||||
const faceList& blockNFaces = rawPatches[slavePatch];
|
||||
|
||||
|
||||
forAll (blockPFaces, blockPFaceLabel)
|
||||
forAll(blockPFaces, blockPFaceLabel)
|
||||
{
|
||||
const labelList& blockPFacePoints
|
||||
= blockPFaces[blockPFaceLabel];
|
||||
|
||||
forAll (blockPFacePoints, blockPFacePointI)
|
||||
forAll(blockPFacePoints, blockPFacePointI)
|
||||
{
|
||||
label PpointLabel =
|
||||
blockPFacePoints[blockPFacePointI]
|
||||
@ -455,12 +455,12 @@ int main(int argc, char *argv[])
|
||||
}
|
||||
}
|
||||
|
||||
forAll (blockNFaces, blockNFaceLabel)
|
||||
forAll(blockNFaces, blockNFaceLabel)
|
||||
{
|
||||
const labelList& blockNFacePoints
|
||||
= blockNFaces[blockNFaceLabel];
|
||||
|
||||
forAll (blockNFacePoints, blockNFacePointI)
|
||||
forAll(blockNFacePoints, blockNFacePointI)
|
||||
{
|
||||
label NpointLabel =
|
||||
blockNFacePoints[blockNFacePointI]
|
||||
@ -483,7 +483,7 @@ int main(int argc, char *argv[])
|
||||
// given old point label
|
||||
label nNewPoints = 0;
|
||||
|
||||
forAll (pointMergeList, pointLabel)
|
||||
forAll(pointMergeList, pointLabel)
|
||||
{
|
||||
if (pointMergeList[pointLabel] > pointLabel)
|
||||
{
|
||||
@ -513,11 +513,11 @@ int main(int argc, char *argv[])
|
||||
|
||||
pointField points(nMeshPoints);
|
||||
|
||||
forAll (blocks, blockI)
|
||||
forAll(blocks, blockI)
|
||||
{
|
||||
const pointField& blockPoints = blocks[blockI].points();
|
||||
|
||||
forAll (blockPoints, blockPointLabel)
|
||||
forAll(blockPoints, blockPointLabel)
|
||||
{
|
||||
points
|
||||
[
|
||||
@ -544,15 +544,15 @@ int main(int argc, char *argv[])
|
||||
|
||||
label nCreatedCells = 0;
|
||||
|
||||
forAll (blocks, blockI)
|
||||
forAll(blocks, blockI)
|
||||
{
|
||||
labelListList curBlockCells = blocks[blockI].blockCells();
|
||||
|
||||
forAll (curBlockCells, blockCellI)
|
||||
forAll(curBlockCells, blockCellI)
|
||||
{
|
||||
labelList cellPoints(curBlockCells[blockCellI].size());
|
||||
|
||||
forAll (cellPoints, pointI)
|
||||
forAll(cellPoints, pointI)
|
||||
{
|
||||
cellPoints[pointI] =
|
||||
pointMergeList
|
||||
@ -579,7 +579,7 @@ int main(int argc, char *argv[])
|
||||
|
||||
label nCreatedPatches = 0;
|
||||
|
||||
forAll (rawPatches, patchI)
|
||||
forAll(rawPatches, patchI)
|
||||
{
|
||||
if (rawPatches[patchI].size() && cfxPatchTypes[patchI] != "BLKBDY")
|
||||
{
|
||||
@ -610,14 +610,14 @@ int main(int argc, char *argv[])
|
||||
label oldSize = renumberedPatch.size();
|
||||
renumberedPatch.setSize(oldSize + curRawPatch.size());
|
||||
|
||||
forAll (curRawPatch, faceI)
|
||||
forAll(curRawPatch, faceI)
|
||||
{
|
||||
const face& oldFace = curRawPatch[faceI];
|
||||
|
||||
face& newFace = renumberedPatch[oldSize + faceI];
|
||||
newFace.setSize(oldFace.size());
|
||||
|
||||
forAll (oldFace, pointI)
|
||||
forAll(oldFace, pointI)
|
||||
{
|
||||
newFace[pointI] =
|
||||
pointMergeList
|
||||
@ -634,14 +634,14 @@ int main(int argc, char *argv[])
|
||||
faceList& renumberedPatch = boundary[nCreatedPatches];
|
||||
renumberedPatch.setSize(curRawPatch.size());
|
||||
|
||||
forAll (curRawPatch, faceI)
|
||||
forAll(curRawPatch, faceI)
|
||||
{
|
||||
const face& oldFace = curRawPatch[faceI];
|
||||
|
||||
face& newFace = renumberedPatch[faceI];
|
||||
newFace.setSize(oldFace.size());
|
||||
|
||||
forAll (oldFace, pointI)
|
||||
forAll(oldFace, pointI)
|
||||
{
|
||||
newFace[pointI] =
|
||||
pointMergeList
|
||||
|
||||
@ -22,8 +22,6 @@ License
|
||||
along with OpenFOAM; if not, write to the Free Software Foundation,
|
||||
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
|
||||
Description
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#include "hexBlock.H"
|
||||
@ -58,7 +56,7 @@ hexBlock::hexBlock(const label nx, const label ny, const label nz)
|
||||
|
||||
void hexBlock::readPoints(Istream& is)
|
||||
{
|
||||
forAll (points_, i)
|
||||
forAll(points_, i)
|
||||
{
|
||||
is >> points_[i].x() >> points_[i].y() >> points_[i].z();
|
||||
}
|
||||
@ -376,7 +374,7 @@ faceList hexBlock::patchFaces(const label direc, const labelList& range) const
|
||||
else if (blockHandedness_ == left)
|
||||
{
|
||||
// turn all faces inside out
|
||||
forAll (result, faceI)
|
||||
forAll(result, faceI)
|
||||
{
|
||||
result[faceI] = result[faceI].reverseFace();
|
||||
}
|
||||
|
||||
@ -473,7 +473,7 @@ endOfSection {space}")"{space}
|
||||
// set size of label list
|
||||
curFaceLabels.setSize(strtol(YYText(), &endPtr, 16));
|
||||
|
||||
forAll (curFaceLabels, i)
|
||||
forAll(curFaceLabels, i)
|
||||
{
|
||||
curFaceLabels[i] = strtol(endPtr, &endPtr, 16) - 1;
|
||||
}
|
||||
@ -762,10 +762,10 @@ int main(int argc, char *argv[])
|
||||
{
|
||||
argList::noParallel();
|
||||
argList::validArgs.append("Fluent mesh file");
|
||||
argList::validOptions.insert("scale", "scale factor");
|
||||
argList::validOptions.insert("ignoreCellGroups", "cell group names");
|
||||
argList::validOptions.insert("ignoreFaceGroups", "face group names");
|
||||
argList::validOptions.insert("cubit", "");
|
||||
argList::addOption("scale", "scale factor");
|
||||
argList::addOption("ignoreCellGroups", "cell group names");
|
||||
argList::addOption("ignoreFaceGroups", "face group names");
|
||||
argList::addBoolOption("cubit");
|
||||
|
||||
argList args(argc, argv);
|
||||
|
||||
@ -776,17 +776,11 @@ int main(int argc, char *argv[])
|
||||
|
||||
args.optionReadIfPresent("scale", scaleFactor);
|
||||
|
||||
HashSet<word> ignoreCellGroups;
|
||||
if (args.optionFound("ignoreCellGroups"))
|
||||
{
|
||||
args.optionLookup("ignoreCellGroups")() >> ignoreCellGroups;
|
||||
}
|
||||
wordHashSet ignoreCellGroups;
|
||||
wordHashSet ignoreFaceGroups;
|
||||
|
||||
HashSet<word> ignoreFaceGroups;
|
||||
if (args.optionFound("ignoreFaceGroups"))
|
||||
{
|
||||
args.optionLookup("ignoreFaceGroups")() >> ignoreFaceGroups;
|
||||
}
|
||||
args.optionReadIfPresent("ignoreCellGroups", ignoreCellGroups);
|
||||
args.optionReadIfPresent("ignoreFaceGroups", ignoreFaceGroups);
|
||||
|
||||
cubitFile = args.options().found("cubit");
|
||||
|
||||
@ -843,7 +837,7 @@ int main(int argc, char *argv[])
|
||||
// faces and move to neighbour
|
||||
|
||||
boolList fm(faces.size(), false);
|
||||
forAll (faces, facei)
|
||||
forAll(faces, facei)
|
||||
{
|
||||
if
|
||||
(
|
||||
|
||||
@ -2,35 +2,35 @@ Notes for fluentMeshToFoam with zone preservation
|
||||
#################################################
|
||||
|
||||
1. New option added:
|
||||
- writeSets:
|
||||
- writeSets:
|
||||
Writes all Fluent boundaries faceSets preserving Fluent names
|
||||
Writes all Fluent regions to cellSets preserving Fluent names
|
||||
lines: 1375 - 1393 & 1673 - 1741
|
||||
sets are useful for post-processing using foamToVTK with the "-faceSet
|
||||
<name>" and "-cellSet <name>" options.
|
||||
|
||||
- writeZones:
|
||||
|
||||
- writeZones:
|
||||
Writes all regions to cellZones preserving Fluent names
|
||||
Writes all region internal face to faceZones preserving Fluent names
|
||||
Writes all region internal face to faceZones preserving Fluent names
|
||||
lines: 1545 - 1667
|
||||
Zones are usefull for porous media and MRF calculations
|
||||
|
||||
2. Zone Access
|
||||
- Zones are simple lists of label lists that can be accessed from polyMesh
|
||||
- Zones are simple lists of label lists that can be accessed from polyMesh
|
||||
with the cellZones(), faceZones() and pointZones() member functions
|
||||
|
||||
- Example (Members from polyMesh.H and ZoneMesh.H):
|
||||
label thisCellZoneID = mesh.cellZones().findZoneID("thisZoneName");
|
||||
const labelList& thisCellZone = mesh.cellZones()[thisCellZoneID];
|
||||
|
||||
|
||||
- Zone integrity is preserved during mesh modification and decompomposition.
|
||||
|
||||
- Once created via addZones, zones allow modification through non-const
|
||||
|
||||
- Once created via addZones, zones allow modification through non-const
|
||||
access
|
||||
|
||||
3. Fluent boundary types.
|
||||
- All internal and baffle elements are ignored during conversion
|
||||
|
||||
|
||||
- Boundary faces labelled as internal (i.e. interior, interface, internal,
|
||||
solid, fan, radiator, porous-jump) but that are in fact external boundaries
|
||||
will be added to a default wall boundary.
|
||||
|
||||
@ -155,7 +155,7 @@ cellShape create3DCellShape
|
||||
|
||||
bool found = false;
|
||||
|
||||
forAll (localFaces, meshFaceI)
|
||||
forAll(localFaces, meshFaceI)
|
||||
{
|
||||
if (localFaces[meshFaceI].size() == firstModelFace.size())
|
||||
{
|
||||
@ -166,7 +166,7 @@ cellShape create3DCellShape
|
||||
|
||||
meshFaceUsed[meshFaceI] = true;
|
||||
|
||||
forAll (curMeshFace, pointI)
|
||||
forAll(curMeshFace, pointI)
|
||||
{
|
||||
pointLabels[firstModelFace[pointI]] = curMeshFace[pointI];
|
||||
}
|
||||
@ -199,7 +199,7 @@ cellShape create3DCellShape
|
||||
found = false;
|
||||
|
||||
// Loop through mesh faces until a match is found
|
||||
forAll (localFaces, meshFaceI)
|
||||
forAll(localFaces, meshFaceI)
|
||||
{
|
||||
if
|
||||
(
|
||||
@ -220,7 +220,7 @@ cellShape create3DCellShape
|
||||
// try matching the face
|
||||
label nMatchedLabels = 0;
|
||||
|
||||
forAll (meshFaceLabels, pointI)
|
||||
forAll(meshFaceLabels, pointI)
|
||||
{
|
||||
if
|
||||
(
|
||||
@ -241,7 +241,7 @@ cellShape create3DCellShape
|
||||
if (found)
|
||||
{
|
||||
// match found. Insert mesh face
|
||||
forAll (meshFaceLabels, pointI)
|
||||
forAll(meshFaceLabels, pointI)
|
||||
{
|
||||
pointLabels[curModelFace[pointI]] =
|
||||
meshFaceLabels[pointI];
|
||||
|
||||
@ -73,7 +73,7 @@ cellShape extrudedQuadCellShape
|
||||
// make a list of outward-pointing faces
|
||||
labelListList localFaces(4);
|
||||
|
||||
forAll (faceLabels, faceI)
|
||||
forAll(faceLabels, faceI)
|
||||
{
|
||||
const label curFaceLabel = faceLabels[faceI];
|
||||
|
||||
@ -100,7 +100,7 @@ cellShape extrudedQuadCellShape
|
||||
{
|
||||
// Reverse the face. Note: it is necessary to reverse by
|
||||
// hand to preserve connectivity of a 2-D mesh.
|
||||
//
|
||||
//
|
||||
localFaces[faceI].setSize(curFace.size());
|
||||
|
||||
forAllReverse(curFace, i)
|
||||
|
||||
@ -75,7 +75,7 @@ cellShape extrudedTriangleCellShape
|
||||
// make a list of outward-pointing faces
|
||||
labelListList localFaces(3);
|
||||
|
||||
forAll (faceLabels, faceI)
|
||||
forAll(faceLabels, faceI)
|
||||
{
|
||||
const label curFaceLabel = faceLabels[faceI];
|
||||
|
||||
@ -102,7 +102,7 @@ cellShape extrudedTriangleCellShape
|
||||
{
|
||||
// Reverse the face. Note: it is necessary to reverse by
|
||||
// hand to preserve connectivity of a 2-D mesh.
|
||||
//
|
||||
//
|
||||
localFaces[faceI].setSize(curFace.size());
|
||||
|
||||
forAllReverse(curFace, i)
|
||||
|
||||
@ -490,7 +490,7 @@ endOfSection {space}")"{space}
|
||||
// set size of label list
|
||||
curFaceLabels.setSize(readLabel(mixedFaceStream));
|
||||
|
||||
forAll (curFaceLabels, i)
|
||||
forAll(curFaceLabels, i)
|
||||
{
|
||||
curFaceLabels[i] = readHexLabel(mixedFaceStream) - 1;
|
||||
}
|
||||
@ -511,7 +511,7 @@ endOfSection {space}")"{space}
|
||||
// for edge is 2, for triangle is 3 and for quad is 4
|
||||
curFaceLabels.setSize(faceGroupElementType);
|
||||
|
||||
forAll (curFaceLabels, i)
|
||||
forAll(curFaceLabels, i)
|
||||
{
|
||||
curFaceLabels[i] = readHexLabel(mixedFaceStream) - 1;
|
||||
}
|
||||
@ -867,9 +867,9 @@ int main(int argc, char *argv[])
|
||||
{
|
||||
argList::noParallel();
|
||||
argList::validArgs.append("Fluent mesh file");
|
||||
argList::validOptions.insert("scale", "scale factor");
|
||||
argList::validOptions.insert("writeSets", "");
|
||||
argList::validOptions.insert("writeZones", "");
|
||||
argList::addOption("scale", "scale factor");
|
||||
argList::addBoolOption("writeSets");
|
||||
argList::addBoolOption("writeZones");
|
||||
|
||||
argList args(argc, argv);
|
||||
|
||||
@ -915,14 +915,14 @@ int main(int argc, char *argv[])
|
||||
|
||||
labelList nFacesInCell(nCells, 0);
|
||||
|
||||
forAll (cellFaces, celli)
|
||||
forAll(cellFaces, celli)
|
||||
{
|
||||
cellFaces[celli].setSize(fluentModelNFaces[fluentCellModelID[celli] ]);
|
||||
}
|
||||
|
||||
// fill in owner and neighbour
|
||||
|
||||
forAll (owner, faceI)
|
||||
forAll(owner, faceI)
|
||||
{
|
||||
if (owner[faceI] > -1)
|
||||
{
|
||||
@ -933,7 +933,7 @@ int main(int argc, char *argv[])
|
||||
}
|
||||
}
|
||||
|
||||
forAll (neighbour, faceI)
|
||||
forAll(neighbour, faceI)
|
||||
{
|
||||
if (neighbour[faceI] > -1)
|
||||
{
|
||||
@ -976,7 +976,7 @@ int main(int argc, char *argv[])
|
||||
// points given by Fluent need to represent the FRONT plane of the
|
||||
// geometry. Therefore, the extrusion will be in -z direction
|
||||
//
|
||||
forAll (oldPoints, pointI)
|
||||
forAll(oldPoints, pointI)
|
||||
{
|
||||
points[nNewPoints] = oldPoints[pointI];
|
||||
|
||||
@ -985,7 +985,7 @@ int main(int argc, char *argv[])
|
||||
nNewPoints++;
|
||||
}
|
||||
|
||||
forAll (oldPoints, pointI)
|
||||
forAll(oldPoints, pointI)
|
||||
{
|
||||
points[nNewPoints] = oldPoints[pointI];
|
||||
|
||||
@ -1000,7 +1000,7 @@ int main(int argc, char *argv[])
|
||||
// Set the number of empty faces
|
||||
frontAndBackFaces.setSize(2*nCells);
|
||||
|
||||
forAll (fluentCellModelID, celli)
|
||||
forAll(fluentCellModelID, celli)
|
||||
{
|
||||
switch (fluentCellModelID[celli])
|
||||
{
|
||||
@ -1053,7 +1053,7 @@ int main(int argc, char *argv[])
|
||||
}
|
||||
|
||||
// Create new faces
|
||||
forAll (faces, faceI)
|
||||
forAll(faces, faceI)
|
||||
{
|
||||
|
||||
if (faces[faceI].size() != 2)
|
||||
@ -1078,7 +1078,7 @@ int main(int argc, char *argv[])
|
||||
{
|
||||
// 3-D shape recognition
|
||||
Info<< "Creating shapes for 3-D cells"<< endl;
|
||||
forAll (fluentCellModelID, celli)
|
||||
forAll(fluentCellModelID, celli)
|
||||
{
|
||||
if
|
||||
(
|
||||
@ -1116,7 +1116,7 @@ int main(int argc, char *argv[])
|
||||
// area vector points into the domain. Turn them round before making patches
|
||||
// for Foam compatibility
|
||||
|
||||
forAll (faces, faceI)
|
||||
forAll(faces, faceI)
|
||||
{
|
||||
if (owner[faceI] == -1)
|
||||
{
|
||||
@ -1232,7 +1232,7 @@ int main(int argc, char *argv[])
|
||||
|
||||
faceList patchFaces(faceGroupEndIndexIter() - faceLabel);
|
||||
|
||||
forAll (patchFaces, faceI)
|
||||
forAll(patchFaces, faceI)
|
||||
{
|
||||
if
|
||||
(
|
||||
|
||||
@ -113,7 +113,7 @@ void Foam::fluentFvMesh::writeFluentMesh() const
|
||||
|
||||
const pointField& p = points();
|
||||
|
||||
forAll (p, pointI)
|
||||
forAll(p, pointI)
|
||||
{
|
||||
fluentMeshFile
|
||||
<< " "
|
||||
@ -135,7 +135,7 @@ void Foam::fluentFvMesh::writeFluentMesh() const
|
||||
<< "(13 (2 1 "
|
||||
<< own.size() << " 2 0)" << std::endl << "(" << std::endl;
|
||||
|
||||
forAll (own, faceI)
|
||||
forAll(own, faceI)
|
||||
{
|
||||
const labelList& l = fcs[faceI];
|
||||
|
||||
@ -143,7 +143,7 @@ void Foam::fluentFvMesh::writeFluentMesh() const
|
||||
|
||||
fluentMeshFile << l.size() << " ";
|
||||
|
||||
forAll (l, lI)
|
||||
forAll(l, lI)
|
||||
{
|
||||
fluentMeshFile << l[lI] + 1 << " ";
|
||||
}
|
||||
@ -157,7 +157,7 @@ void Foam::fluentFvMesh::writeFluentMesh() const
|
||||
label nWrittenFaces = own.size();
|
||||
|
||||
// Writing boundary faces
|
||||
forAll (boundary(), patchI)
|
||||
forAll(boundary(), patchI)
|
||||
{
|
||||
const unallocFaceList& patchFaces = boundaryMesh()[patchI];
|
||||
|
||||
@ -190,7 +190,7 @@ void Foam::fluentFvMesh::writeFluentMesh() const
|
||||
fluentMeshFile
|
||||
<<" 0)" << std::endl << "(" << std::endl;
|
||||
|
||||
forAll (patchFaces, faceI)
|
||||
forAll(patchFaces, faceI)
|
||||
{
|
||||
const labelList& l = patchFaces[faceI];
|
||||
|
||||
@ -225,7 +225,7 @@ void Foam::fluentFvMesh::writeFluentMesh() const
|
||||
|
||||
bool hasWarned = false;
|
||||
|
||||
forAll (cells, cellI)
|
||||
forAll(cells, cellI)
|
||||
{
|
||||
if (cells[cellI].model() == tet)
|
||||
{
|
||||
@ -270,7 +270,7 @@ void Foam::fluentFvMesh::writeFluentMesh() const
|
||||
fluentMeshFile << "(39 (2 interior interior-1)())" << std::endl;
|
||||
|
||||
// Writing boundary patch types
|
||||
forAll (boundary(), patchI)
|
||||
forAll(boundary(), patchI)
|
||||
{
|
||||
fluentMeshFile
|
||||
<< "(39 (" << patchI + 10 << " ";
|
||||
|
||||
@ -76,10 +76,27 @@ int main(int argc, char *argv[])
|
||||
argList::noParallel();
|
||||
timeSelector::addOptions();
|
||||
|
||||
argList::validOptions.insert("scale", "scale");
|
||||
argList::validOptions.insert("noBnd", "");
|
||||
argList::validOptions.insert("tri", "");
|
||||
argList::validOptions.insert("surface", "");
|
||||
argList::addOption
|
||||
(
|
||||
"scale",
|
||||
"factor",
|
||||
"specify geometry scaling factor - default is 1000 ([m] to [mm])"
|
||||
);
|
||||
argList::addBoolOption
|
||||
(
|
||||
"noBnd",
|
||||
"suppress writing the .bnd file"
|
||||
);
|
||||
argList::addBoolOption
|
||||
(
|
||||
"tri",
|
||||
"Extract a triangulated surface. Implies -surface"
|
||||
);
|
||||
argList::addBoolOption
|
||||
(
|
||||
"surface",
|
||||
"extract the surface of the volume mesh only"
|
||||
);
|
||||
|
||||
# include "setRootCase.H"
|
||||
# include "createTime.H"
|
||||
|
||||
@ -583,7 +583,7 @@ mtype {space}"MTYPE:"{space}
|
||||
{
|
||||
scalarList patchFaceValues(nValuesForPatchFaces);
|
||||
|
||||
forAll (patchFaceValues, fI)
|
||||
forAll(patchFaceValues, fI)
|
||||
{
|
||||
patchFaceValues[fI] = readScalar(patchFacesStream);
|
||||
}
|
||||
@ -639,7 +639,7 @@ int main(int argc, char *argv[])
|
||||
{
|
||||
argList::noParallel();
|
||||
argList::validArgs.append("GAMBIT file");
|
||||
argList::validOptions.insert("scale", "scale factor");
|
||||
argList::addOption("scale", "scale factor");
|
||||
|
||||
argList args(argc, argv);
|
||||
|
||||
@ -673,7 +673,7 @@ int main(int argc, char *argv[])
|
||||
// make a point mapping array
|
||||
label maxPointIndex = 0;
|
||||
|
||||
forAll (pointMap, pointI)
|
||||
forAll(pointMap, pointI)
|
||||
{
|
||||
if (pointMap[pointI] > maxPointIndex)
|
||||
{
|
||||
@ -684,7 +684,7 @@ int main(int argc, char *argv[])
|
||||
|
||||
labelList pointLookup(maxPointIndex + 1, -1);
|
||||
|
||||
forAll (pointMap, pointI)
|
||||
forAll(pointMap, pointI)
|
||||
{
|
||||
pointLookup[pointMap[pointI] ] = pointI;
|
||||
}
|
||||
@ -692,7 +692,7 @@ int main(int argc, char *argv[])
|
||||
// make a cell mapping array
|
||||
label maxCellIndex = 0;
|
||||
|
||||
forAll (cellMap, cellI)
|
||||
forAll(cellMap, cellI)
|
||||
{
|
||||
if (cellMap[cellI] > maxCellIndex)
|
||||
{
|
||||
@ -702,7 +702,7 @@ int main(int argc, char *argv[])
|
||||
|
||||
labelList cellLookup(maxCellIndex + 1);
|
||||
|
||||
forAll (cellMap, cellI)
|
||||
forAll(cellMap, cellI)
|
||||
{
|
||||
cellLookup[cellMap[cellI] ] = cellI;
|
||||
}
|
||||
@ -719,7 +719,7 @@ int main(int argc, char *argv[])
|
||||
|
||||
cellShapeList cells(cellLabels.size());
|
||||
|
||||
forAll (cellTypes, cellI)
|
||||
forAll(cellTypes, cellI)
|
||||
{
|
||||
const labelList& curCellLabels = cellLabels[cellI];
|
||||
|
||||
@ -798,7 +798,7 @@ int main(int argc, char *argv[])
|
||||
faceList& patchFaces = boundary[patchI];
|
||||
patchFaces.setSize(curCells.size());
|
||||
|
||||
forAll (curCells, faceI)
|
||||
forAll(curCells, faceI)
|
||||
{
|
||||
patchFaces[faceI] =
|
||||
cells[cellLookup[curCells[faceI] ] ].faces()
|
||||
|
||||
@ -4,4 +4,4 @@ EXE_INC = \
|
||||
|
||||
EXE_LIBS = \
|
||||
-ldynamicMesh \
|
||||
-lmeshTools
|
||||
-lmeshTools
|
||||
|
||||
@ -717,7 +717,7 @@ int main(int argc, char *argv[])
|
||||
{
|
||||
argList::noParallel();
|
||||
argList::validArgs.append(".msh file");
|
||||
argList::validOptions.insert("keepOrientation", "");
|
||||
argList::addBoolOption("keepOrientation");
|
||||
|
||||
# include "setRootCase.H"
|
||||
# include "createTime.H"
|
||||
|
||||
@ -579,7 +579,7 @@ int main(int argc, char *argv[])
|
||||
{
|
||||
argList::noParallel();
|
||||
argList::validArgs.append(".unv file");
|
||||
argList::validOptions.insert("dump", "");
|
||||
argList::addBoolOption("dump");
|
||||
|
||||
# include "setRootCase.H"
|
||||
# include "createTime.H"
|
||||
|
||||
@ -68,14 +68,14 @@
|
||||
quadFace[3] = pointMap[quadFace[3]];
|
||||
|
||||
label ti = 0;
|
||||
forAll (quadFace, i)
|
||||
forAll(quadFace, i)
|
||||
{
|
||||
if (quadFace[i] != quadFace[(i+1)%4])
|
||||
{
|
||||
triFace[(ti++)%3] = quadFace[i];
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (ti == 4)
|
||||
{
|
||||
pFaces[bcIndex][regionIndex].append(quadFace);
|
||||
|
||||
@ -60,9 +60,9 @@ enum kivaVersions
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
argList::noParallel();
|
||||
argList::validOptions.insert("file", "fileName");
|
||||
argList::validOptions.insert("version", "[kiva3|kiva3v]");
|
||||
argList::validOptions.insert("zHeadMin", "scalar");
|
||||
argList::addOption("file", "fileName");
|
||||
argList::addOption("version", "[kiva3|kiva3v]");
|
||||
argList::addOption("zHeadMin", "scalar");
|
||||
|
||||
# include "setRootCase.H"
|
||||
# include "createTime.H"
|
||||
|
||||
@ -109,7 +109,7 @@ label activeCells = 0;
|
||||
// Create and set the collocated point collapse map
|
||||
labelList pointMap(nPoints);
|
||||
|
||||
forAll (pointMap, i)
|
||||
forAll(pointMap, i)
|
||||
{
|
||||
pointMap[i] = i;
|
||||
}
|
||||
@ -132,7 +132,7 @@ for (label i=0; i<nPoints; i++)
|
||||
|
||||
edgeList edges = cellShapes[activeCells].edges();
|
||||
|
||||
forAll (edges, ei)
|
||||
forAll(edges, ei)
|
||||
{
|
||||
if (edges[ei].mag(points) < SMALL)
|
||||
{
|
||||
@ -167,11 +167,11 @@ cellZoning.setSize(activeCells);
|
||||
|
||||
// Map collocated points to refer to the same point and collapse cell shape
|
||||
// to the corresponding hex-degenerate.
|
||||
forAll (cellShapes, celli)
|
||||
forAll(cellShapes, celli)
|
||||
{
|
||||
cellShape& cs = cellShapes[celli];
|
||||
|
||||
forAll (cs, i)
|
||||
forAll(cs, i)
|
||||
{
|
||||
cs[i] = pointMap[cs[i]];
|
||||
}
|
||||
@ -336,7 +336,7 @@ if
|
||||
{
|
||||
const face& pf = iter();
|
||||
|
||||
forAll (pf, pfi)
|
||||
forAll(pf, pfi)
|
||||
{
|
||||
minz = min(minz, points[pf[pfi]].z());
|
||||
}
|
||||
@ -356,7 +356,7 @@ if
|
||||
const face& pf = iter();
|
||||
|
||||
scalar minfz = GREAT;
|
||||
forAll (pf, pfi)
|
||||
forAll(pf, pfi)
|
||||
{
|
||||
minfz = min(minfz, points[pf[pfi]].z());
|
||||
}
|
||||
@ -390,7 +390,7 @@ if
|
||||
const face& pf = iter();
|
||||
|
||||
scalar minfz = GREAT;
|
||||
forAll (pf, pfi)
|
||||
forAll(pf, pfi)
|
||||
{
|
||||
minfz = min(minfz, points[pf[pfi]].z());
|
||||
}
|
||||
@ -417,7 +417,7 @@ if
|
||||
label nPatches = 0;
|
||||
for (int bci=0; bci<nBCs; bci++)
|
||||
{
|
||||
forAll (pFaces[bci], rgi)
|
||||
forAll(pFaces[bci], rgi)
|
||||
{
|
||||
if (pFaces[bci][rgi].size())
|
||||
{
|
||||
@ -485,7 +485,7 @@ label nAddedPatches = 0;
|
||||
|
||||
for (int bci=0; bci<nBCs; bci++)
|
||||
{
|
||||
forAll (pFaces[bci], rgi)
|
||||
forAll(pFaces[bci], rgi)
|
||||
{
|
||||
if (pFaces[bci][rgi].size())
|
||||
{
|
||||
@ -510,9 +510,9 @@ for (int bci=0; bci<nBCs; bci++)
|
||||
labelList pointLabels(nPoints, -1);
|
||||
|
||||
// Scan cells for used points
|
||||
forAll (cellShapes, celli)
|
||||
forAll(cellShapes, celli)
|
||||
{
|
||||
forAll (cellShapes[celli], i)
|
||||
forAll(cellShapes[celli], i)
|
||||
{
|
||||
pointLabels[cellShapes[celli][i]] = 1;
|
||||
}
|
||||
@ -520,7 +520,7 @@ forAll (cellShapes, celli)
|
||||
|
||||
// Create addressing for used points and pack points array
|
||||
label newPointi = 0;
|
||||
forAll (pointLabels, pointi)
|
||||
forAll(pointLabels, pointi)
|
||||
{
|
||||
if (pointLabels[pointi] != -1)
|
||||
{
|
||||
@ -531,24 +531,24 @@ forAll (pointLabels, pointi)
|
||||
points.setSize(newPointi);
|
||||
|
||||
// Reset cell point labels
|
||||
forAll (cellShapes, celli)
|
||||
forAll(cellShapes, celli)
|
||||
{
|
||||
cellShape& cs = cellShapes[celli];
|
||||
|
||||
forAll (cs, i)
|
||||
forAll(cs, i)
|
||||
{
|
||||
cs[i] = pointLabels[cs[i]];
|
||||
}
|
||||
}
|
||||
|
||||
// Reset boundary-face point labels
|
||||
forAll (boundary, patchi)
|
||||
forAll(boundary, patchi)
|
||||
{
|
||||
forAll (boundary[patchi], facei)
|
||||
forAll(boundary[patchi], facei)
|
||||
{
|
||||
face& f = boundary[patchi][facei];
|
||||
|
||||
forAll (f, i)
|
||||
forAll(f, i)
|
||||
{
|
||||
f[i] = pointLabels[f[i]];
|
||||
}
|
||||
|
||||
@ -57,7 +57,7 @@ int main(int argc, char *argv[])
|
||||
{
|
||||
argList::noParallel();
|
||||
argList::validArgs.append(".msh file");
|
||||
argList::validOptions.insert("hex", "");
|
||||
argList::addBoolOption("hex");
|
||||
|
||||
# include "setRootCase.H"
|
||||
# include "createTime.H"
|
||||
|
||||
@ -471,7 +471,7 @@ faceList hexBlock::patchFaces(const label direc, const labelList& range) const
|
||||
else if (blockHandedness_ == left)
|
||||
{
|
||||
// turn all faces inside out
|
||||
forAll (result, faceI)
|
||||
forAll(result, faceI)
|
||||
{
|
||||
result[faceI] = result[faceI].reverseFace();
|
||||
}
|
||||
|
||||
@ -58,10 +58,10 @@ int main(int argc, char *argv[])
|
||||
{
|
||||
argList::noParallel();
|
||||
argList::validArgs.append("PLOT3D geom file");
|
||||
argList::validOptions.insert("scale", "scale factor");
|
||||
argList::validOptions.insert("noBlank", "");
|
||||
argList::validOptions.insert("singleBlock", "");
|
||||
argList::validOptions.insert("2D", "thickness");
|
||||
argList::addOption("scale", "scale factor");
|
||||
argList::addBoolOption("noBlank");
|
||||
argList::addBoolOption("singleBlock");
|
||||
argList::addOption("2D", "thickness");
|
||||
|
||||
argList args(argc, argv);
|
||||
|
||||
@ -108,7 +108,7 @@ int main(int argc, char *argv[])
|
||||
{
|
||||
label nx, ny, nz;
|
||||
|
||||
forAll (blocks, blockI)
|
||||
forAll(blocks, blockI)
|
||||
{
|
||||
if (twoDThickness > 0)
|
||||
{
|
||||
@ -132,7 +132,7 @@ int main(int argc, char *argv[])
|
||||
label sumPoints(0);
|
||||
label nMeshCells(0);
|
||||
|
||||
forAll (blocks, blockI)
|
||||
forAll(blocks, blockI)
|
||||
{
|
||||
Info<< "block " << blockI << ":" << nl;
|
||||
blocks[blockI].readPoints(readBlank, twoDThickness, plot3dFile);
|
||||
@ -144,11 +144,11 @@ int main(int argc, char *argv[])
|
||||
pointField points(sumPoints);
|
||||
labelList blockOffsets(blocks.size());
|
||||
sumPoints = 0;
|
||||
forAll (blocks, blockI)
|
||||
forAll(blocks, blockI)
|
||||
{
|
||||
const pointField& blockPoints = blocks[blockI].points();
|
||||
blockOffsets[blockI] = sumPoints;
|
||||
forAll (blockPoints, i)
|
||||
forAll(blockPoints, i)
|
||||
{
|
||||
points[sumPoints++] = blockPoints[i];
|
||||
}
|
||||
@ -186,15 +186,15 @@ int main(int argc, char *argv[])
|
||||
|
||||
label nCreatedCells = 0;
|
||||
|
||||
forAll (blocks, blockI)
|
||||
forAll(blocks, blockI)
|
||||
{
|
||||
labelListList curBlockCells = blocks[blockI].blockCells();
|
||||
|
||||
forAll (curBlockCells, blockCellI)
|
||||
forAll(curBlockCells, blockCellI)
|
||||
{
|
||||
labelList cellPoints(curBlockCells[blockCellI].size());
|
||||
|
||||
forAll (cellPoints, pointI)
|
||||
forAll(cellPoints, pointI)
|
||||
{
|
||||
cellPoints[pointI] =
|
||||
oldToNew
|
||||
|
||||
@ -357,10 +357,10 @@ int main(int argc, char *argv[])
|
||||
timeSelector::addOptions(true, false);
|
||||
|
||||
argList::validArgs.append("feature angle[0-180]");
|
||||
argList::validOptions.insert("splitAllFaces", "");
|
||||
argList::validOptions.insert("concaveMultiCells", "");
|
||||
argList::validOptions.insert("doNotPreserveFaceZones", "");
|
||||
argList::validOptions.insert("overwrite", "");
|
||||
argList::addBoolOption("splitAllFaces");
|
||||
argList::addBoolOption("concaveMultiCells");
|
||||
argList::addBoolOption("doNotPreserveFaceZones");
|
||||
argList::addBoolOption("overwrite");
|
||||
|
||||
# include "setRootCase.H"
|
||||
# include "createTime.H"
|
||||
|
||||
@ -67,14 +67,14 @@ void sammMesh::calcPointCells() const
|
||||
// do not come from the cell shape, but from the slaves of the coupled
|
||||
// match. It is also adventageous to remove the duplicates from the
|
||||
// point-cell addressing, because this removes a lot of waste later.
|
||||
//
|
||||
//
|
||||
|
||||
// For each cell
|
||||
forAll(cellShapes_, cellI)
|
||||
{
|
||||
const faceList& faces = cellFaces_[cellI];
|
||||
|
||||
forAll (faces, i)
|
||||
forAll(faces, i)
|
||||
{
|
||||
// For each vertex
|
||||
const labelList& labels = faces[i];
|
||||
|
||||
@ -45,11 +45,11 @@ bool sammMesh::sammEqualFace
|
||||
// considered equal if three of the vertices are the same.
|
||||
label nEqual = 0;
|
||||
|
||||
forAll (cellFace, cellFaceLabelI)
|
||||
forAll(cellFace, cellFaceLabelI)
|
||||
{
|
||||
const label curCellFaceLabel = cellFace[cellFaceLabelI];
|
||||
|
||||
forAll (boundaryFace, bouFaceLabelI)
|
||||
forAll(boundaryFace, bouFaceLabelI)
|
||||
{
|
||||
if (boundaryFace[bouFaceLabelI] == curCellFaceLabel)
|
||||
{
|
||||
|
||||
@ -42,13 +42,13 @@ void sammMesh::createPolyBoundary()
|
||||
|
||||
const labelListList& PointCells = pointCells();
|
||||
|
||||
forAll (boundary_, patchI)
|
||||
forAll(boundary_, patchI)
|
||||
{
|
||||
const faceList& curShapePatch = boundary_[patchI];
|
||||
|
||||
polyBoundaryPatchStartIndices_[patchI] = nCreatedFaces;
|
||||
|
||||
forAll (curShapePatch, faceI)
|
||||
forAll(curShapePatch, faceI)
|
||||
{
|
||||
bool found = false;
|
||||
|
||||
@ -120,7 +120,7 @@ List<polyPatch* > sammMesh::polyBoundaryPatches(const polyMesh& pMesh)
|
||||
{
|
||||
List<polyPatch* > p(boundary_.size());
|
||||
|
||||
forAll (boundary_, patchI)
|
||||
forAll(boundary_, patchI)
|
||||
{
|
||||
const faceList& curShapePatch = boundary_[patchI];
|
||||
|
||||
|
||||
@ -41,13 +41,13 @@ void sammMesh::createPolyCells()
|
||||
|
||||
label maxFaces = 0;
|
||||
|
||||
forAll (cellPolys_, cellI)
|
||||
forAll(cellPolys_, cellI)
|
||||
{
|
||||
cell& curCell = cellPolys_[cellI];
|
||||
|
||||
curCell.setSize(cellFaces_[cellI].size());
|
||||
|
||||
forAll (curCell, fI)
|
||||
forAll(curCell, fI)
|
||||
{
|
||||
curCell[fI] = -1;
|
||||
}
|
||||
@ -145,7 +145,7 @@ void sammMesh::createPolyCells()
|
||||
label nextNei = -1;
|
||||
label minNei = cellPolys_.size();
|
||||
|
||||
forAll (neiCells, ncI)
|
||||
forAll(neiCells, ncI)
|
||||
{
|
||||
if (neiCells[ncI] > -1 && neiCells[ncI] < minNei)
|
||||
{
|
||||
|
||||
@ -22,12 +22,9 @@ License
|
||||
along with OpenFOAM; if not, write to the Free Software Foundation,
|
||||
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
|
||||
Description
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#include "error.H"
|
||||
|
||||
#include "sammMesh.H"
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
@ -35,7 +35,7 @@ void sammMesh::fixCollapsedEdges()
|
||||
{
|
||||
cellFaces_.setSize(cellShapes_.size());
|
||||
|
||||
forAll (cellShapes_, cellI)
|
||||
forAll(cellShapes_, cellI)
|
||||
{
|
||||
cellFaces_[cellI] = cellShapes_[cellI].faces();
|
||||
}
|
||||
@ -43,23 +43,23 @@ void sammMesh::fixCollapsedEdges()
|
||||
// go through the faces and find if there exist faces with duplicate
|
||||
// vertices. If so, purge the duplicates and mark the mesh as a polyMesh
|
||||
|
||||
forAll (cellFaces_, cellI)
|
||||
forAll(cellFaces_, cellI)
|
||||
{
|
||||
faceList& curFaces = cellFaces_[cellI];
|
||||
|
||||
forAll (curFaces, faceI)
|
||||
forAll(curFaces, faceI)
|
||||
{
|
||||
face& vertexLabels = curFaces[faceI];
|
||||
|
||||
bool duplicatesFound = false;
|
||||
|
||||
forAll (vertexLabels, vI)
|
||||
forAll(vertexLabels, vI)
|
||||
{
|
||||
label curLabel = vertexLabels[vI];
|
||||
|
||||
label nFound = 0;
|
||||
|
||||
forAll (vertexLabels, searchI)
|
||||
forAll(vertexLabels, searchI)
|
||||
{
|
||||
if (vertexLabels[searchI] == curLabel)
|
||||
{
|
||||
@ -84,14 +84,14 @@ void sammMesh::fixCollapsedEdges()
|
||||
// here as the shape is still needed to determine which face
|
||||
// of the shape is used in potential couple matches. This
|
||||
// will be done in the end using the purgeShapes()
|
||||
//
|
||||
//
|
||||
|
||||
// create a new face without duplicates and replace original
|
||||
face newFace(vertexLabels.size());
|
||||
|
||||
label nNewVertices = 0;
|
||||
|
||||
forAll (vertexLabels, vI)
|
||||
forAll(vertexLabels, vI)
|
||||
{
|
||||
// In order for a face to be a valid entity, duplicate
|
||||
// vertices can only be consecutive (othervise, the
|
||||
|
||||
@ -33,18 +33,18 @@ Description
|
||||
|
||||
void sammMesh::purgeCellShapes()
|
||||
{
|
||||
forAll (cellFaces_, cellI)
|
||||
forAll(cellFaces_, cellI)
|
||||
{
|
||||
const faceList& curFaces = cellFaces_[cellI];
|
||||
|
||||
// Get model faces
|
||||
faceList shapeFaces = cellShapes_[cellI].faces();
|
||||
|
||||
forAll (shapeFaces, faceI)
|
||||
forAll(shapeFaces, faceI)
|
||||
{
|
||||
bool found = false;
|
||||
|
||||
forAll (curFaces, i)
|
||||
forAll(curFaces, i)
|
||||
{
|
||||
if (shapeFaces[faceI] == curFaces[i])
|
||||
{
|
||||
|
||||
@ -188,7 +188,7 @@ void sammMesh::readBoundary()
|
||||
boundary_[patchLabel][nPatchFaces[patchLabel]]
|
||||
= face(pointLabels);
|
||||
}
|
||||
|
||||
|
||||
// increment counter of faces in current patch
|
||||
nPatchFaces[patchLabel]++;
|
||||
}
|
||||
|
||||
@ -163,7 +163,7 @@ void sammMesh::addSAMMcell
|
||||
// make a list of labels
|
||||
labelList sammCellLabels(curModel.nPoints(), -1);
|
||||
|
||||
forAll (sammCellLabels, labelI)
|
||||
forAll(sammCellLabels, labelI)
|
||||
{
|
||||
sammCellLabels[labelI] = globalLabels[addressing[labelI]];
|
||||
}
|
||||
@ -221,7 +221,7 @@ void sammMesh::readCells()
|
||||
starCellLabelLookup_.setSize(maxLabel+1);
|
||||
|
||||
// reset point labels to invalid value
|
||||
forAll (starCellLabelLookup_, i)
|
||||
forAll(starCellLabelLookup_, i)
|
||||
{
|
||||
starCellLabelLookup_[i] = -1;
|
||||
}
|
||||
|
||||
@ -128,13 +128,13 @@ void sammMesh::readCouples()
|
||||
}
|
||||
|
||||
// Once all couples are read, remove zero size faces from all cells
|
||||
forAll (cellFaces_, cellI)
|
||||
forAll(cellFaces_, cellI)
|
||||
{
|
||||
faceList& curFaces = cellFaces_[cellI];
|
||||
|
||||
label zeroSizeFound = 0;
|
||||
|
||||
forAll (curFaces, faceI)
|
||||
forAll(curFaces, faceI)
|
||||
{
|
||||
if (curFaces[faceI].empty())
|
||||
{
|
||||
@ -151,7 +151,7 @@ void sammMesh::readCouples()
|
||||
|
||||
label nFaces = 0;
|
||||
|
||||
forAll (oldFaces, faceI)
|
||||
forAll(oldFaces, faceI)
|
||||
{
|
||||
if (oldFaces[faceI].size())
|
||||
{
|
||||
|
||||
@ -116,11 +116,11 @@ void sammMesh::createPolyMeshData()
|
||||
label nProblemCells = 0;
|
||||
|
||||
// check that there is no zeros in the cellPolys_
|
||||
forAll (cellPolys_, cellI)
|
||||
forAll(cellPolys_, cellI)
|
||||
{
|
||||
const labelList& curFaceLabels = cellPolys_[cellI];
|
||||
|
||||
forAll (curFaceLabels, faceI)
|
||||
forAll(curFaceLabels, faceI)
|
||||
{
|
||||
if (curFaceLabels[faceI] == -1)
|
||||
{
|
||||
|
||||
@ -41,7 +41,7 @@ int main(int argc, char *argv[])
|
||||
{
|
||||
argList::noParallel();
|
||||
argList::validArgs.append("SAMM mesh file prefix");
|
||||
argList::validOptions.insert("scale", "scale factor");
|
||||
argList::addOption("scale", "scale factor");
|
||||
|
||||
argList args(argc, argv);
|
||||
|
||||
@ -50,8 +50,7 @@ int main(int argc, char *argv[])
|
||||
FatalError.exit();
|
||||
}
|
||||
|
||||
scalar scaleFactor = 1.0;
|
||||
args.optionReadIfPresent("scale", scaleFactor);
|
||||
scalar scaleFactor = args.optionLookupOrDefault("scale", 1.0);
|
||||
|
||||
# include "createTime.H"
|
||||
|
||||
|
||||
@ -62,28 +62,35 @@ int main(int argc, char *argv[])
|
||||
{
|
||||
argList::noParallel();
|
||||
argList::validArgs.append("pro-STAR prefix");
|
||||
argList::validOptions.insert("ascii", "");
|
||||
argList::validOptions.insert("scale", "scale");
|
||||
argList::validOptions.insert("solids", "");
|
||||
argList::addBoolOption
|
||||
(
|
||||
"ascii",
|
||||
"write in ASCII instead of binary format"
|
||||
);
|
||||
argList::addOption
|
||||
(
|
||||
"scale",
|
||||
"scale",
|
||||
"geometry scaling factor - default is 0.001 ([mm] to [m])"
|
||||
);
|
||||
argList::addBoolOption
|
||||
(
|
||||
"solids",
|
||||
"retain solid cells and treat them like fluid cells"
|
||||
);
|
||||
|
||||
argList args(argc, argv);
|
||||
Time runTime(args.rootPath(), args.caseName());
|
||||
const stringList& params = args.additionalArgs();
|
||||
|
||||
// default rescale from [mm] to [m]
|
||||
scalar scaleFactor = 0.001;
|
||||
if (args.optionReadIfPresent("scale", scaleFactor))
|
||||
scalar scaleFactor = args.optionLookupOrDefault("scale", 0.001);
|
||||
if (scaleFactor <= 0)
|
||||
{
|
||||
if (scaleFactor <= 0)
|
||||
{
|
||||
scaleFactor = 1;
|
||||
}
|
||||
scaleFactor = 1;
|
||||
}
|
||||
|
||||
if (args.optionFound("solids"))
|
||||
{
|
||||
meshReaders::STARCD::keepSolids = true;
|
||||
}
|
||||
meshReaders::STARCD::keepSolids = args.optionFound("solids");
|
||||
|
||||
// default to binary output, unless otherwise specified
|
||||
IOstream::streamFormat format = IOstream::BINARY;
|
||||
|
||||
@ -67,14 +67,14 @@ void starMesh::calcPointCells() const
|
||||
// do not come from the cell shape, but from the slaves of the coupled
|
||||
// match. It is also adventageous to remove the duplicates from the
|
||||
// point-cell addressing, because this removes a lot of waste later.
|
||||
//
|
||||
//
|
||||
|
||||
// For each cell
|
||||
forAll(cellShapes_, cellI)
|
||||
{
|
||||
const faceList& faces = cellFaces_[cellI];
|
||||
|
||||
forAll (faces, i)
|
||||
forAll(faces, i)
|
||||
{
|
||||
// For each vertex
|
||||
const labelList& labels = faces[i];
|
||||
|
||||
@ -47,11 +47,11 @@ bool starMesh::starEqualFace
|
||||
|
||||
label nEqual = 0;
|
||||
|
||||
forAll (cellFace, cellFaceLabelI)
|
||||
forAll(cellFace, cellFaceLabelI)
|
||||
{
|
||||
const label curCellFaceLabel = cellFace[cellFaceLabelI];
|
||||
|
||||
forAll (boundaryFace, bouFaceLabelI)
|
||||
forAll(boundaryFace, bouFaceLabelI)
|
||||
{
|
||||
if (boundaryFace[bouFaceLabelI] == curCellFaceLabel)
|
||||
{
|
||||
@ -70,13 +70,13 @@ bool starMesh::starEqualFace
|
||||
// Boundary face is happy if all of its vertices are recognised
|
||||
bool boundaryFaceHappy = true;
|
||||
|
||||
forAll (boundaryFace, bouFaceLabelI)
|
||||
forAll(boundaryFace, bouFaceLabelI)
|
||||
{
|
||||
const label curBouFaceLabel = boundaryFace[bouFaceLabelI];
|
||||
|
||||
bool found = false;
|
||||
|
||||
forAll (cellFace, cellFaceLabelI)
|
||||
forAll(cellFace, cellFaceLabelI)
|
||||
{
|
||||
if (curBouFaceLabel == cellFace[cellFaceLabelI])
|
||||
{
|
||||
@ -155,7 +155,7 @@ void starMesh::markBoundaryFaces()
|
||||
<< " Face : " << endl << curFace << endl
|
||||
<< "PROSTAR Command: vset,news,vlis";
|
||||
|
||||
forAll (curFace, spI)
|
||||
forAll(curFace, spI)
|
||||
{
|
||||
if (curFace[spI] > -1 && curFace[spI] < starPointID_.size())
|
||||
{
|
||||
@ -185,7 +185,7 @@ void starMesh::collectBoundaryFaces()
|
||||
const labelList& curBoundaryCellIDs = boundaryCellIDs_[patchI];
|
||||
const labelList& curBoundaryCellFaceIDs = boundaryCellFaceIDs_[patchI];
|
||||
|
||||
forAll (curBoundaryCellIDs, faceI)
|
||||
forAll(curBoundaryCellIDs, faceI)
|
||||
{
|
||||
patchFaces[faceI] =
|
||||
cellFaces_[curBoundaryCellIDs[faceI]]
|
||||
|
||||
@ -63,7 +63,7 @@ void starMesh::createCoupleMatches()
|
||||
|
||||
const label infoJump = max(1000, couples_.size()/20);
|
||||
|
||||
forAll (couples_, coupleI)
|
||||
forAll(couples_, coupleI)
|
||||
{
|
||||
if (coupleI % infoJump == 0)
|
||||
{
|
||||
@ -168,7 +168,7 @@ void starMesh::createCoupleMatches()
|
||||
|
||||
// Loop through all edges of the master face. For every edge,
|
||||
// intersect it with all edges of the cutting face.
|
||||
forAll (masterEdges, masterEdgeI)
|
||||
forAll(masterEdges, masterEdgeI)
|
||||
{
|
||||
const edge& curMasterEdge = masterEdges[masterEdgeI];
|
||||
|
||||
@ -186,7 +186,7 @@ void starMesh::createCoupleMatches()
|
||||
// go through all slave edges and try to get an intersection.
|
||||
// The point is created along the original master edge rather
|
||||
// than its corrected direction.
|
||||
forAll (slaveEdges, slaveEdgeI)
|
||||
forAll(slaveEdges, slaveEdgeI)
|
||||
{
|
||||
const edge& curSlaveEdge = slaveEdges[slaveEdgeI];
|
||||
|
||||
@ -464,7 +464,7 @@ void starMesh::createCoupleMatches()
|
||||
|
||||
# ifdef DEBUG_COUPLE_INTERSECTION
|
||||
Info<< "additional slave edge points: " << endl;
|
||||
forAll (slaveEdgePoints, edgeI)
|
||||
forAll(slaveEdgePoints, edgeI)
|
||||
{
|
||||
Info<< "edge: " << edgeI << ": " << slaveEdgePoints[edgeI]
|
||||
<< endl;
|
||||
@ -498,7 +498,7 @@ void starMesh::createCoupleMatches()
|
||||
// count the number of additional points for face
|
||||
label nAdditionalMasterPoints = 0;
|
||||
|
||||
forAll (masterEdgePoints, edgeI)
|
||||
forAll(masterEdgePoints, edgeI)
|
||||
{
|
||||
nAdditionalMasterPoints += masterEdgePoints[edgeI].size();
|
||||
}
|
||||
@ -516,7 +516,7 @@ void starMesh::createCoupleMatches()
|
||||
<< endl;
|
||||
# endif
|
||||
|
||||
forAll (masterEdges, masterEdgeI)
|
||||
forAll(masterEdges, masterEdgeI)
|
||||
{
|
||||
// Insert the starting point of the edge
|
||||
tmpMasterFace[nTmpMasterLabels] =
|
||||
@ -637,7 +637,7 @@ void starMesh::createCoupleMatches()
|
||||
scalar masterTol =
|
||||
cpMergePointTol_*boundBox(tmpMasterFace.points(points_)).mag();
|
||||
|
||||
forAll (mstEdgesToCollapse, edgeI)
|
||||
forAll(mstEdgesToCollapse, edgeI)
|
||||
{
|
||||
# ifdef DEBUG_FACE_ORDERING
|
||||
Info<< "edgeI: " << edgeI << " curEdge: "
|
||||
@ -693,7 +693,7 @@ void starMesh::createCoupleMatches()
|
||||
// count the number of additional points for face
|
||||
label nAdditionalSlavePoints = 0;
|
||||
|
||||
forAll (slaveEdgePoints, edgeI)
|
||||
forAll(slaveEdgePoints, edgeI)
|
||||
{
|
||||
nAdditionalSlavePoints += slaveEdgePoints[edgeI].size();
|
||||
}
|
||||
@ -710,7 +710,7 @@ void starMesh::createCoupleMatches()
|
||||
<< "nAdditionalSlavePoints: " << nAdditionalSlavePoints << endl;
|
||||
# endif
|
||||
|
||||
forAll (slaveEdges, slaveEdgeI)
|
||||
forAll(slaveEdges, slaveEdgeI)
|
||||
{
|
||||
// Insert the starting point of the edge
|
||||
tmpSlaveFace[nTmpSlaveLabels] =
|
||||
@ -894,7 +894,7 @@ void starMesh::createCoupleMatches()
|
||||
|
||||
vector masterProjDir = -newMasterFace.normal(points_);
|
||||
|
||||
forAll (newSlaveEdges, edgeI)
|
||||
forAll(newSlaveEdges, edgeI)
|
||||
{
|
||||
// Take the slave edge points and project into the master.
|
||||
// In order to create a good intersection, move the
|
||||
@ -937,7 +937,7 @@ void starMesh::createCoupleMatches()
|
||||
{
|
||||
vector slaveProjDir = -newSlaveFace.normal(points_);
|
||||
|
||||
forAll (newMasterEdges, edgeI)
|
||||
forAll(newMasterEdges, edgeI)
|
||||
{
|
||||
// Take the edge master points and project into the slave.
|
||||
// In order to create a good intersection, move the
|
||||
@ -1053,7 +1053,7 @@ void starMesh::createCoupleMatches()
|
||||
SLList<edge> edgesToConsider;
|
||||
|
||||
// collect master edges
|
||||
forAll (newMasterEdges, edgeI)
|
||||
forAll(newMasterEdges, edgeI)
|
||||
{
|
||||
const edge& cme = newMasterEdges[edgeI];
|
||||
|
||||
@ -1072,7 +1072,7 @@ void starMesh::createCoupleMatches()
|
||||
}
|
||||
|
||||
// collect slave edges
|
||||
forAll (newSlaveEdges, edgeI)
|
||||
forAll(newSlaveEdges, edgeI)
|
||||
{
|
||||
const edge& cse = newSlaveEdges[edgeI];
|
||||
|
||||
@ -1260,7 +1260,7 @@ void starMesh::createCoupleMatches()
|
||||
# endif
|
||||
|
||||
// check the intersection face for duplicate points
|
||||
forAll (intersectedFace, checkI)
|
||||
forAll(intersectedFace, checkI)
|
||||
{
|
||||
for
|
||||
(
|
||||
@ -1312,7 +1312,7 @@ void starMesh::createCoupleMatches()
|
||||
// onto the master face to ensure closedness
|
||||
vector pointProjectionNormal = -masterFace.normal(points_);
|
||||
|
||||
forAll (intersectedFace, intPointI)
|
||||
forAll(intersectedFace, intPointI)
|
||||
{
|
||||
# ifdef DEBUG_COUPLE_PROJECTION
|
||||
Info<< "Proj: old point: "
|
||||
@ -1424,7 +1424,7 @@ void starMesh::createCoupleMatches()
|
||||
// Loop through all cells and reset faces for removal to zero size
|
||||
const labelList crfToc = cellRemovedFaces.toc();
|
||||
|
||||
forAll (crfToc, cellI)
|
||||
forAll(crfToc, cellI)
|
||||
{
|
||||
const label curCell = crfToc[cellI];
|
||||
|
||||
@ -1451,7 +1451,7 @@ void starMesh::createCoupleMatches()
|
||||
const labelList cafToc = cellAddedFaces.toc();
|
||||
|
||||
// Insert the new faces into the list
|
||||
forAll (cafToc, cellI)
|
||||
forAll(cafToc, cellI)
|
||||
{
|
||||
const label curCell = cafToc[cellI];
|
||||
|
||||
@ -1465,7 +1465,7 @@ void starMesh::createCoupleMatches()
|
||||
label nNewFaces = 0;
|
||||
|
||||
// copy original faces that have not been removed
|
||||
forAll (oldFaces, faceI)
|
||||
forAll(oldFaces, faceI)
|
||||
{
|
||||
if (oldFaces[faceI].size())
|
||||
{
|
||||
|
||||
@ -42,13 +42,13 @@ void starMesh::createPolyBoundary()
|
||||
|
||||
const labelListList& PointCells = pointCells();
|
||||
|
||||
forAll (boundary_, patchI)
|
||||
forAll(boundary_, patchI)
|
||||
{
|
||||
const faceList& curShapePatch = boundary_[patchI];
|
||||
|
||||
polyBoundaryPatchStartIndices_[patchI] = nCreatedFaces;
|
||||
|
||||
forAll (curShapePatch, faceI)
|
||||
forAll(curShapePatch, faceI)
|
||||
{
|
||||
bool found = false;
|
||||
|
||||
@ -100,7 +100,7 @@ void starMesh::createPolyBoundary()
|
||||
<< endl;
|
||||
|
||||
Info<< "PROSTAR Command: vset,news,vlis";
|
||||
forAll (curCellFaces[cellFaceI], spI)
|
||||
forAll(curCellFaces[cellFaceI], spI)
|
||||
{
|
||||
// check if the point is given by STAR
|
||||
// or created locally
|
||||
@ -136,7 +136,7 @@ void starMesh::createPolyBoundary()
|
||||
<< endl;
|
||||
|
||||
Info<< "PROSTAR Command: vset,news,vlis";
|
||||
forAll (curCellFaces[cellFaceI], spI)
|
||||
forAll(curCellFaces[cellFaceI], spI)
|
||||
{
|
||||
// check if the point is given by STAR
|
||||
// or created locally
|
||||
@ -181,11 +181,11 @@ void starMesh::createPolyBoundary()
|
||||
// check all cellPolys_ to see if there are any missing faces
|
||||
label nMissingFaceFound = 0;
|
||||
|
||||
forAll (cellPolys_, cellI)
|
||||
forAll(cellPolys_, cellI)
|
||||
{
|
||||
const labelList& curFaces = cellPolys_[cellI];
|
||||
|
||||
forAll (curFaces, faceI)
|
||||
forAll(curFaces, faceI)
|
||||
{
|
||||
if (curFaces[faceI] < 0)
|
||||
{
|
||||
@ -200,7 +200,7 @@ void starMesh::createPolyBoundary()
|
||||
nMissingFaceFound++;
|
||||
|
||||
Info<< "PROSTAR Command: vset,news,vlis";
|
||||
forAll (missingFace, spI)
|
||||
forAll(missingFace, spI)
|
||||
{
|
||||
// check if the point is given by STAR or created locally
|
||||
if
|
||||
@ -233,11 +233,11 @@ void starMesh::createPolyBoundary()
|
||||
// (faces addressed once or more than twice)
|
||||
labelList markupFaces(meshFaces_.size(), 0);
|
||||
|
||||
forAll (cellPolys_, cellI)
|
||||
forAll(cellPolys_, cellI)
|
||||
{
|
||||
const labelList& curFaces = cellPolys_[cellI];
|
||||
|
||||
forAll (curFaces, faceI)
|
||||
forAll(curFaces, faceI)
|
||||
{
|
||||
markupFaces[curFaces[faceI]]++;
|
||||
}
|
||||
@ -250,7 +250,7 @@ void starMesh::createPolyBoundary()
|
||||
|
||||
label nProblemFacesFound = 0;
|
||||
|
||||
forAll (markupFaces, faceI)
|
||||
forAll(markupFaces, faceI)
|
||||
{
|
||||
if (markupFaces[faceI] != 2)
|
||||
{
|
||||
@ -264,7 +264,7 @@ void starMesh::createPolyBoundary()
|
||||
nProblemFacesFound++;
|
||||
|
||||
Info<< "PROSTAR Command: vset,news,vlis";
|
||||
forAll (problemFace, spI)
|
||||
forAll(problemFace, spI)
|
||||
{
|
||||
// check if the point is given by STAR or created locally
|
||||
if
|
||||
@ -299,7 +299,7 @@ List<polyPatch*> starMesh::polyBoundaryPatches(const polyMesh& pMesh)
|
||||
{
|
||||
List<polyPatch*> p(boundary_.size());
|
||||
|
||||
forAll (boundary_, patchI)
|
||||
forAll(boundary_, patchI)
|
||||
{
|
||||
p[patchI] = polyPatch::New
|
||||
(
|
||||
|
||||
@ -41,13 +41,13 @@ void starMesh::createPolyCells()
|
||||
|
||||
label maxFaces = 0;
|
||||
|
||||
forAll (cellPolys_, cellI)
|
||||
forAll(cellPolys_, cellI)
|
||||
{
|
||||
cell& curCell = cellPolys_[cellI];
|
||||
|
||||
curCell.setSize(cellFaces_[cellI].size());
|
||||
|
||||
forAll (curCell, fI)
|
||||
forAll(curCell, fI)
|
||||
{
|
||||
curCell[fI] = -1;
|
||||
}
|
||||
@ -145,7 +145,7 @@ void starMesh::createPolyCells()
|
||||
label nextNei = -1;
|
||||
label minNei = cellPolys_.size();
|
||||
|
||||
forAll (neiCells, ncI)
|
||||
forAll(neiCells, ncI)
|
||||
{
|
||||
if (neiCells[ncI] > -1 && neiCells[ncI] < minNei)
|
||||
{
|
||||
|
||||
@ -35,7 +35,7 @@ void starMesh::fixCollapsedEdges()
|
||||
{
|
||||
cellFaces_.setSize(cellShapes_.size());
|
||||
|
||||
forAll (cellShapes_, cellI)
|
||||
forAll(cellShapes_, cellI)
|
||||
{
|
||||
cellFaces_[cellI] = cellShapes_[cellI].faces();
|
||||
}
|
||||
@ -43,23 +43,23 @@ void starMesh::fixCollapsedEdges()
|
||||
// go through the faces and find if there exist faces with duplicate
|
||||
// vertices. If so, purge the duplicates and mark the mesh as a polyMesh
|
||||
|
||||
forAll (cellFaces_, cellI)
|
||||
forAll(cellFaces_, cellI)
|
||||
{
|
||||
faceList& curFaces = cellFaces_[cellI];
|
||||
|
||||
forAll (curFaces, faceI)
|
||||
forAll(curFaces, faceI)
|
||||
{
|
||||
face& vertexLabels = curFaces[faceI];
|
||||
|
||||
bool duplicatesFound = false;
|
||||
|
||||
forAll (vertexLabels, vI)
|
||||
forAll(vertexLabels, vI)
|
||||
{
|
||||
label curLabel = vertexLabels[vI];
|
||||
|
||||
label nFound = 0;
|
||||
|
||||
forAll (vertexLabels, searchI)
|
||||
forAll(vertexLabels, searchI)
|
||||
{
|
||||
if (vertexLabels[searchI] == curLabel)
|
||||
{
|
||||
@ -84,13 +84,13 @@ void starMesh::fixCollapsedEdges()
|
||||
// here as the shape is still needed to determine which face
|
||||
// of the shape is used in potential couple matches. This
|
||||
// will be done in the end using the purgeShapes()
|
||||
//
|
||||
//
|
||||
|
||||
// create a new face without duplicates and replace original
|
||||
face newFace(vertexLabels.size());
|
||||
label nNewVertices = 0;
|
||||
|
||||
forAll (vertexLabels, vI)
|
||||
forAll(vertexLabels, vI)
|
||||
{
|
||||
// In order for a face to be a valid entity, duplicate
|
||||
// vertices can only be consecutive (othervise, the
|
||||
|
||||
@ -63,7 +63,7 @@ void starMesh::mergeCoupleFacePoints()
|
||||
|
||||
label nMergeSets = 0;
|
||||
|
||||
forAll (cellFaces_, cellI)
|
||||
forAll(cellFaces_, cellI)
|
||||
{
|
||||
const faceList& curFaces = cellFaces_[cellI];
|
||||
|
||||
@ -74,13 +74,13 @@ void starMesh::mergeCoupleFacePoints()
|
||||
|
||||
scalar pointMergeTol = GREAT;
|
||||
|
||||
forAll (curFaces, faceI)
|
||||
forAll(curFaces, faceI)
|
||||
{
|
||||
nPointsInCell += curFaces[faceI].size();
|
||||
|
||||
edgeList curEdges = curFaces[faceI].edges();
|
||||
|
||||
forAll (curEdges, edgeI)
|
||||
forAll(curEdges, edgeI)
|
||||
{
|
||||
scalar length = curEdges[edgeI].mag(points_);
|
||||
|
||||
@ -98,11 +98,11 @@ void starMesh::mergeCoupleFacePoints()
|
||||
labelList cellPoints(nPointsInCell);
|
||||
label nAddedPoints = 0;
|
||||
|
||||
forAll (curFaces, faceI)
|
||||
forAll(curFaces, faceI)
|
||||
{
|
||||
const face& f = curFaces[faceI];
|
||||
|
||||
forAll (f, fI)
|
||||
forAll(f, fI)
|
||||
{
|
||||
cellPoints[nAddedPoints] = f[fI];
|
||||
nAddedPoints++;
|
||||
@ -210,7 +210,7 @@ void starMesh::mergeCoupleFacePoints()
|
||||
<< minMerge << " and " << maxMerge << endl;
|
||||
# endif
|
||||
|
||||
forAll (renumberPoints, elimI)
|
||||
forAll(renumberPoints, elimI)
|
||||
{
|
||||
if (renumberPoints[elimI] == maxMerge)
|
||||
{
|
||||
@ -235,7 +235,7 @@ void starMesh::mergeCoupleFacePoints()
|
||||
|
||||
// Insert the primary point renumbering into the list
|
||||
// Take care of possibly unused points in the list
|
||||
forAll (renumberPoints, pointI)
|
||||
forAll(renumberPoints, pointI)
|
||||
{
|
||||
if (renumberPoints[pointI] < 0)
|
||||
{
|
||||
@ -253,17 +253,17 @@ void starMesh::mergeCoupleFacePoints()
|
||||
// renumbering of all faces. This will only be used to see which
|
||||
// points are still used!
|
||||
|
||||
forAll (cellFaces_, cellI)
|
||||
forAll(cellFaces_, cellI)
|
||||
{
|
||||
faceList& prelimFaces = cellFaces_[cellI];
|
||||
|
||||
forAll (prelimFaces, faceI)
|
||||
forAll(prelimFaces, faceI)
|
||||
{
|
||||
face oldFacePoints = prelimFaces[faceI];
|
||||
|
||||
face& prelimFacePoints = prelimFaces[faceI];
|
||||
|
||||
forAll (prelimFacePoints, pointI)
|
||||
forAll(prelimFacePoints, pointI)
|
||||
{
|
||||
if (renumberPoints[oldFacePoints[pointI]] < 0)
|
||||
{
|
||||
@ -284,26 +284,26 @@ void starMesh::mergeCoupleFacePoints()
|
||||
// re-create the point list and renumber the whole lot
|
||||
renumberPoints = 0;
|
||||
|
||||
forAll (cellFaces_, cellI)
|
||||
forAll(cellFaces_, cellI)
|
||||
{
|
||||
const faceList& curFaces = cellFaces_[cellI];
|
||||
|
||||
forAll (curFaces, faceI)
|
||||
forAll(curFaces, faceI)
|
||||
{
|
||||
const face& curFacePoints = curFaces[faceI];
|
||||
|
||||
forAll (curFacePoints, pointI)
|
||||
forAll(curFacePoints, pointI)
|
||||
{
|
||||
renumberPoints[curFacePoints[pointI]]++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
forAll (cellShapes_, cellI)
|
||||
forAll(cellShapes_, cellI)
|
||||
{
|
||||
const labelList& curLabels = cellShapes_[cellI];
|
||||
|
||||
forAll (curLabels, pointI)
|
||||
forAll(curLabels, pointI)
|
||||
{
|
||||
if (renumberPoints[curLabels[pointI]] == 0)
|
||||
{
|
||||
@ -320,7 +320,7 @@ void starMesh::mergeCoupleFacePoints()
|
||||
|
||||
label nUsedPoints = 0;
|
||||
|
||||
forAll (renumberPoints, pointI)
|
||||
forAll(renumberPoints, pointI)
|
||||
{
|
||||
if (renumberPoints[pointI] > 0)
|
||||
{
|
||||
@ -347,17 +347,17 @@ void starMesh::mergeCoupleFacePoints()
|
||||
|
||||
Info<< "Renumbering all faces" << endl;
|
||||
|
||||
forAll (cellFaces_, cellI)
|
||||
forAll(cellFaces_, cellI)
|
||||
{
|
||||
faceList& newFaces = cellFaces_[cellI];
|
||||
|
||||
forAll (newFaces, faceI)
|
||||
forAll(newFaces, faceI)
|
||||
{
|
||||
face oldFacePoints = newFaces[faceI];
|
||||
|
||||
face& newFacePoints = newFaces[faceI];
|
||||
|
||||
forAll (newFacePoints, pointI)
|
||||
forAll(newFacePoints, pointI)
|
||||
{
|
||||
if (renumberPoints[oldFacePoints[pointI]] < 0)
|
||||
{
|
||||
@ -376,13 +376,13 @@ void starMesh::mergeCoupleFacePoints()
|
||||
|
||||
Info<< "Renumbering all cell shapes" << endl;
|
||||
|
||||
forAll (cellShapes_, cellI)
|
||||
forAll(cellShapes_, cellI)
|
||||
{
|
||||
labelList oldLabels = cellShapes_[cellI];
|
||||
|
||||
labelList& curLabels = cellShapes_[cellI];
|
||||
|
||||
forAll (curLabels, pointI)
|
||||
forAll(curLabels, pointI)
|
||||
{
|
||||
if (renumberPoints[curLabels[pointI]] < 0)
|
||||
{
|
||||
@ -408,7 +408,7 @@ void starMesh::mergeCoupleFacePoints()
|
||||
|
||||
starPointID_ = -1;
|
||||
|
||||
forAll (starPointID_, pointI)
|
||||
forAll(starPointID_, pointI)
|
||||
{
|
||||
if (renumberPoints[pointI] > -1)
|
||||
{
|
||||
|
||||
@ -33,18 +33,18 @@ Description
|
||||
|
||||
void starMesh::purgeCellShapes()
|
||||
{
|
||||
forAll (cellFaces_, cellI)
|
||||
forAll(cellFaces_, cellI)
|
||||
{
|
||||
const faceList& curFaces = cellFaces_[cellI];
|
||||
|
||||
// Get model faces
|
||||
faceList shapeFaces = cellShapes_[cellI].faces();
|
||||
|
||||
forAll (shapeFaces, faceI)
|
||||
forAll(shapeFaces, faceI)
|
||||
{
|
||||
bool found = false;
|
||||
|
||||
forAll (curFaces, i)
|
||||
forAll(curFaces, i)
|
||||
{
|
||||
if (shapeFaces[faceI] == curFaces[i])
|
||||
{
|
||||
|
||||
@ -186,7 +186,7 @@ void starMesh::readBoundary()
|
||||
boundary_[patchLabel][nPatchFaces[patchLabel]]
|
||||
= face(pointLabels);
|
||||
}
|
||||
|
||||
|
||||
// increment counter of faces in current patch
|
||||
nPatchFaces[patchLabel]++;
|
||||
}
|
||||
|
||||
@ -108,7 +108,7 @@ void starMesh::addRegularCell
|
||||
// get reference to the addressing list
|
||||
const label* addressing = regularAddressingTable[regularTypeFlag];
|
||||
|
||||
forAll (regularCellLabels, labelI)
|
||||
forAll(regularCellLabels, labelI)
|
||||
{
|
||||
regularCellLabels[labelI] = labels[addressing[labelI]];
|
||||
}
|
||||
@ -125,7 +125,7 @@ void starMesh::addSAMMcell
|
||||
{
|
||||
// get type, reg and permutation flag
|
||||
label typeFlag = labels[21];
|
||||
// label regularityFlag = labels[22]; // Not used.
|
||||
// label regularityFlag = labels[22]; // Not used.
|
||||
label permutationFlag = labels[23];
|
||||
|
||||
// grab the shape from the table
|
||||
@ -194,7 +194,7 @@ void starMesh::addSAMMcell
|
||||
// get reference to the addressing list
|
||||
const label* addressing = sammAddressingTable[sammTypeFlag];
|
||||
|
||||
forAll (sammCellLabels, labelI)
|
||||
forAll(sammCellLabels, labelI)
|
||||
{
|
||||
sammCellLabels[labelI] = labels[addressing[labelI]];
|
||||
}
|
||||
@ -239,7 +239,7 @@ void starMesh::readCells()
|
||||
}
|
||||
|
||||
// backward compatibility: number of trailing rubbish in
|
||||
// STAR is unknown.
|
||||
// STAR is unknown.
|
||||
// Fixed to cope with missing \n on last line.
|
||||
readToNl(cellsFile);
|
||||
}
|
||||
@ -259,15 +259,15 @@ void starMesh::readCells()
|
||||
starCellPermutation_.setSize(nCells);
|
||||
|
||||
// reset permutation to invalid value
|
||||
forAll (starCellPermutation_, i)
|
||||
forAll(starCellPermutation_, i)
|
||||
{
|
||||
starCellPermutation_[i] = -1;
|
||||
}
|
||||
|
||||
starCellLabelLookup_.setSize(maxLabel+1);
|
||||
|
||||
|
||||
// reset point labels to invalid value
|
||||
forAll (starCellLabelLookup_, i)
|
||||
forAll(starCellLabelLookup_, i)
|
||||
{
|
||||
starCellLabelLookup_[i] = -1;
|
||||
}
|
||||
@ -285,8 +285,8 @@ void starMesh::readCells()
|
||||
|
||||
label addOnToCell = 0;
|
||||
|
||||
// reset the labels to -1. Debugging.
|
||||
forAll (labels, i)
|
||||
// reset the labels to -1. Debugging.
|
||||
forAll(labels, i)
|
||||
{
|
||||
labels[i] = -1;
|
||||
}
|
||||
@ -342,7 +342,7 @@ void starMesh::readCells()
|
||||
}
|
||||
|
||||
// backward compatibility: number of trailing rubbish in
|
||||
// STAR is unknown.
|
||||
// STAR is unknown.
|
||||
readToNl(cellsFile);
|
||||
|
||||
addOnToCell--;
|
||||
@ -367,13 +367,13 @@ void starMesh::readCells()
|
||||
// check cell labels
|
||||
const labelList& curShapeLabels = cellShapes_[cellI];
|
||||
|
||||
forAll (curShapeLabels, i)
|
||||
forAll(curShapeLabels, i)
|
||||
{
|
||||
if (curShapeLabels[i] < 0)
|
||||
{
|
||||
FatalErrorIn("starMesh::readCells()")
|
||||
<< "Invalid vertex found in cell " << cellI
|
||||
<< ". STAR cell no: " << lineLabel
|
||||
<< ". STAR cell no: " << lineLabel
|
||||
<< " labels: " << curShapeLabels
|
||||
<< abort(FatalError);
|
||||
}
|
||||
|
||||
@ -95,7 +95,7 @@ void starMesh::readPoints(const scalar scaleFactor)
|
||||
pointLabel = readVtxLabel(pointsFile);
|
||||
|
||||
if (!pointsFile) break;
|
||||
|
||||
|
||||
maxLabel = max(maxLabel, pointLabel);
|
||||
|
||||
x = readVtxCmpt(pointsFile);
|
||||
|
||||
@ -41,7 +41,7 @@ int main(int argc, char *argv[])
|
||||
{
|
||||
argList::noParallel();
|
||||
argList::validArgs.append("STAR mesh file prefix");
|
||||
argList::validOptions.insert("scale", "scale factor");
|
||||
argList::addOption("scale", "scale factor");
|
||||
|
||||
argList args(argc, argv);
|
||||
|
||||
@ -50,8 +50,7 @@ int main(int argc, char *argv[])
|
||||
FatalError.exit();
|
||||
}
|
||||
|
||||
scalar scaleFactor = 1.0;
|
||||
args.optionReadIfPresent("scale", scaleFactor);
|
||||
scalar scaleFactor = args.optionLookupOrDefault("scale", 1.0);
|
||||
|
||||
# include "createTime.H"
|
||||
|
||||
|
||||
@ -30,33 +30,34 @@ Description
|
||||
and run tetgen with -f option.
|
||||
|
||||
Sample smesh file:
|
||||
|
||||
@verbatim
|
||||
# cube.smesh -- A 10x10x10 cube
|
||||
8 3
|
||||
1 0 0 0
|
||||
2 0 10 0
|
||||
3 10 10 0
|
||||
4 10 0 0
|
||||
5 0 0 10
|
||||
6 0 10 10
|
||||
7 10 10 10
|
||||
8 10 0 10
|
||||
1 0 0 0
|
||||
2 0 10 0
|
||||
3 10 10 0
|
||||
4 10 0 0
|
||||
5 0 0 10
|
||||
6 0 10 10
|
||||
7 10 10 10
|
||||
8 10 0 10
|
||||
6 1 # 1 for boundary info present
|
||||
4 1 2 3 4 11 # region number 11
|
||||
4 5 6 7 8 21 # region number 21
|
||||
4 1 2 6 5 3
|
||||
4 4 3 7 8 43
|
||||
4 1 5 8 4 5
|
||||
4 2 6 7 3 65
|
||||
4 1 2 3 4 11 # region number 11
|
||||
4 5 6 7 8 21 # region number 21
|
||||
4 1 2 6 5 3
|
||||
4 4 3 7 8 43
|
||||
4 1 5 8 4 5
|
||||
4 2 6 7 3 65
|
||||
0
|
||||
0
|
||||
@endverbatim
|
||||
|
||||
NOTE:
|
||||
- for some reason boundary faces point inwards. I just reverse them
|
||||
always. Might use some geometric check instead.
|
||||
- marked faces might not actually be boundary faces of mesh.
|
||||
This is hopefully handled now by first constructing without boundaries
|
||||
and then reconstructing with boundary faces.
|
||||
Note
|
||||
- for some reason boundary faces point inwards. I just reverse them
|
||||
always. Might use some geometric check instead.
|
||||
- marked faces might not actually be boundary faces of mesh.
|
||||
This is hopefully handled now by first constructing without boundaries
|
||||
and then reconstructing with boundary faces.
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
@ -97,7 +98,7 @@ label findFace(const primitiveMesh& mesh, const face& f)
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
argList::validArgs.append("file prefix");
|
||||
argList::validOptions.insert("noFaceFile", "");
|
||||
argList::addBoolOption("noFaceFile");
|
||||
|
||||
# include "setRootCase.H"
|
||||
# include "createTime.H"
|
||||
|
||||
@ -2,4 +2,4 @@ EXE_INC = \
|
||||
-I$(LIB_SRC)/meshTools/lnInclude
|
||||
|
||||
EXE_LIBS = \
|
||||
-lmeshTools
|
||||
-lmeshTools
|
||||
|
||||
@ -378,13 +378,13 @@ void writePointCells
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
timeSelector::addOptions();
|
||||
argList::validOptions.insert("patchFaces", "");
|
||||
argList::validOptions.insert("patchEdges", "");
|
||||
argList::validOptions.insert("cell", "cellI");
|
||||
argList::validOptions.insert("face", "faceI");
|
||||
argList::validOptions.insert("point", "pointI");
|
||||
argList::validOptions.insert("cellSet", "setName");
|
||||
argList::validOptions.insert("faceSet", "setName");
|
||||
argList::addBoolOption("patchFaces");
|
||||
argList::addBoolOption("patchEdges");
|
||||
argList::addOption("cell", "cellI");
|
||||
argList::addOption("face", "faceI");
|
||||
argList::addOption("point", "pointI");
|
||||
argList::addOption("cellSet", "setName");
|
||||
argList::addOption("faceSet", "setName");
|
||||
# include "addRegionOption.H"
|
||||
|
||||
# include "setRootCase.H"
|
||||
|
||||
@ -72,8 +72,18 @@ using namespace Foam;
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
argList::noParallel();
|
||||
argList::validOptions.insert("blockTopology", "");
|
||||
argList::validOptions.insert("dict", "dictionary");
|
||||
argList::addBoolOption
|
||||
(
|
||||
"blockTopology",
|
||||
"write block edges and centres as .obj files"
|
||||
);
|
||||
argList::addOption
|
||||
(
|
||||
"dict",
|
||||
"NAME",
|
||||
"specify an alternative dictionary for the blockMesh description"
|
||||
);
|
||||
|
||||
# include "addRegionOption.H"
|
||||
# include "setRootCase.H"
|
||||
# include "createTime.H"
|
||||
@ -83,10 +93,9 @@ int main(int argc, char *argv[])
|
||||
word regionName;
|
||||
fileName polyMeshDir;
|
||||
|
||||
if (args.optionFound("region"))
|
||||
if (args.optionReadIfPresent("region", regionName, polyMesh::defaultRegion))
|
||||
{
|
||||
// constant/<region>/polyMesh/blockMeshDict
|
||||
regionName = args.option("region");
|
||||
polyMeshDir = regionName/polyMesh::meshSubDir;
|
||||
|
||||
Info<< nl << "Generating mesh for region " << regionName << endl;
|
||||
@ -94,7 +103,6 @@ int main(int argc, char *argv[])
|
||||
else
|
||||
{
|
||||
// constant/polyMesh/blockMeshDict
|
||||
regionName = polyMesh::defaultRegion;
|
||||
polyMeshDir = polyMesh::meshSubDir;
|
||||
}
|
||||
|
||||
|
||||
@ -7,7 +7,7 @@
|
||||
List<faceZone*> fz(3*mergePatchPairs.size());
|
||||
List<cellZone*> cz(0);
|
||||
|
||||
forAll (mergePatchPairs, pairI)
|
||||
forAll(mergePatchPairs, pairI)
|
||||
{
|
||||
const word mergeName
|
||||
(
|
||||
@ -34,7 +34,7 @@
|
||||
|
||||
labelList isf(masterPatch.size());
|
||||
|
||||
forAll (isf, i)
|
||||
forAll(isf, i)
|
||||
{
|
||||
isf[i] = masterPatch.start() + i;
|
||||
}
|
||||
@ -58,7 +58,7 @@
|
||||
|
||||
labelList osf(slavePatch.size());
|
||||
|
||||
forAll (osf, i)
|
||||
forAll(osf, i)
|
||||
{
|
||||
osf[i] = slavePatch.start() + i;
|
||||
}
|
||||
@ -91,7 +91,7 @@
|
||||
attachPolyTopoChanger polyMeshAttacher(mesh);
|
||||
polyMeshAttacher.setSize(mergePatchPairs.size());
|
||||
|
||||
forAll (mergePatchPairs, pairI)
|
||||
forAll(mergePatchPairs, pairI)
|
||||
{
|
||||
const word mergeName
|
||||
(
|
||||
|
||||
@ -58,7 +58,7 @@ using namespace Foam;
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
argList::validArgs.append("thickness");
|
||||
argList::validOptions.insert("overwrite", "");
|
||||
argList::addBoolOption("overwrite");
|
||||
# include "setRootCase.H"
|
||||
# include "createTime.H"
|
||||
runTime.functionObjects().off();
|
||||
|
||||
@ -95,7 +95,7 @@ Foam::Xfer<Foam::faceList> Foam::extrudedMesh::extrudedFaces
|
||||
|
||||
const label nLayers = model.nLayers();
|
||||
|
||||
label nFaces =
|
||||
label nFaces =
|
||||
(nLayers + 1)*surfaceFaces.size() + nLayers*surfaceEdges.size();
|
||||
|
||||
faceList eFaces(nFaces);
|
||||
|
||||
@ -115,7 +115,7 @@ void writeMesh
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
argList::validOptions.insert("overwrite", "");
|
||||
argList::addBoolOption("overwrite");
|
||||
# include "setRootCase.H"
|
||||
# include "createTime.H"
|
||||
runTime.functionObjects().off();
|
||||
@ -192,7 +192,7 @@ int main(int argc, char *argv[])
|
||||
autoRefineDriver::debug = debug;
|
||||
autoSnapDriver::debug = debug;
|
||||
autoLayerDriver::debug = debug;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Read geometry
|
||||
|
||||
@ -42,7 +42,7 @@ using namespace Foam;
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
argList::noParallel();
|
||||
argList::validOptions.insert("overwrite", "");
|
||||
argList::addBoolOption("overwrite");
|
||||
|
||||
# include "setRootCase.H"
|
||||
# include "createTime.H"
|
||||
|
||||
@ -71,7 +71,7 @@ int main(int argc, char *argv[])
|
||||
{
|
||||
argList::noParallel();
|
||||
argList::validArgs.append("feature angle[0-180]");
|
||||
argList::validOptions.insert("overwrite", "");
|
||||
argList::addBoolOption("overwrite");
|
||||
|
||||
# include "setRootCase.H"
|
||||
# include "createTime.H"
|
||||
|
||||
@ -49,9 +49,9 @@ int main(int argc, char *argv[])
|
||||
{
|
||||
timeSelector::addOptions();
|
||||
# include "addRegionOption.H"
|
||||
argList::validOptions.insert("noTopology", "");
|
||||
argList::validOptions.insert("allGeometry", "");
|
||||
argList::validOptions.insert("allTopology", "");
|
||||
argList::addBoolOption("noTopology");
|
||||
argList::addBoolOption("allGeometry");
|
||||
argList::addBoolOption("allTopology");
|
||||
|
||||
# include "setRootCase.H"
|
||||
# include "createTime.H"
|
||||
|
||||
@ -129,7 +129,7 @@ void Foam::printMeshStats(const polyMesh& mesh, const bool allTopology)
|
||||
}
|
||||
|
||||
reduce(nHex,sumOp<label>());
|
||||
reduce(nPrism,sumOp<label>());
|
||||
reduce(nPrism,sumOp<label>());
|
||||
reduce(nWedge,sumOp<label>());
|
||||
reduce(nPyr,sumOp<label>());
|
||||
reduce(nTetWedge,sumOp<label>());
|
||||
|
||||
@ -128,9 +128,9 @@ int main(int argc, char *argv[])
|
||||
# include "addRegionOption.H"
|
||||
argList::validArgs.append("faceZone");
|
||||
argList::validArgs.append("patch");
|
||||
argList::validOptions.insert("additionalPatches", "(patch2 .. patchN)");
|
||||
argList::validOptions.insert("internalFacesOnly", "");
|
||||
argList::validOptions.insert("overwrite", "");
|
||||
argList::addOption("additionalPatches", "(patch2 .. patchN)");
|
||||
argList::addBoolOption("internalFacesOnly");
|
||||
argList::addBoolOption("overwrite");
|
||||
|
||||
# include "setRootCase.H"
|
||||
# include "createTime.H"
|
||||
|
||||
@ -517,7 +517,7 @@ void syncPoints
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
# include "addRegionOption.H"
|
||||
argList::validOptions.insert("overwrite", "");
|
||||
argList::addBoolOption("overwrite");
|
||||
|
||||
# include "setRootCase.H"
|
||||
# include "createTime.H"
|
||||
|
||||
@ -3,5 +3,5 @@ EXE_INC = \
|
||||
-I$(LIB_SRC)/meshTools/lnInclude
|
||||
|
||||
EXE_LIBS = \
|
||||
-ldynamicMesh \
|
||||
-ldynamicMesh \
|
||||
-lmeshTools
|
||||
|
||||
@ -43,16 +43,15 @@ using namespace Foam;
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
Foam::argList::noParallel();
|
||||
Foam::argList::validArgs.append("surface file");
|
||||
Foam::argList::validArgs.append("destination cellSet");
|
||||
argList::noParallel();
|
||||
argList::validArgs.append("surface file");
|
||||
argList::validArgs.append("destination cellSet");
|
||||
|
||||
# include "setRootCase.H"
|
||||
# include "createTime.H"
|
||||
# include "createPolyMesh.H"
|
||||
|
||||
fileName surfName(args.additionalArgs()[0]);
|
||||
|
||||
fileName setName(args.additionalArgs()[1]);
|
||||
|
||||
|
||||
|
||||
@ -48,7 +48,7 @@ Foam::label Foam::mergePolyMesh::patchIndex(const polyPatch& p)
|
||||
|
||||
bool nameFound = false;
|
||||
|
||||
forAll (patchNames_, patchI)
|
||||
forAll(patchNames_, patchI)
|
||||
{
|
||||
if (patchNames_[patchI] == pName)
|
||||
{
|
||||
@ -98,7 +98,7 @@ Foam::label Foam::mergePolyMesh::zoneIndex
|
||||
const word& curName
|
||||
)
|
||||
{
|
||||
forAll (names, zoneI)
|
||||
forAll(names, zoneI)
|
||||
{
|
||||
if (names[zoneI] == curName)
|
||||
{
|
||||
@ -129,7 +129,7 @@ Foam::mergePolyMesh::mergePolyMesh(const IOobject& io)
|
||||
wordList curPatchTypes = boundaryMesh().types();
|
||||
wordList curPatchNames = boundaryMesh().names();
|
||||
|
||||
forAll (curPatchTypes, patchI)
|
||||
forAll(curPatchTypes, patchI)
|
||||
{
|
||||
patchTypes_.append(curPatchTypes[patchI]);
|
||||
patchNames_.append(curPatchNames[patchI]);
|
||||
@ -144,7 +144,7 @@ Foam::mergePolyMesh::mergePolyMesh(const IOobject& io)
|
||||
pointZoneNames_.setCapacity(2*curPointZoneNames.size());
|
||||
}
|
||||
|
||||
forAll (curPointZoneNames, zoneI)
|
||||
forAll(curPointZoneNames, zoneI)
|
||||
{
|
||||
pointZoneNames_.append(curPointZoneNames[zoneI]);
|
||||
}
|
||||
@ -156,7 +156,7 @@ Foam::mergePolyMesh::mergePolyMesh(const IOobject& io)
|
||||
{
|
||||
faceZoneNames_.setCapacity(2*curFaceZoneNames.size());
|
||||
}
|
||||
forAll (curFaceZoneNames, zoneI)
|
||||
forAll(curFaceZoneNames, zoneI)
|
||||
{
|
||||
faceZoneNames_.append(curFaceZoneNames[zoneI]);
|
||||
}
|
||||
@ -168,7 +168,7 @@ Foam::mergePolyMesh::mergePolyMesh(const IOobject& io)
|
||||
{
|
||||
cellZoneNames_.setCapacity(2*curCellZoneNames.size());
|
||||
}
|
||||
forAll (curCellZoneNames, zoneI)
|
||||
forAll(curCellZoneNames, zoneI)
|
||||
{
|
||||
cellZoneNames_.append(curCellZoneNames[zoneI]);
|
||||
}
|
||||
@ -194,12 +194,12 @@ void Foam::mergePolyMesh::addMesh(const polyMesh& m)
|
||||
const pointZoneMesh& pz = m.pointZones();
|
||||
labelList pointZoneIndices(pz.size());
|
||||
|
||||
forAll (pz, zoneI)
|
||||
forAll(pz, zoneI)
|
||||
{
|
||||
pointZoneIndices[zoneI] = zoneIndex(pointZoneNames_, pz[zoneI].name());
|
||||
}
|
||||
|
||||
forAll (p, pointI)
|
||||
forAll(p, pointI)
|
||||
{
|
||||
// Grab zone ID. If a point is not in a zone, it will return -1
|
||||
zoneID = pz.whichZone(pointI);
|
||||
@ -231,12 +231,12 @@ void Foam::mergePolyMesh::addMesh(const polyMesh& m)
|
||||
const cellZoneMesh& cz = m.cellZones();
|
||||
labelList cellZoneIndices(cz.size());
|
||||
|
||||
forAll (cz, zoneI)
|
||||
forAll(cz, zoneI)
|
||||
{
|
||||
cellZoneIndices[zoneI] = zoneIndex(cellZoneNames_, cz[zoneI].name());
|
||||
}
|
||||
|
||||
forAll (c, cellI)
|
||||
forAll(c, cellI)
|
||||
{
|
||||
// Grab zone ID. If a cell is not in a zone, it will return -1
|
||||
zoneID = cz.whichZone(cellI);
|
||||
@ -267,7 +267,7 @@ void Foam::mergePolyMesh::addMesh(const polyMesh& m)
|
||||
// Gather the patch indices
|
||||
labelList patchIndices(bm.size());
|
||||
|
||||
forAll (patchIndices, patchI)
|
||||
forAll(patchIndices, patchI)
|
||||
{
|
||||
patchIndices[patchI] = patchIndex(bm[patchI]);
|
||||
}
|
||||
@ -281,7 +281,7 @@ void Foam::mergePolyMesh::addMesh(const polyMesh& m)
|
||||
const faceZoneMesh& fz = m.faceZones();
|
||||
labelList faceZoneIndices(fz.size());
|
||||
|
||||
forAll (fz, zoneI)
|
||||
forAll(fz, zoneI)
|
||||
{
|
||||
faceZoneIndices[zoneI] = zoneIndex(faceZoneNames_, fz[zoneI].name());
|
||||
}
|
||||
@ -295,13 +295,13 @@ void Foam::mergePolyMesh::addMesh(const polyMesh& m)
|
||||
label newOwn, newNei, newPatch, newZone;
|
||||
bool newZoneFlip;
|
||||
|
||||
forAll (f, faceI)
|
||||
forAll(f, faceI)
|
||||
{
|
||||
const face& curFace = f[faceI];
|
||||
|
||||
face newFace(curFace.size());
|
||||
|
||||
forAll (curFace, pointI)
|
||||
forAll(curFace, pointI)
|
||||
{
|
||||
newFace[pointI] = renumberPoints[curFace[pointI]];
|
||||
}
|
||||
|
||||
@ -2,11 +2,11 @@
|
||||
|
||||
argList::validArgs.append("master root");
|
||||
argList::validArgs.append("master case");
|
||||
argList::validOptions.insert("masterRegion", "name");
|
||||
argList::addOption("masterRegion", "name");
|
||||
|
||||
argList::validArgs.append("root to add");
|
||||
argList::validArgs.append("case to add");
|
||||
argList::validOptions.insert("addRegion", "name");
|
||||
argList::addOption("addRegion", "name");
|
||||
|
||||
argList args(argc, argv);
|
||||
|
||||
|
||||
@ -223,9 +223,9 @@ labelList findBaffles(const polyMesh& mesh, const labelList& boundaryFaces)
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
# include "addRegionOption.H"
|
||||
argList::validOptions.insert("split", "");
|
||||
argList::validOptions.insert("overwrite", "");
|
||||
argList::validOptions.insert("detectOnly", "");
|
||||
argList::addBoolOption("split");
|
||||
argList::addBoolOption("overwrite");
|
||||
argList::addBoolOption("detectOnly");
|
||||
# include "setRootCase.H"
|
||||
# include "createTime.H"
|
||||
runTime.functionObjects().off();
|
||||
|
||||
@ -82,13 +82,13 @@ Foam::mirrorFvMesh::mirrorFvMesh(const IOobject& io)
|
||||
labelList mirrorPointLookup(oldPoints.size(), -1);
|
||||
|
||||
// Grab the old points
|
||||
forAll (oldPoints, pointI)
|
||||
forAll(oldPoints, pointI)
|
||||
{
|
||||
newPoints[nNewPoints] = oldPoints[pointI];
|
||||
nNewPoints++;
|
||||
}
|
||||
|
||||
forAll (oldPoints, pointI)
|
||||
forAll(oldPoints, pointI)
|
||||
{
|
||||
scalar alpha =
|
||||
mirrorPlane.normalIntersect
|
||||
@ -145,7 +145,7 @@ Foam::mirrorFvMesh::mirrorFvMesh(const IOobject& io)
|
||||
|
||||
const unallocLabelList& oldOwnerStart = lduAddr().ownerStartAddr();
|
||||
|
||||
forAll (newCellFaces, cellI)
|
||||
forAll(newCellFaces, cellI)
|
||||
{
|
||||
labelList& curFaces = newCellFaces[cellI];
|
||||
|
||||
@ -154,7 +154,7 @@ Foam::mirrorFvMesh::mirrorFvMesh(const IOobject& io)
|
||||
|
||||
curFaces.setSize(e - s);
|
||||
|
||||
forAll (curFaces, i)
|
||||
forAll(curFaces, i)
|
||||
{
|
||||
curFaces[i] = s + i;
|
||||
}
|
||||
@ -164,7 +164,7 @@ Foam::mirrorFvMesh::mirrorFvMesh(const IOobject& io)
|
||||
// as internal
|
||||
boolListList insertedBouFace(oldPatches.size());
|
||||
|
||||
forAll (oldPatches, patchI)
|
||||
forAll(oldPatches, patchI)
|
||||
{
|
||||
const polyPatch& curPatch = oldPatches[patchI];
|
||||
|
||||
@ -186,7 +186,7 @@ Foam::mirrorFvMesh::mirrorFvMesh(const IOobject& io)
|
||||
const unallocLabelList& curFaceCells = curPatch.faceCells();
|
||||
const label curStart = curPatch.start();
|
||||
|
||||
forAll (curPatch, faceI)
|
||||
forAll(curPatch, faceI)
|
||||
{
|
||||
// Find out if the mirrored face is identical to the
|
||||
// original. If so, the face needs to become internal and
|
||||
@ -194,7 +194,7 @@ Foam::mirrorFvMesh::mirrorFvMesh(const IOobject& io)
|
||||
const face& origFace = curPatch[faceI];
|
||||
|
||||
face mirrorFace(origFace.size());
|
||||
forAll (mirrorFace, pointI)
|
||||
forAll(mirrorFace, pointI)
|
||||
{
|
||||
mirrorFace[pointI] = mirrorPointLookup[origFace[pointI]];
|
||||
}
|
||||
@ -225,11 +225,11 @@ Foam::mirrorFvMesh::mirrorFvMesh(const IOobject& io)
|
||||
label nNewFaces = 0;
|
||||
|
||||
// Insert original (internal) faces
|
||||
forAll (newCellFaces, cellI)
|
||||
forAll(newCellFaces, cellI)
|
||||
{
|
||||
const labelList& curCellFaces = newCellFaces[cellI];
|
||||
|
||||
forAll (curCellFaces, cfI)
|
||||
forAll(curCellFaces, cfI)
|
||||
{
|
||||
newFaces[nNewFaces] = oldFaces[curCellFaces[cfI]];
|
||||
masterFaceLookup[curCellFaces[cfI]] = nNewFaces;
|
||||
@ -264,7 +264,7 @@ Foam::mirrorFvMesh::mirrorFvMesh(const IOobject& io)
|
||||
labelList newPatchStarts(boundary().size(), -1);
|
||||
label nNewPatches = 0;
|
||||
|
||||
forAll (boundaryMesh(), patchI)
|
||||
forAll(boundaryMesh(), patchI)
|
||||
{
|
||||
const label curPatchSize = boundaryMesh()[patchI].size();
|
||||
const label curPatchStart = boundaryMesh()[patchI].start();
|
||||
@ -346,14 +346,14 @@ Foam::mirrorFvMesh::mirrorFvMesh(const IOobject& io)
|
||||
label nNewCells = 0;
|
||||
|
||||
// Grab the original cells. Take care of face renumbering.
|
||||
forAll (oldCells, cellI)
|
||||
forAll(oldCells, cellI)
|
||||
{
|
||||
const cell& oc = oldCells[cellI];
|
||||
|
||||
cell& nc = newCells[nNewCells];
|
||||
nc.setSize(oc.size());
|
||||
|
||||
forAll (oc, i)
|
||||
forAll(oc, i)
|
||||
{
|
||||
nc[i] = masterFaceLookup[oc[i]];
|
||||
}
|
||||
@ -362,14 +362,14 @@ Foam::mirrorFvMesh::mirrorFvMesh(const IOobject& io)
|
||||
}
|
||||
|
||||
// Mirror the cells
|
||||
forAll (oldCells, cellI)
|
||||
forAll(oldCells, cellI)
|
||||
{
|
||||
const cell& oc = oldCells[cellI];
|
||||
|
||||
cell& nc = newCells[nNewCells];
|
||||
nc.setSize(oc.size());
|
||||
|
||||
forAll (oc, i)
|
||||
forAll(oc, i)
|
||||
{
|
||||
nc[i] = mirrorFaceLookup[oc[i]];
|
||||
}
|
||||
@ -394,7 +394,7 @@ Foam::mirrorFvMesh::mirrorFvMesh(const IOobject& io)
|
||||
// Add the boundary patches
|
||||
List<polyPatch*> p(newPatchTypes.size());
|
||||
|
||||
forAll (p, patchI)
|
||||
forAll(p, patchI)
|
||||
{
|
||||
p[patchI] = polyPatch::New
|
||||
(
|
||||
|
||||
@ -26,7 +26,7 @@ Application
|
||||
moveEngineMesh
|
||||
|
||||
Description
|
||||
Solver for moving meshes for engine calculations.
|
||||
Solver for moving meshes for engine calculations.
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
@ -54,7 +54,7 @@ int main(int argc, char *argv[])
|
||||
mesh.move();
|
||||
|
||||
runTime.write();
|
||||
|
||||
|
||||
Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
|
||||
<< " ClockTime = " << runTime.elapsedClockTime() << " s"
|
||||
<< nl << endl;
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
/*
|
||||
/*
|
||||
EXE_INC = \
|
||||
-I$(LIB_SRC)/triSurface/lnInclude
|
||||
|
||||
|
||||
@ -291,8 +291,8 @@ label twoDNess(const polyMesh& mesh)
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
Foam::argList::validOptions.insert("dict", "");
|
||||
Foam::argList::validOptions.insert("overwrite", "");
|
||||
argList::addBoolOption("dict");
|
||||
argList::addBoolOption("overwrite");
|
||||
|
||||
# include "setRootCase.H"
|
||||
# include "createTime.H"
|
||||
@ -320,18 +320,17 @@ int main(int argc, char *argv[])
|
||||
{
|
||||
Info<< "Refining according to refineMeshDict" << nl << endl;
|
||||
|
||||
refineDict =
|
||||
IOdictionary
|
||||
refineDict = IOdictionary
|
||||
(
|
||||
IOobject
|
||||
(
|
||||
IOobject
|
||||
(
|
||||
"refineMeshDict",
|
||||
runTime.system(),
|
||||
mesh,
|
||||
IOobject::MUST_READ,
|
||||
IOobject::NO_WRITE
|
||||
)
|
||||
);
|
||||
"refineMeshDict",
|
||||
runTime.system(),
|
||||
mesh,
|
||||
IOobject::MUST_READ,
|
||||
IOobject::NO_WRITE
|
||||
)
|
||||
);
|
||||
|
||||
word setName(refineDict.lookup("set"));
|
||||
|
||||
|
||||
@ -125,7 +125,7 @@ labelList regionFaceOrder
|
||||
|
||||
label prevRegion = -1;
|
||||
|
||||
forAll (cellOrder, newCellI)
|
||||
forAll(cellOrder, newCellI)
|
||||
{
|
||||
label oldCellI = cellOrder[newCellI];
|
||||
|
||||
@ -364,10 +364,10 @@ autoPtr<mapPolyMesh> reorderMesh
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
argList::validOptions.insert("blockOrder", "");
|
||||
argList::validOptions.insert("orderPoints", "");
|
||||
argList::validOptions.insert("writeMaps", "");
|
||||
argList::validOptions.insert("overwrite", "");
|
||||
argList::addBoolOption("blockOrder");
|
||||
argList::addBoolOption("orderPoints");
|
||||
argList::addBoolOption("writeMaps");
|
||||
argList::addBoolOption("overwrite");
|
||||
|
||||
# include "addTimeOptions.H"
|
||||
|
||||
|
||||
@ -843,8 +843,8 @@ int main(int argc, char *argv[])
|
||||
# include "addRegionOption.H"
|
||||
# include "addTimeOptions.H"
|
||||
|
||||
argList::validOptions.insert("noVTK", "");
|
||||
argList::validOptions.insert("batch", "file");
|
||||
argList::addBoolOption("noVTK");
|
||||
argList::addOption("batch", "file");
|
||||
|
||||
# include "setRootCase.H"
|
||||
# include "createTime.H"
|
||||
|
||||
@ -22,8 +22,6 @@ License
|
||||
along with OpenFOAM; if not, write to the Free Software Foundation,
|
||||
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
|
||||
Description
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#include "writeFuns.H"
|
||||
|
||||
@ -22,8 +22,6 @@ License
|
||||
along with OpenFOAM; if not, write to the Free Software Foundation,
|
||||
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
|
||||
Description
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#include "writePatch.H"
|
||||
@ -67,7 +65,7 @@ void writePatch
|
||||
//------------------------------------------------------------------
|
||||
//
|
||||
// Write topology
|
||||
//
|
||||
//
|
||||
//------------------------------------------------------------------
|
||||
|
||||
|
||||
@ -108,7 +106,7 @@ void writePatch
|
||||
//-----------------------------------------------------------------
|
||||
//
|
||||
// Write data
|
||||
//
|
||||
//
|
||||
//-----------------------------------------------------------------
|
||||
|
||||
// Write faceID
|
||||
|
||||
@ -22,8 +22,6 @@ License
|
||||
along with OpenFOAM; if not, write to the Free Software Foundation,
|
||||
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
|
||||
Description
|
||||
|
||||
\*---------------------------------------------------------------------------*/
|
||||
|
||||
#include "writePointSet.H"
|
||||
@ -64,7 +62,7 @@ void writePointSet
|
||||
//------------------------------------------------------------------
|
||||
//
|
||||
// Write topology
|
||||
//
|
||||
//
|
||||
//------------------------------------------------------------------
|
||||
|
||||
|
||||
@ -86,7 +84,7 @@ void writePointSet
|
||||
//-----------------------------------------------------------------
|
||||
//
|
||||
// Write data
|
||||
//
|
||||
//
|
||||
//-----------------------------------------------------------------
|
||||
|
||||
// Write pointID
|
||||
|
||||
@ -58,7 +58,7 @@ using namespace Foam;
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
argList::validOptions.insert("noFlipMap", "");
|
||||
argList::addBoolOption("noFlipMap");
|
||||
|
||||
# include "addRegionOption.H"
|
||||
# include "addTimeOptions.H"
|
||||
|
||||
@ -66,7 +66,8 @@ void interpolateFields
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
Foam::argList::validOptions.insert("overwrite", "");
|
||||
argList::addBoolOption("overwrite");
|
||||
|
||||
# include "addTimeOptions.H"
|
||||
# include "setRootCase.H"
|
||||
# include "createTime.H"
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
EXE_INC = \
|
||||
-I$(LIB_SRC)/dynamicMesh/lnInclude \
|
||||
-I$(LIB_SRC)/meshTools/lnInclude
|
||||
-I$(LIB_SRC)/meshTools/lnInclude
|
||||
|
||||
EXE_LIBS = \
|
||||
-ldynamicMesh \
|
||||
|
||||
@ -376,7 +376,7 @@ void Foam::regionSide::walkAllPointConnectedFaces
|
||||
// Get the face 'perpendicular' to faceI on region.
|
||||
label otherFaceI = otherFace(mesh, cellI, faceI, edgeI);
|
||||
|
||||
// Edge
|
||||
// Edge
|
||||
const edge& e = mesh.edges()[edgeI];
|
||||
|
||||
if (!visitedPoint.found(e.start()))
|
||||
|
||||
@ -26,7 +26,7 @@ Class
|
||||
Foam::regionSide
|
||||
|
||||
Description
|
||||
Determines the 'side' for every face and connected to a
|
||||
Determines the 'side' for every face and connected to a
|
||||
singly-connected (through edges) region of faces. Gets set of faces and
|
||||
a list of mesh edges ('fenceEdges') which should not be crossed.
|
||||
Used in splitting a mesh region.
|
||||
|
||||
@ -110,12 +110,12 @@ void checkPatch(const polyBoundaryMesh& bMesh, const word& name)
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
Foam::argList::noParallel();
|
||||
argList::noParallel();
|
||||
|
||||
Foam::argList::validArgs.append("faceSet");
|
||||
Foam::argList::validArgs.append("masterPatch");
|
||||
Foam::argList::validArgs.append("slavePatch");
|
||||
Foam::argList::validOptions.insert("overwrite", "");
|
||||
argList::validArgs.append("faceSet");
|
||||
argList::validArgs.append("masterPatch");
|
||||
argList::validArgs.append("slavePatch");
|
||||
argList::addBoolOption("overwrite");
|
||||
|
||||
# include "setRootCase.H"
|
||||
# include "createTime.H"
|
||||
|
||||
@ -1290,15 +1290,15 @@ label findCorrespondingRegion
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
argList::validOptions.insert("cellZones", "");
|
||||
argList::validOptions.insert("cellZonesOnly", "");
|
||||
argList::validOptions.insert("blockedFaces", "faceSet");
|
||||
argList::validOptions.insert("makeCellZones", "");
|
||||
argList::validOptions.insert("largestOnly", "");
|
||||
argList::validOptions.insert("insidePoint", "point");
|
||||
argList::validOptions.insert("overwrite", "");
|
||||
argList::validOptions.insert("detectOnly", "");
|
||||
argList::validOptions.insert("sloppyCellZones", "");
|
||||
argList::addBoolOption("cellZones");
|
||||
argList::addBoolOption("cellZonesOnly");
|
||||
argList::addOption("blockedFaces", "faceSet");
|
||||
argList::addBoolOption("makeCellZones");
|
||||
argList::addBoolOption("largestOnly");
|
||||
argList::addOption("insidePoint", "point");
|
||||
argList::addBoolOption("overwrite");
|
||||
argList::addBoolOption("detectOnly");
|
||||
argList::addBoolOption("sloppyCellZones");
|
||||
|
||||
# include "setRootCase.H"
|
||||
# include "createTime.H"
|
||||
|
||||
@ -95,17 +95,16 @@ void checkPatch(const polyBoundaryMesh& bMesh, const word& name)
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
Foam::argList::noParallel();
|
||||
argList::noParallel();
|
||||
|
||||
Foam::argList::validArgs.append("masterPatch");
|
||||
Foam::argList::validArgs.append("slavePatch");
|
||||
argList::validArgs.append("masterPatch");
|
||||
argList::validArgs.append("slavePatch");
|
||||
|
||||
Foam::argList::validOptions.insert("partial", "");
|
||||
Foam::argList::validOptions.insert("perfect", "");
|
||||
argList::addBoolOption("partial");
|
||||
argList::addBoolOption("perfect");
|
||||
argList::addBoolOption("overwrite");
|
||||
|
||||
Foam::argList::validOptions.insert("overwrite", "");
|
||||
|
||||
Foam::argList::validOptions.insert("toleranceDict", "file with tolerances");
|
||||
argList::addOption("toleranceDict", "file with tolerances");
|
||||
|
||||
# include "setRootCase.H"
|
||||
# include "createTime.H"
|
||||
@ -174,8 +173,10 @@ int main(int argc, char *argv[])
|
||||
dictionary slidingTolerances;
|
||||
if (args.options().found("toleranceDict"))
|
||||
{
|
||||
IOdictionary toleranceFile(
|
||||
IOobject(
|
||||
IOdictionary toleranceFile
|
||||
(
|
||||
IOobject
|
||||
(
|
||||
args.options()["toleranceDict"],
|
||||
runTime.constant(),
|
||||
mesh,
|
||||
@ -202,7 +203,7 @@ int main(int argc, char *argv[])
|
||||
// Make list of masterPatch faces
|
||||
labelList isf(masterPatch.size());
|
||||
|
||||
forAll (isf, i)
|
||||
forAll(isf, i)
|
||||
{
|
||||
isf[i] = masterPatch.start() + i;
|
||||
}
|
||||
@ -283,7 +284,7 @@ int main(int argc, char *argv[])
|
||||
|
||||
labelList osf(slavePatch.size());
|
||||
|
||||
forAll (osf, i)
|
||||
forAll(osf, i)
|
||||
{
|
||||
osf[i] = slavePatch.start() + i;
|
||||
}
|
||||
|
||||
@ -152,8 +152,8 @@ void subsetPointFields
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
argList::validArgs.append("set");
|
||||
argList::validOptions.insert("patch", "patch name");
|
||||
argList::validOptions.insert("overwrite", "");
|
||||
argList::addOption("patch", "patch name");
|
||||
argList::addBoolOption("overwrite");
|
||||
|
||||
# include "setRootCase.H"
|
||||
# include "createTime.H"
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user