Merge commit 'OpenCFD/master' into olesenm
This commit is contained in:
commit
e3c70a839b
@ -54,7 +54,10 @@ using namespace Foam;
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
// Scalae factor used to scale points (optional command line argument)
|
||||
// Line number
|
||||
label lineNo = 1;
|
||||
|
||||
// Scale factor used to scale points (optional command line argument)
|
||||
scalar scaleFactor = 1.0;
|
||||
|
||||
label dimensionOfGrid = 0;
|
||||
@ -131,8 +134,6 @@ one_space [ \t\f]
|
||||
space {one_space}*
|
||||
some_space {one_space}+
|
||||
cspace ","{space}
|
||||
nl (\n|\r)
|
||||
spaceNl ({space}|{nl})*
|
||||
|
||||
alpha [_[:alpha:]]
|
||||
digit [[:digit:]]
|
||||
@ -146,7 +147,7 @@ quote \"
|
||||
dash "-"
|
||||
dotColonDash [.:-]
|
||||
|
||||
schemeSpecialInitial [!$%&*/\\:<=>?~_^#.@]
|
||||
schemeSpecialInitial [!$%&*/\\:<=>?~_^#.@']
|
||||
schemeSpecialSubsequent [.+-]
|
||||
schemeSymbol (({some_space}|{alpha}|{quote}|{schemeSpecialInitial})({alpha}|{quote}|{digit}|{schemeSpecialInitial}|{schemeSpecialSubsequent})*)
|
||||
|
||||
@ -187,23 +188,23 @@ time ({digit}{digit}":"{digit}{digit}":"{digit}{digit})
|
||||
|
||||
versionNumber ({digit}|".")*
|
||||
|
||||
header {spaceNl}"(1"{space}
|
||||
dimension {spaceNl}"(2"{space}
|
||||
points {spaceNl}"(10"{space}
|
||||
faces {spaceNl}"(13"{space}
|
||||
cells {spaceNl}"(12"{space}
|
||||
zoneVariant1 {spaceNl}"(39"{space}
|
||||
zoneVariant2 {spaceNl}"(45"{space}
|
||||
faceTree {spaceNl}"(59"{space}
|
||||
header {space}"(1"{space}
|
||||
dimension {space}"(2"{space}
|
||||
points {space}"(10"{space}
|
||||
faces {space}"(13"{space}
|
||||
cells {space}"(12"{space}
|
||||
zoneVariant1 {space}"(39"{space}
|
||||
zoneVariant2 {space}"(45"{space}
|
||||
faceTree {space}"(59"{space}
|
||||
|
||||
comment "0"{space}
|
||||
unknownPeriodicFace "17"{space}
|
||||
periodicFace "18"{space}
|
||||
cellTree "58"{space}
|
||||
faceParents "61"{space}
|
||||
ignoreBlocks ("4"|"37"|"38"|"41"|"60"|"64"){space}
|
||||
ignoreBlocks ("4"|"37"|"38"|"40"|"41"|"60"|"64"){space}
|
||||
|
||||
redundantBlock {spaceNl}({comment}|{unknownPeriodicFace}|{periodicFace}|{cellTree}|{faceParents}|{ignoreBlocks}){space}
|
||||
redundantBlock {space}({comment}|{unknownPeriodicFace}|{periodicFace}|{cellTree}|{faceParents}|{ignoreBlocks}){space}
|
||||
|
||||
endOfSection {space}")"{space}
|
||||
|
||||
@ -290,7 +291,7 @@ endOfSection {space}")"{space}
|
||||
BEGIN(readPointHeader);
|
||||
}
|
||||
|
||||
<readPointHeader>{spaceNl}{lbrac}{space}"0"{space}"1"{space} {
|
||||
<readPointHeader>{space}{lbrac}{space}"0"{space}"1"{space} {
|
||||
BEGIN(readNumberOfPoints);
|
||||
}
|
||||
|
||||
@ -302,7 +303,7 @@ endOfSection {space}")"{space}
|
||||
// Ignore rest of stream
|
||||
}
|
||||
|
||||
<readPointHeader>{spaceNl}{lbrac} {
|
||||
<readPointHeader>{space}{lbrac} {
|
||||
BEGIN(readPointGroupData);
|
||||
}
|
||||
|
||||
@ -342,7 +343,7 @@ endOfSection {space}")"{space}
|
||||
BEGIN(readPointData);
|
||||
}
|
||||
|
||||
<readPointData>{spaceNl}{lbrac}{spaceNl} {
|
||||
<readPointData>{space}{lbrac}{space} {
|
||||
Info<< ". Reading points..." << flush;
|
||||
cmpt = 0;
|
||||
yy_push_state(readScalarList);
|
||||
@ -350,19 +351,32 @@ endOfSection {space}")"{space}
|
||||
|
||||
<readScalarList>{signedInteger}{space} {
|
||||
points[pointi][cmpt++] = scaleFactor*atol(YYText());
|
||||
|
||||
if (cmpt == pointGroupNumberOfComponents)
|
||||
{
|
||||
if (pointGroupNumberOfComponents == 2)
|
||||
{
|
||||
points[pointi].z() = 0.0;
|
||||
}
|
||||
|
||||
cmpt = 0;
|
||||
pointi++;
|
||||
}
|
||||
}
|
||||
|
||||
<readScalarList>{scalar}{space} {
|
||||
points[pointi][cmpt++] = scaleFactor*atof(YYText());
|
||||
}
|
||||
|
||||
<readScalarList>{spaceNl} {
|
||||
if (pointGroupNumberOfComponents == 2)
|
||||
if (cmpt == pointGroupNumberOfComponents)
|
||||
{
|
||||
points[pointi].z() = 0.0;
|
||||
if (pointGroupNumberOfComponents == 2)
|
||||
{
|
||||
points[pointi].z() = 0.0;
|
||||
}
|
||||
|
||||
cmpt = 0;
|
||||
pointi++;
|
||||
}
|
||||
cmpt = 0;
|
||||
pointi++;
|
||||
}
|
||||
|
||||
<readScalarList>{endOfSection} {
|
||||
@ -372,12 +386,13 @@ endOfSection {space}")"{space}
|
||||
if (pointi != pointGroupEndIndex[pointGroupEndIndex.size()-1]+1)
|
||||
{
|
||||
Warning
|
||||
<< "Problem with reading points: "
|
||||
<< "start index: "
|
||||
<< "Problem with reading points: " << nl
|
||||
<< " start index: "
|
||||
<< pointGroupStartIndex[pointGroupStartIndex.size()-1]
|
||||
<< " end index: "
|
||||
<< pointGroupEndIndex[pointGroupEndIndex.size()-1]
|
||||
<< " last points read: " << pointi << endl;
|
||||
<< " last points read: " << pointi << nl
|
||||
<< " on line " << lineNo << endl;
|
||||
}
|
||||
|
||||
yy_pop_state();
|
||||
@ -387,7 +402,7 @@ endOfSection {space}")"{space}
|
||||
BEGIN(readFaceHeader);
|
||||
}
|
||||
|
||||
<readFaceHeader>{spaceNl}{lbrac}{space}"0"{space}"1"{space} {
|
||||
<readFaceHeader>{space}{lbrac}{space}"0"{space}"1"{space} {
|
||||
BEGIN(readNumberOfFaces);
|
||||
}
|
||||
|
||||
@ -403,7 +418,7 @@ endOfSection {space}")"{space}
|
||||
// Type and element type not read
|
||||
}
|
||||
|
||||
<readFaceHeader>{spaceNl}{lbrac} {
|
||||
<readFaceHeader>{space}{lbrac} {
|
||||
BEGIN(readFaceGroupData);
|
||||
}
|
||||
|
||||
@ -431,12 +446,12 @@ endOfSection {space}")"{space}
|
||||
<< faceGroupEndIndex[faceGroupEndIndex.size()-1] << flush;
|
||||
}
|
||||
|
||||
<readNumberOfFaces,readFaceGroupData>{spaceNl}{endOfSection} {
|
||||
<readNumberOfFaces,readFaceGroupData>{space}{endOfSection} {
|
||||
BEGIN(readFaceData);
|
||||
}
|
||||
|
||||
<readFaceData>{spaceNl}{lbrac} {
|
||||
if (faceGroupElementType == 0)
|
||||
<readFaceData>{space}{lbrac} {
|
||||
if (faceGroupElementType == 0 || faceGroupElementType > 4)
|
||||
{
|
||||
Info<< ". Reading mixed faces..." << flush;
|
||||
yy_push_state(readFacesMixed);
|
||||
@ -448,7 +463,7 @@ endOfSection {space}")"{space}
|
||||
}
|
||||
}
|
||||
|
||||
<readFacesMixed>{spaceNl}{hexLabelList} {
|
||||
<readFacesMixed>{space}{hexLabelList} {
|
||||
face& curFaceLabels = faces[facei];
|
||||
|
||||
// set size of label list
|
||||
@ -465,7 +480,7 @@ endOfSection {space}")"{space}
|
||||
facei++;
|
||||
}
|
||||
|
||||
<readFacesUniform>{spaceNl}{hexLabelList} {
|
||||
<readFacesUniform>{space}{hexLabelList} {
|
||||
face& curFaceLabels = faces[facei];
|
||||
|
||||
// Set size of label list.
|
||||
@ -484,19 +499,20 @@ endOfSection {space}")"{space}
|
||||
facei++;
|
||||
}
|
||||
|
||||
<readFacesMixed,readFacesUniform>{spaceNl}{endOfSection} {
|
||||
<readFacesMixed,readFacesUniform>{space}{endOfSection} {
|
||||
Info<< "done." << endl;
|
||||
|
||||
// check read of fluentFaces
|
||||
if (facei != faceGroupEndIndex[faceGroupEndIndex.size()-1]+1)
|
||||
{
|
||||
Warning
|
||||
<< "Problem with reading fluentFaces: "
|
||||
<< "start index: "
|
||||
<< "Problem with reading fluentFaces: " << nl
|
||||
<< " start index: "
|
||||
<< faceGroupStartIndex[faceGroupStartIndex.size()-1]
|
||||
<< " end index: "
|
||||
<< faceGroupEndIndex[faceGroupEndIndex.size()-1]
|
||||
<< " last fluentFaces read: " << facei << endl;
|
||||
<< " last fluentFaces read: " << facei << nl
|
||||
<< " on line " << lineNo << endl;
|
||||
}
|
||||
|
||||
yy_pop_state();
|
||||
@ -507,7 +523,7 @@ endOfSection {space}")"{space}
|
||||
BEGIN(readCellHeader);
|
||||
}
|
||||
|
||||
<readCellHeader>{spaceNl}{lbrac}{space}"0"{space}"1"{space} {
|
||||
<readCellHeader>{space}{lbrac}{space}"0"{space}"1"{space} {
|
||||
BEGIN(readNumberOfCells);
|
||||
}
|
||||
|
||||
@ -516,7 +532,7 @@ endOfSection {space}")"{space}
|
||||
Info<< "Number of cells: " << nCells << endl;
|
||||
}
|
||||
|
||||
<readCellHeader>{spaceNl}{lbrac} {
|
||||
<readCellHeader>{space}{lbrac} {
|
||||
BEGIN(readCellGroupData);
|
||||
}
|
||||
|
||||
@ -526,7 +542,8 @@ endOfSection {space}")"{space}
|
||||
// non-standard cell definition from Tgrid, which misses the type label.
|
||||
|
||||
Warning
|
||||
<< "Tgrid syntax problem: " << YYText() << endl;
|
||||
<< "Tgrid syntax problem: " << YYText() << nl
|
||||
<< " on line " << lineNo << endl;
|
||||
|
||||
// read cell zone-ID, start and end-label
|
||||
cellGroupZoneID.append(strtol(YYText(), &endPtr, 16));
|
||||
@ -580,7 +597,7 @@ endOfSection {space}")"{space}
|
||||
BEGIN(readCellData);
|
||||
}
|
||||
|
||||
<readCellData>{spaceNl}{lbrac} {
|
||||
<readCellData>{space}{lbrac} {
|
||||
// Quickly scan to the end of the cell data block and discard
|
||||
register int c;
|
||||
while ((c = yyinput()) != 0 && c != ')')
|
||||
@ -601,7 +618,7 @@ endOfSection {space}")"{space}
|
||||
BEGIN(readZoneHeader);
|
||||
}
|
||||
|
||||
<readZoneHeader>{spaceNl}{lbrac} {
|
||||
<readZoneHeader>{space}{lbrac} {
|
||||
BEGIN(readZoneGroupData);
|
||||
}
|
||||
|
||||
@ -623,17 +640,18 @@ endOfSection {space}")"{space}
|
||||
BEGIN(readZoneData);
|
||||
}
|
||||
|
||||
<readZoneData>{spaceNl}{lbrac} {
|
||||
<readZoneData>{space}{lbrac} {
|
||||
Info<< ". Reading zone data..." << flush;
|
||||
yy_push_state(readZoneBlock);
|
||||
}
|
||||
|
||||
<readZoneBlock>{spaceNl}{schemeSymbolList} {
|
||||
<readZoneBlock>{space}{schemeSymbolList} {
|
||||
}
|
||||
|
||||
<readZoneBlock>{lbrac} {
|
||||
Warning
|
||||
<< "Found unknown block in zone: " << YYText() << endl;
|
||||
//Warning
|
||||
// << "Found unknown block in zone: " << YYText() << nl
|
||||
// << " on line " << lineNo << endl;
|
||||
yy_push_state(ignoreBlock);
|
||||
}
|
||||
|
||||
@ -646,7 +664,7 @@ endOfSection {space}")"{space}
|
||||
|
||||
/* ------ Reading end of section and others ------ */
|
||||
|
||||
<readHeader,readDimension,readPointData,readFaceData,readCellData,readZoneData>{spaceNl}{endOfSection} {
|
||||
<readHeader,readDimension,readPointData,readFaceData,readCellData,readZoneData>{space}{endOfSection} {
|
||||
BEGIN(INITIAL);
|
||||
}
|
||||
|
||||
@ -655,7 +673,8 @@ endOfSection {space}")"{space}
|
||||
{lbrac}{label} {
|
||||
Warning
|
||||
<< "Found unknown block of type: "
|
||||
<< Foam::string(YYText())(1, YYLeng()-1) << endl;
|
||||
<< Foam::string(YYText())(1, YYLeng()-1) << nl
|
||||
<< " on line " << lineNo << endl;
|
||||
|
||||
yy_push_state(ignoreBlock);
|
||||
}
|
||||
@ -664,40 +683,47 @@ endOfSection {space}")"{space}
|
||||
yy_push_state(ignoreBlock);
|
||||
}
|
||||
|
||||
<ignoreBlock,ignoreEmbeddedBlock>{spaceNl}{quote}{text}{quote} {
|
||||
<ignoreBlock,ignoreEmbeddedBlock>{space}{quote}{text}{quote} {
|
||||
}
|
||||
|
||||
<ignoreBlock,ignoreEmbeddedBlock>{spaceNl}{schemeSymbol} {
|
||||
<ignoreBlock,ignoreEmbeddedBlock>{space}{schemeSymbol} {
|
||||
}
|
||||
|
||||
<ignoreBlock,ignoreEmbeddedBlock>{spaceNl}{lbrac} {
|
||||
<ignoreBlock,ignoreEmbeddedBlock>{space}{lbrac} {
|
||||
yy_push_state(ignoreEmbeddedBlock);
|
||||
|
||||
}
|
||||
|
||||
<ignoreBlock,ignoreEmbeddedBlock>{spaceNl}{endOfSection} {
|
||||
<ignoreBlock,ignoreEmbeddedBlock>{space}{endOfSection} {
|
||||
yy_pop_state();
|
||||
}
|
||||
|
||||
<ignoreBlock,ignoreEmbeddedBlock>{spaceNl}{labelList} {
|
||||
<ignoreBlock,ignoreEmbeddedBlock>{space}{labelList} {
|
||||
}
|
||||
|
||||
<ignoreBlock,ignoreEmbeddedBlock>{spaceNl}{hexLabelList} {
|
||||
<ignoreBlock,ignoreEmbeddedBlock>{space}{hexLabelList} {
|
||||
}
|
||||
|
||||
<ignoreBlock,ignoreEmbeddedBlock>{spaceNl}{scalarList} {
|
||||
<ignoreBlock,ignoreEmbeddedBlock>{space}{scalarList} {
|
||||
}
|
||||
|
||||
<ignoreBlock,ignoreEmbeddedBlock>{spaceNl}{schemeSymbolList} {
|
||||
<ignoreBlock,ignoreEmbeddedBlock>{space}{schemeSymbolList} {
|
||||
}
|
||||
|
||||
<ignoreBlock,ignoreEmbeddedBlock>{spaceNl}{text} {
|
||||
<ignoreBlock,ignoreEmbeddedBlock>{space}{text} {
|
||||
}
|
||||
|
||||
|
||||
/* ------ Ignore remaining space and \n s. ------ */
|
||||
/* ------ Count newlines. ------ */
|
||||
|
||||
<*>{some_space}|\n|\r {
|
||||
<*>\n {
|
||||
lineNo++;
|
||||
}
|
||||
|
||||
|
||||
/* ------ Ignore remaining space. ------ */
|
||||
|
||||
<*>{some_space}|\r {
|
||||
}
|
||||
|
||||
|
||||
@ -706,7 +732,8 @@ endOfSection {space}")"{space}
|
||||
<*>. {
|
||||
// This is a catch all.
|
||||
FatalErrorIn("fluentMeshToFoam::lexer")
|
||||
<< "Do not understand characters: " << YYText()
|
||||
<< "Do not understand characters: " << YYText() << nl
|
||||
<< " on line " << lineNo
|
||||
<< exit(FatalError);
|
||||
}
|
||||
|
||||
@ -882,11 +909,8 @@ int main(int argc, char *argv[])
|
||||
// Check the face groups for boundary patches, baffles and faceZones
|
||||
// ignoring the interior zones in ignoreCellGroups
|
||||
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
label nPatches = 0;
|
||||
labelList patchIDs(faceGroupZoneID.size());
|
||||
|
||||
label nFaceZones = 0;
|
||||
labelList faceZoneIDs(faceGroupZoneID.size());
|
||||
DynamicList<label> patchIDs(faceGroupZoneID.size());
|
||||
DynamicList<label> faceZoneIDs(faceGroupZoneID.size());
|
||||
|
||||
forAll(faceGroupZoneID, fgi)
|
||||
{
|
||||
@ -900,13 +924,13 @@ int main(int argc, char *argv[])
|
||||
// Check the first element of neighbour for boundary group
|
||||
if (neighbour[start] == -1 || fluentGroupToFoamPatch.found(type))
|
||||
{
|
||||
patchIDs[nPatches++] = fgi;
|
||||
patchIDs.append(fgi);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!ignoreFaceGroups.found(groupName[faceGroupZoneID[fgi] ]))
|
||||
if (!ignoreFaceGroups.found(groupName[faceGroupZoneID[fgi]]))
|
||||
{
|
||||
faceZoneIDs[nFaceZones++] = fgi;
|
||||
faceZoneIDs.append(fgi);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -928,20 +952,32 @@ int main(int argc, char *argv[])
|
||||
}
|
||||
else
|
||||
{
|
||||
FatalErrorIn(args.executable())
|
||||
<< "Unknown FaceGroup " << zoneID << " not in a zone"
|
||||
<< exit(FatalError);
|
||||
if (neighbour[start] == -1)
|
||||
{
|
||||
// Boundary face in unknown group. Create a patch for it.
|
||||
groupType.insert(zoneID, "unknown");
|
||||
groupName.insert(zoneID, "FaceGroup" + Foam::name(zoneID));
|
||||
patchIDs.append(fgi);
|
||||
Info<< "Created patch " << fgi << " for unknown FaceGroup "
|
||||
<< zoneID << '.' << endl;
|
||||
}
|
||||
else
|
||||
{
|
||||
WarningIn(args.executable())
|
||||
<< "Unknown FaceGroup " << zoneID << " not in a zone"
|
||||
<< endl;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
patchIDs.setSize(nPatches);
|
||||
faceZoneIDs.setSize(nFaceZones);
|
||||
patchIDs.shrink();
|
||||
faceZoneIDs.shrink();
|
||||
|
||||
|
||||
// Add empty patches
|
||||
// ~~~~~~~~~~~~~~~~~
|
||||
|
||||
List<polyPatch*> newPatches(nPatches);
|
||||
List<polyPatch*> newPatches(patchIDs.size());
|
||||
HashSet<word> patchNames;
|
||||
|
||||
forAll(patchIDs, patchi)
|
||||
@ -1024,7 +1060,7 @@ int main(int argc, char *argv[])
|
||||
}
|
||||
|
||||
// Face zones
|
||||
mesh.faceZones().setSize(nFaceZones);
|
||||
mesh.faceZones().setSize(faceZoneIDs.size());
|
||||
HashSet<word> faceZoneNames;
|
||||
|
||||
forAll(faceZoneIDs, faceZonei)
|
||||
@ -1098,6 +1134,8 @@ int main(int argc, char *argv[])
|
||||
}
|
||||
|
||||
|
||||
bool doneWarning = false;
|
||||
|
||||
// Add faceZone faces
|
||||
forAll(faceZoneIDs, faceZonei)
|
||||
{
|
||||
@ -1113,19 +1151,36 @@ int main(int argc, char *argv[])
|
||||
|
||||
for (label facei = start; facei <= end; facei++)
|
||||
{
|
||||
meshMod.addFace
|
||||
(
|
||||
faces[facei],
|
||||
owner[facei],
|
||||
neighbour[facei],
|
||||
-1, // masterPointID
|
||||
-1, // masterEdgeID
|
||||
facei, // masterFace
|
||||
false, // flipFaceFlux
|
||||
-1, // patchID
|
||||
faceZonei, // zoneID
|
||||
false // zoneFlip
|
||||
);
|
||||
if (owner[facei] >= nCells || neighbour[facei] >= nCells)
|
||||
{
|
||||
if (!doneWarning)
|
||||
{
|
||||
WarningIn(args.executable())
|
||||
<< "Ignoring internal face " << facei
|
||||
<< " on FaceZone " << zoneID
|
||||
<< " since owner " << owner[facei] << " or neighbour "
|
||||
<< neighbour[facei] << " outside range of cells 0.."
|
||||
<< nCells-1 << endl
|
||||
<< " Suppressing future warnings." << endl;
|
||||
doneWarning = true;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
meshMod.addFace
|
||||
(
|
||||
faces[facei],
|
||||
owner[facei],
|
||||
neighbour[facei],
|
||||
-1, // masterPointID
|
||||
-1, // masterEdgeID
|
||||
facei, // masterFace
|
||||
false, // flipFaceFlux
|
||||
-1, // patchID
|
||||
faceZonei, // zoneID
|
||||
false // zoneFlip
|
||||
);
|
||||
}
|
||||
|
||||
// Mark face as being done
|
||||
owner[facei] = -1;
|
||||
@ -1147,27 +1202,26 @@ int main(int argc, char *argv[])
|
||||
|
||||
for (label facei = start; facei <= end; facei++)
|
||||
{
|
||||
meshMod.addFace
|
||||
(
|
||||
faces[facei],
|
||||
owner[facei],
|
||||
-1,
|
||||
-1, // masterPointID
|
||||
-1, // masterEdgeID
|
||||
facei, // masterFace
|
||||
false, // flipFaceFlux
|
||||
patchi, // patchID
|
||||
-1, // zoneID
|
||||
false // zoneFlip
|
||||
);
|
||||
|
||||
// For baffles create the opposite face
|
||||
if (neighbour[start] != -1)
|
||||
if (owner[facei] >= nCells || neighbour[facei] >= nCells)
|
||||
{
|
||||
if (!doneWarning)
|
||||
{
|
||||
WarningIn(args.executable())
|
||||
<< "Ignoring patch face " << facei
|
||||
<< " on FaceZone " << zoneID
|
||||
<< " since owner " << owner[facei] << " or neighbour "
|
||||
<< neighbour[facei] << " outside range of cells 0.."
|
||||
<< nCells-1 << endl
|
||||
<< " Suppressing future warnings." << endl;
|
||||
doneWarning = true;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
meshMod.addFace
|
||||
(
|
||||
faces[facei].reverseFace(),
|
||||
neighbour[facei],
|
||||
faces[facei],
|
||||
owner[facei],
|
||||
-1,
|
||||
-1, // masterPointID
|
||||
-1, // masterEdgeID
|
||||
@ -1177,8 +1231,25 @@ int main(int argc, char *argv[])
|
||||
-1, // zoneID
|
||||
false // zoneFlip
|
||||
);
|
||||
}
|
||||
|
||||
// For baffles create the opposite face
|
||||
if (neighbour[start] != -1)
|
||||
{
|
||||
meshMod.addFace
|
||||
(
|
||||
faces[facei].reverseFace(),
|
||||
neighbour[facei],
|
||||
-1,
|
||||
-1, // masterPointID
|
||||
-1, // masterEdgeID
|
||||
facei, // masterFace
|
||||
false, // flipFaceFlux
|
||||
patchi, // patchID
|
||||
-1, // zoneID
|
||||
false // zoneFlip
|
||||
);
|
||||
}
|
||||
}
|
||||
// Mark face as being done
|
||||
owner[facei] = -1;
|
||||
}
|
||||
@ -1198,19 +1269,35 @@ int main(int argc, char *argv[])
|
||||
<< exit(FatalError);
|
||||
}
|
||||
|
||||
meshMod.addFace
|
||||
(
|
||||
faces[facei],
|
||||
owner[facei],
|
||||
neighbour[facei],
|
||||
-1, //masterPointID
|
||||
-1, //masterEdgeID
|
||||
facei, //masterFace
|
||||
false, //flipFaceFlux
|
||||
-1, //patchID
|
||||
-1, //zoneID
|
||||
false //zoneFlip
|
||||
);
|
||||
if (owner[facei] >= nCells || neighbour[facei] >= nCells)
|
||||
{
|
||||
if (!doneWarning)
|
||||
{
|
||||
WarningIn(args.executable())
|
||||
<< "Ignoring internal face " << facei
|
||||
<< " since owner " << owner[facei] << " or neighbour "
|
||||
<< neighbour[facei] << " outside range of cells 0.."
|
||||
<< nCells-1 << endl
|
||||
<< " Suppressing future warnings." << endl;
|
||||
doneWarning = true;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
meshMod.addFace
|
||||
(
|
||||
faces[facei],
|
||||
owner[facei],
|
||||
neighbour[facei],
|
||||
-1, //masterPointID
|
||||
-1, //masterEdgeID
|
||||
facei, //masterFace
|
||||
false, //flipFaceFlux
|
||||
-1, //patchID
|
||||
-1, //zoneID
|
||||
false //zoneFlip
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user