Merge branch 'master' of ssh://andy@noisy/home/noisy2/OpenFOAM/OpenFOAM-dev

This commit is contained in:
andy
2008-05-30 09:25:02 +01:00
9 changed files with 106 additions and 81 deletions

View File

@ -70,7 +70,11 @@ PtrList<SLList<label> > slPatchCellFaces;
// Dummy yywrap to keep yylex happy at compile time. // Dummy yywrap to keep yylex happy at compile time.
// It is called by yylex but is not used as the mechanism to change file. // It is called by yylex but is not used as the mechanism to change file.
// See <<EOF>> // See <<EOF>>
#if YY_FLEX_SUBMINOR_VERSION < 34
extern "C" int yywrap() extern "C" int yywrap()
#else
int yyFlexLexer::yywrap()
#endif
{ {
return 1; return 1;
} }
@ -393,7 +397,7 @@ int main(int argc, char *argv[])
} }
// Warning: tet face order has changed between version 1.9.6 and 2.0 // Warning: tet face order has changed between version 1.9.6 and 2.0
// //
label faceIndex[7][6] = label faceIndex[7][6] =
{ {
{-1, -1, -1, -1, -1, -1}, // 0 {-1, -1, -1, -1, -1, -1}, // 0

View File

@ -116,7 +116,11 @@ void uniquify(word& name, HashSet<word>& patchNames)
// Dummy yywrap to keep yylex happy at compile time. // Dummy yywrap to keep yylex happy at compile time.
// It is called by yylex but is not used as the mechanism to change file. // It is called by yylex but is not used as the mechanism to change file.
// See <<EOF>> // See <<EOF>>
#if YY_FLEX_SUBMINOR_VERSION < 34
extern "C" int yywrap() extern "C" int yywrap()
#else
int yyFlexLexer::yywrap()
#endif
{ {
return 1; return 1;
} }

View File

@ -93,7 +93,7 @@ SLList<label> cellGroupEndIndex;
SLList<label> cellGroupType; SLList<label> cellGroupType;
// number of zones adjusted at run-time if necessary // number of zones adjusted at run-time if necessary
label maxZoneID = 100; label maxZoneID = 100;
label zoneIDBuffer = 10; label zoneIDBuffer = 10;
wordList patchTypeIDs(maxZoneID); wordList patchTypeIDs(maxZoneID);
@ -102,7 +102,11 @@ wordList patchNameIDs(maxZoneID);
// Dummy yywrap to keep yylex happy at compile time. // Dummy yywrap to keep yylex happy at compile time.
// It is called by yylex but is not used as the mechanism to change file. // It is called by yylex but is not used as the mechanism to change file.
// See <<EOF>> // See <<EOF>>
#if YY_FLEX_SUBMINOR_VERSION < 34
extern "C" int yywrap() extern "C" int yywrap()
#else
int yyFlexLexer::yywrap()
#endif
{ {
return 1; return 1;
} }
@ -343,7 +347,7 @@ endOfSection {space}")"{space}
// In FOAM, indices start from zero - adjust // In FOAM, indices start from zero - adjust
pointI = pointGroupStartIndex.last() - 1; pointI = pointGroupStartIndex.last() - 1;
// reset number of components to default // reset number of components to default
pointGroupNumberOfComponents = 3; pointGroupNumberOfComponents = 3;
// read number of components in the vector // read number of components in the vector
@ -375,7 +379,7 @@ endOfSection {space}")"{space}
IStringStream vertexXyzStream(YYText()); IStringStream vertexXyzStream(YYText());
// Note: coordinates must be read one at the time. // Note: coordinates must be read one at the time.
scalar x = readScalar(vertexXyzStream); scalar x = readScalar(vertexXyzStream);
scalar y = readScalar(vertexXyzStream); scalar y = readScalar(vertexXyzStream);
@ -387,7 +391,7 @@ endOfSection {space}")"{space}
IStringStream vertexXyzStream(YYText()); IStringStream vertexXyzStream(YYText());
// Note: coordinates must be read one at the time. // Note: coordinates must be read one at the time.
scalar x = readScalar(vertexXyzStream); scalar x = readScalar(vertexXyzStream);
scalar y = readScalar(vertexXyzStream); scalar y = readScalar(vertexXyzStream);
scalar z = readScalar(vertexXyzStream); scalar z = readScalar(vertexXyzStream);
@ -587,7 +591,7 @@ endOfSection {space}")"{space}
// Note. Potentially skip cell set if type is zero. // Note. Potentially skip cell set if type is zero.
// This entry does not exist in Tgrid files. // This entry does not exist in Tgrid files.
if (dimensionOfGrid == 2) if (dimensionOfGrid == 2)
{ {
// Tgrid creating triangles // Tgrid creating triangles
@ -702,7 +706,7 @@ endOfSection {space}")"{space}
IStringStream zoneDataStream(YYText()); IStringStream zoneDataStream(YYText());
// cell zone-ID not in hexadecimal!!! Inconsistency // cell zone-ID not in hexadecimal!!! Inconsistency
label zoneID(readLabel(zoneDataStream)); label zoneID(readLabel(zoneDataStream));
if (zoneID > maxZoneID - 1) if (zoneID > maxZoneID - 1)
@ -727,7 +731,7 @@ endOfSection {space}")"{space}
// Fluent manual inconsistency, version 6.1.22 // Fluent manual inconsistency, version 6.1.22
IStringStream zoneDataStream(YYText()); IStringStream zoneDataStream(YYText());
// cell zone-ID not in hexadecimal!!! Inconsistency // cell zone-ID not in hexadecimal!!! Inconsistency
label zoneID(readLabel(zoneDataStream)); label zoneID(readLabel(zoneDataStream));
if (zoneID > maxZoneID - 1) if (zoneID > maxZoneID - 1)
@ -879,7 +883,7 @@ int main(int argc, char *argv[])
{ {
scaleFactor = atof(args.options()["scale"].c_str()); scaleFactor = atof(args.options()["scale"].c_str());
} }
bool writeSets = args.options().found("writeSets"); bool writeSets = args.options().found("writeSets");
bool writeZones = args.options().found("writeZones"); bool writeZones = args.options().found("writeZones");
@ -901,7 +905,7 @@ int main(int argc, char *argv[])
Info<< "\n\nFINISHED LEXING\n\n\n"; Info<< "\n\nFINISHED LEXING\n\n\n";
// Lookup table giving number of vertices given a fluent cell type ID // Lookup table giving number of vertices given a fluent cell type ID
// Currently not used. // Currently not used.
// label fluentModelNVertices[7] = {-1, 3, 4, 4, 8, 5, 6}; // label fluentModelNVertices[7] = {-1, 3, 4, 4, 8, 5, 6};
// Lookup table giving number of vertices given a fluent cell type ID // Lookup table giving number of vertices given a fluent cell type ID
@ -973,7 +977,7 @@ int main(int argc, char *argv[])
// Note: In order for the owner-neighbour rules to be right, the // Note: In order for the owner-neighbour rules to be right, the
// points given by Fluent need to represent the FRONT plane of the // points given by Fluent need to represent the FRONT plane of the
// geometry. Therefore, the extrusion will be in -z direction // geometry. Therefore, the extrusion will be in -z direction
// //
forAll (oldPoints, pointI) forAll (oldPoints, pointI)
{ {
points[nNewPoints] = oldPoints[pointI]; points[nNewPoints] = oldPoints[pointI];
@ -1131,20 +1135,20 @@ int main(int argc, char *argv[])
//make patchless mesh before analysing boundaries //make patchless mesh before analysing boundaries
faceListList patches(0); faceListList patches(0);
wordList patchNames(0); wordList patchNames(0);
wordList patchTypes(0); wordList patchTypes(0);
word defaultFacesName = "defaultFaces"; word defaultFacesName = "defaultFaces";
word defaultFacesType = emptyPolyPatch::typeName; word defaultFacesType = emptyPolyPatch::typeName;
wordList patchPhysicalTypes(0); wordList patchPhysicalTypes(0);
// Scale the points // Scale the points
points *= scaleFactor; points *= scaleFactor;
Info<< "Building patch-less mesh..." << flush; Info<< "Building patch-less mesh..." << flush;
polyMesh pShapeMesh polyMesh pShapeMesh
( (
IOobject IOobject
@ -1167,13 +1171,13 @@ int main(int argc, char *argv[])
//and zones wont be written //and zones wont be written
//checkmesh done after patch addition as well //checkmesh done after patch addition as well
Info<< "done." << endl; Info<< "done." << endl;
Info<< endl << "Building boundary and internal patches." << endl; Info<< endl << "Building boundary and internal patches." << endl;
//adding patches after mesh construction allows topological checks //adding patches after mesh construction allows topological checks
//on whether a patch is internal or external, something fluent //on whether a patch is internal or external, something fluent
//doesnt seem to mind //doesnt seem to mind
// Make boundary patches // Make boundary patches
SLList<label>::iterator faceGroupZoneIDIter = faceGroupZoneID.begin(); SLList<label>::iterator faceGroupZoneIDIter = faceGroupZoneID.begin();
@ -1183,7 +1187,7 @@ int main(int argc, char *argv[])
// Note. Not all groups of faces will be boundary patches. // Note. Not all groups of faces will be boundary patches.
// Take care on construction // Take care on construction
//2D needs extra space for frontAndBack faces //2D needs extra space for frontAndBack faces
if (dimensionOfGrid == 2) if (dimensionOfGrid == 2)
{ {
@ -1221,7 +1225,7 @@ int main(int argc, char *argv[])
Info<< "Creating patch " << nPatches Info<< "Creating patch " << nPatches
<< " for zone: " << faceGroupZoneIDIter() << " for zone: " << faceGroupZoneIDIter()
<< " start: " << faceGroupStartIndexIter() << " start: " << faceGroupStartIndexIter()
<< " end: " << faceGroupEndIndexIter() << " end: " << faceGroupEndIndexIter()
<< " type: " << curPatchType << " name: " << curPatchName << endl; << " type: " << curPatchType << " name: " << curPatchName << endl;
@ -1251,7 +1255,7 @@ int main(int argc, char *argv[])
} }
//inlets and outlets //inlets and outlets
if if
( (
curPatchType == "pressure" curPatchType == "pressure"
|| curPatchType == "pressure-inlet" || curPatchType == "pressure-inlet"
@ -1317,7 +1321,7 @@ int main(int argc, char *argv[])
Info<< "Patch " << faceGroupZoneIDIter() Info<< "Patch " << faceGroupZoneIDIter()
<< ": Faces are defined but " << ": Faces are defined but "
<< "not created as a zone." << endl << "not created as a zone." << endl
<< "Null specification is only valid for internal faces." << "Null specification is only valid for internal faces."
<< endl; << endl;
patches[nPatches] = patchFaces; patches[nPatches] = patchFaces;
@ -1346,14 +1350,14 @@ int main(int argc, char *argv[])
nPatches++; nPatches++;
} }
//Now have all patch information, //Now have all patch information,
//check whether each patch is internal or external //check whether each patch is internal or external
//and add boundaries to mesh //and add boundaries to mesh
//also write face sets of all patches //also write face sets of all patches
patches.setSize(nPatches); patches.setSize(nPatches);
patchTypes.setSize(nPatches); patchTypes.setSize(nPatches);
patchNames.setSize(nPatches); patchNames.setSize(nPatches);
//old polyBoundary //old polyBoundary
const polyBoundaryMesh& oPatches = pShapeMesh.boundaryMesh(); const polyBoundaryMesh& oPatches = pShapeMesh.boundaryMesh();
@ -1401,12 +1405,12 @@ int main(int argc, char *argv[])
//if a face is defined as internal but is actually external //if a face is defined as internal but is actually external
//it will be put in a default wall boundary //it will be put in a default wall boundary
//internal boundaries are simply ignored //internal boundaries are simply ignored
if(patchTypes[patchI] != "internal" && !pShapeMesh.isInternalFace(meshFaces[0])) if(patchTypes[patchI] != "internal" && !pShapeMesh.isInternalFace(meshFaces[0]))
{ {
//first face is external and has valid non-internal type //first face is external and has valid non-internal type
//check all faces for externalness just to be sure //check all faces for externalness just to be sure
//and mark patch number to global list //and mark patch number to global list
forAll(meshFaces, i) forAll(meshFaces, i)
{ {
@ -1424,7 +1428,7 @@ int main(int argc, char *argv[])
if(facePatchID[faceI - pShapeMesh.nInternalFaces()]!= -1) if(facePatchID[faceI - pShapeMesh.nInternalFaces()]!= -1)
{ {
FatalErrorIn(args.executable()) FatalErrorIn(args.executable())
<< "Face " << faceI << " on new patch " << "Face " << faceI << " on new patch "
<< patchNames[patchI] << patchNames[patchI]
<< " has already been marked for repatching to" << " has already been marked for repatching to"
<< " patch " << " patch "
@ -1435,8 +1439,8 @@ int main(int argc, char *argv[])
} }
//add to boundary patch //add to boundary patch
Info<< "Adding new patch " << patchNames[patchI] Info<< "Adding new patch " << patchNames[patchI]
<< " of type " << patchTypes[patchI] << " of type " << patchTypes[patchI]
<< " as patch " << nBoundaries << endl; << " as patch " << nBoundaries << endl;
@ -1458,15 +1462,15 @@ int main(int argc, char *argv[])
} }
else else
{ {
Info<< "Patch " << patchNames[patchI] Info<< "Patch " << patchNames[patchI]
<< " is internal to the mesh " << " is internal to the mesh "
<< " and is not being added to the boundary." << " and is not being added to the boundary."
<< endl; << endl;
} }
} }
// Check for any remaining boundary faces // Check for any remaining boundary faces
// and add them to a default wall patch // and add them to a default wall patch
// this routine should generally not be invoked // this routine should generally not be invoked
{ {
@ -1480,16 +1484,16 @@ int main(int argc, char *argv[])
} }
} }
defaultBoundaryFaces.shrink(); defaultBoundaryFaces.shrink();
if(defaultBoundaryFaces.size() != 0) if(defaultBoundaryFaces.size() != 0)
{ {
Warning << " fluent mesh has " << defaultBoundaryFaces.size() Warning << " fluent mesh has " << defaultBoundaryFaces.size()
<< " undefined boundary faces." << endl << " undefined boundary faces." << endl
<< " Adding undefined faces to new patch `default_wall`" << " Adding undefined faces to new patch `default_wall`"
<< endl; << endl;
// Add patch to new patch list // Add patch to new patch list
newPatches.append newPatches.append
( (
polyPatch::New polyPatch::New
@ -1506,11 +1510,11 @@ int main(int argc, char *argv[])
cMeshFace += defaultBoundaryFaces.size(); cMeshFace += defaultBoundaryFaces.size();
} }
} }
newPatches.shrink(); newPatches.shrink();
// Use facePatchIDs map to reorder boundary faces into compact regions // Use facePatchIDs map to reorder boundary faces into compact regions
repatchPolyTopoChanger repatcher(pShapeMesh); repatchPolyTopoChanger repatcher(pShapeMesh);
// Add new list of patches // Add new list of patches
@ -1544,11 +1548,11 @@ int main(int argc, char *argv[])
// Zones // Zones
// will write out cell zones and internal faces for those zones // will write out cell zones and internal faces for those zones
// note: zone boundary faces are not added to face zones // note: zone boundary faces are not added to face zones
// the names of boundaries bordering on cell zones are written to // the names of boundaries bordering on cell zones are written to
// a list containing the boundary name and cellzone it borders on // a list containing the boundary name and cellzone it borders on
// interior boundaries are handled via faceSets // interior boundaries are handled via faceSets
// cell zones will only be written if there is more than one // cell zones will only be written if there is more than one
if (writeZones && cellGroupZoneID.size()>1) if (writeZones && cellGroupZoneID.size()>1)
{ {
Info<< "Adding Zones" << endl; Info<< "Adding Zones" << endl;
@ -1559,14 +1563,14 @@ int main(int argc, char *argv[])
// Make face zones for cell zones // Make face zones for cell zones
List<faceZone*> fz(nrCellZones); List<faceZone*> fz(nrCellZones);
// List of patch names and the cellZone(s) they border // List of patch names and the cellZone(s) they border
// this is just an info file to make MRF easier to setup // this is just an info file to make MRF easier to setup
List<DynamicList<word> > boundaryZones List<DynamicList<word> > boundaryZones
( (
pShapeMesh.boundaryMesh().size() pShapeMesh.boundaryMesh().size()
); );
const polyBoundaryMesh& bPatches = pShapeMesh.boundaryMesh(); const polyBoundaryMesh& bPatches = pShapeMesh.boundaryMesh();
forAll(bPatches, pI) forAll(bPatches, pI)
{ {
@ -1591,7 +1595,7 @@ int main(int argc, char *argv[])
// Mark zone cells, used for finding faces // Mark zone cells, used for finding faces
boolList zoneCell(pShapeMesh.nCells(), false); boolList zoneCell(pShapeMesh.nCells(), false);
// shift cell indizes by 1 // shift cell indizes by 1
label nr=0; label nr=0;
for (label celli = (start() - 1); celli < end(); celli++) for (label celli = (start() - 1); celli < end(); celli++)
@ -1645,11 +1649,11 @@ int main(int argc, char *argv[])
break; break;
} }
} }
} }
cnt++; cnt++;
} }
pShapeMesh.addZones(pz, fz, cz); pShapeMesh.addZones(pz, fz, cz);
forAll(bPatches, pI) forAll(bPatches, pI)
@ -1676,10 +1680,10 @@ int main(int argc, char *argv[])
} }
Info<< endl << "Writing mesh..." << flush; Info<< endl << "Writing mesh..." << flush;
Info<< " to " << pShapeMesh.instance()/pShapeMesh.meshDir() Info<< " to " << pShapeMesh.instance()/pShapeMesh.meshDir()
<< " " << flush; << " " << flush;
pShapeMesh.setInstance(pShapeMesh.instance()); pShapeMesh.setInstance(pShapeMesh.instance());
pShapeMesh.write(); pShapeMesh.write();
Info<< "done." << endl << endl; Info<< "done." << endl << endl;

View File

@ -78,7 +78,11 @@ label nValuesForPatchFaces = 0;
// Dummy yywrap to keep yylex happy at compile time. // Dummy yywrap to keep yylex happy at compile time.
// It is called by yylex but is not used as the mechanism to change file. // It is called by yylex but is not used as the mechanism to change file.
// See <<EOF>> // See <<EOF>>
#if YY_FLEX_SUBMINOR_VERSION < 34
extern "C" int yywrap() extern "C" int yywrap()
#else
int yyFlexLexer::yywrap()
#endif
{ {
return 1; return 1;
} }
@ -308,7 +312,7 @@ mtype {space}"MTYPE:"{space}
label nodeI(readLabel(nodeStream)); label nodeI(readLabel(nodeStream));
// Note: coordinates must be read one at the time. // Note: coordinates must be read one at the time.
scalar x = readScalar(nodeStream); scalar x = readScalar(nodeStream);
scalar y = readScalar(nodeStream); scalar y = readScalar(nodeStream);
scalar z = readScalar(nodeStream); scalar z = readScalar(nodeStream);
@ -676,7 +680,7 @@ int main(int argc, char *argv[])
} }
} }
labelList pointLookup(maxPointIndex + 1, -1); labelList pointLookup(maxPointIndex + 1, -1);
forAll (pointMap, pointI) forAll (pointMap, pointI)
@ -806,7 +810,7 @@ int main(int argc, char *argv[])
] ]
[curFaces[faceI] - 1] // this gives a fluent face - 1 [curFaces[faceI] - 1] // this gives a fluent face - 1
]; ];
} }
} }

View File

@ -65,7 +65,7 @@ export WM_PROJECT_USER_DIR=$HOME/$WM_PROJECT/$USER-$WM_PROJECT_VERSION
# Compiler: set to Gcc, Gcc43 or Icc (for Intel's icc) # Compiler: set to Gcc, Gcc43 or Icc (for Intel's icc)
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
export WM_COMPILER=Gcc43 : ${WM_COMPILER:=Gcc}; export WM_COMPILER
export WM_COMPILER_ARCH= export WM_COMPILER_ARCH=
export WM_COMPILER_LIB_ARCH= export WM_COMPILER_LIB_ARCH=

View File

@ -57,7 +57,7 @@ setenv WM_PROJECT_USER_DIR $HOME/$WM_PROJECT/$LOGNAME-$WM_PROJECT_VERSION
# Compiler: set to Gcc, Gcc43 or Icc (for Intel's icc) # Compiler: set to Gcc, Gcc43 or Icc (for Intel's icc)
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
setenv WM_COMPILER Gcc43 if ( ! $?WM_COMPILER ) setenv WM_COMPILER Gcc
setenv WM_COMPILER_ARCH setenv WM_COMPILER_ARCH
setenv WM_COMPILER_LIB_ARCH setenv WM_COMPILER_LIB_ARCH

View File

@ -21,7 +21,7 @@ License
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with OpenFOAM; if not, write to the Free Software Foundation, along with OpenFOAM; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
#include "CrankNicholsonDdtScheme.H" #include "CrankNicholsonDdtScheme.H"
@ -69,7 +69,7 @@ CrankNicholsonDdtScheme<Type>::DDt0Field<GeoField>::DDt0Field
) )
: :
GeoField(io, mesh, dimType), GeoField(io, mesh, dimType),
startTimeIndex_(mesh.time().timeIndex()) startTimeIndex_(mesh.time().timeIndex())
{} {}
@ -324,7 +324,7 @@ CrankNicholsonDdtScheme<Type>::fvcDdt
{ {
dimensionedScalar rDtCoef0 = rDtCoef0_(ddt0); dimensionedScalar rDtCoef0 = rDtCoef0_(ddt0);
ddt0.dimensionedInternalField() = ddt0.dimensionedInternalField() =
( (
(rDtCoef0*dt)*(mesh().V0() - mesh().V00()) (rDtCoef0*dt)*(mesh().V0() - mesh().V00())
- mesh().V00()*offCentre_(ddt0.dimensionedInternalField()) - mesh().V00()*offCentre_(ddt0.dimensionedInternalField())
@ -371,7 +371,7 @@ CrankNicholsonDdtScheme<Type>::fvcDdt
{ {
scalar rDtCoef0 = rDtCoef0_(ddt0).value(); scalar rDtCoef0 = rDtCoef0_(ddt0).value();
ddt0.internalField() = ddt0.internalField() =
( (
rDtCoef0* rDtCoef0*
( (
@ -380,7 +380,7 @@ CrankNicholsonDdtScheme<Type>::fvcDdt
) - mesh().V00()*offCentre_(ddt0.internalField()) ) - mesh().V00()*offCentre_(ddt0.internalField())
)/mesh().V0(); )/mesh().V0();
ddt0.boundaryField() = ddt0.boundaryField() =
( (
rDtCoef0* rDtCoef0*
( (
@ -461,7 +461,7 @@ CrankNicholsonDdtScheme<Type>::fvcDdt
{ {
scalar rDtCoef0 = rDtCoef0_(ddt0).value(); scalar rDtCoef0 = rDtCoef0_(ddt0).value();
ddt0.internalField() = ddt0.internalField() =
( (
rDtCoef0*rho.value()* rDtCoef0*rho.value()*
( (
@ -470,7 +470,7 @@ CrankNicholsonDdtScheme<Type>::fvcDdt
) - mesh().V00()*offCentre_(ddt0.internalField()) ) - mesh().V00()*offCentre_(ddt0.internalField())
)/mesh().V0(); )/mesh().V0();
ddt0.boundaryField() = ddt0.boundaryField() =
( (
rDtCoef0*rho.value()* rDtCoef0*rho.value()*
( (
@ -551,7 +551,7 @@ CrankNicholsonDdtScheme<Type>::fvcDdt
{ {
scalar rDtCoef0 = rDtCoef0_(ddt0).value(); scalar rDtCoef0 = rDtCoef0_(ddt0).value();
ddt0.internalField() = ddt0.internalField() =
( (
rDtCoef0* rDtCoef0*
( (
@ -562,7 +562,7 @@ CrankNicholsonDdtScheme<Type>::fvcDdt
) - mesh().V00()*offCentre_(ddt0.internalField()) ) - mesh().V00()*offCentre_(ddt0.internalField())
)/mesh().V0(); )/mesh().V0();
ddt0.boundaryField() = ddt0.boundaryField() =
( (
rDtCoef0* rDtCoef0*
( (
@ -658,7 +658,7 @@ CrankNicholsonDdtScheme<Type>::fvmDdt
{ {
scalar rDtCoef0 = rDtCoef0_(ddt0).value(); scalar rDtCoef0 = rDtCoef0_(ddt0).value();
ddt0.internalField() = ddt0.internalField() =
( (
rDtCoef0* rDtCoef0*
( (
@ -668,7 +668,7 @@ CrankNicholsonDdtScheme<Type>::fvmDdt
- mesh().V00()*offCentre_(ddt0.internalField()) - mesh().V00()*offCentre_(ddt0.internalField())
)/mesh().V0(); )/mesh().V0();
ddt0.boundaryField() = ddt0.boundaryField() =
( (
rDtCoef0* rDtCoef0*
( (
@ -693,7 +693,7 @@ CrankNicholsonDdtScheme<Type>::fvmDdt
- offCentre_(ddt0()); - offCentre_(ddt0());
} }
fvm.source() = fvm.source() =
( (
rDtCoef*vf.oldTime().internalField() rDtCoef*vf.oldTime().internalField()
+ offCentre_(ddt0.internalField()) + offCentre_(ddt0.internalField())
@ -740,7 +740,7 @@ CrankNicholsonDdtScheme<Type>::fvmDdt
{ {
scalar rDtCoef0 = rDtCoef0_(ddt0).value(); scalar rDtCoef0 = rDtCoef0_(ddt0).value();
ddt0.internalField() = ddt0.internalField() =
( (
rDtCoef0*rho.value()* rDtCoef0*rho.value()*
( (
@ -750,7 +750,7 @@ CrankNicholsonDdtScheme<Type>::fvmDdt
- mesh().V00()*offCentre_(ddt0.internalField()) - mesh().V00()*offCentre_(ddt0.internalField())
)/mesh().V0(); )/mesh().V0();
ddt0.boundaryField() = ddt0.boundaryField() =
( (
rDtCoef0*rho.value()* rDtCoef0*rho.value()*
( (
@ -775,7 +775,7 @@ CrankNicholsonDdtScheme<Type>::fvmDdt
- offCentre_(ddt0()); - offCentre_(ddt0());
} }
fvm.source() = fvm.source() =
( (
rDtCoef*rho.value()*vf.oldTime().internalField() rDtCoef*rho.value()*vf.oldTime().internalField()
+ offCentre_(ddt0.internalField()) + offCentre_(ddt0.internalField())
@ -823,7 +823,7 @@ CrankNicholsonDdtScheme<Type>::fvmDdt
{ {
scalar rDtCoef0 = rDtCoef0_(ddt0).value(); scalar rDtCoef0 = rDtCoef0_(ddt0).value();
ddt0.internalField() = ddt0.internalField() =
( (
rDtCoef0* rDtCoef0*
( (
@ -835,7 +835,7 @@ CrankNicholsonDdtScheme<Type>::fvmDdt
- mesh().V00()*offCentre_(ddt0.internalField()) - mesh().V00()*offCentre_(ddt0.internalField())
)/mesh().V0(); )/mesh().V0();
ddt0.boundaryField() = ddt0.boundaryField() =
( (
rDtCoef0* rDtCoef0*
( (
@ -865,7 +865,7 @@ CrankNicholsonDdtScheme<Type>::fvmDdt
) - offCentre_(ddt0()); ) - offCentre_(ddt0());
} }
fvm.source() = fvm.source() =
( (
rDtCoef*rho.oldTime().internalField()*vf.oldTime().internalField() rDtCoef*rho.oldTime().internalField()*vf.oldTime().internalField()
+ offCentre_(ddt0.internalField()) + offCentre_(ddt0.internalField())
@ -930,14 +930,14 @@ CrankNicholsonDdtScheme<Type>::fvcDdtPhiCorr
{ {
if (evaluate(dUdt0)) if (evaluate(dUdt0))
{ {
dUdt0 = dUdt0 =
rDtCoef0_(dUdt0)*(U.oldTime() - U.oldTime().oldTime()) rDtCoef0_(dUdt0)*(U.oldTime() - U.oldTime().oldTime())
- offCentre_(dUdt0()); - offCentre_(dUdt0());
} }
if (evaluate(dphidt0)) if (evaluate(dphidt0))
{ {
dphidt0 = dphidt0 =
rDtCoef0_(dphidt0)*(phi.oldTime() - phi.oldTime().oldTime()) rDtCoef0_(dphidt0)*(phi.oldTime() - phi.oldTime().oldTime())
- offCentre_(dphidt0()); - offCentre_(dphidt0());
} }
@ -1065,7 +1065,7 @@ CrankNicholsonDdtScheme<Type>::fvcDdtPhiCorr
) )
); );
} }
else if else if
( (
U.dimensions() == dimVelocity U.dimensions() == dimVelocity
&& phi.dimensions() == rho.dimensions()*dimVelocity*dimArea && phi.dimensions() == rho.dimensions()*dimVelocity*dimArea
@ -1117,7 +1117,7 @@ CrankNicholsonDdtScheme<Type>::fvcDdtPhiCorr
) )
); );
} }
else if else if
( (
U.dimensions() == rho.dimensions()*dimVelocity U.dimensions() == rho.dimensions()*dimVelocity
&& phi.dimensions() == rho.dimensions()*dimVelocity*dimArea && phi.dimensions() == rho.dimensions()*dimVelocity*dimArea
@ -1186,7 +1186,7 @@ tmp<surfaceScalarField> CrankNicholsonDdtScheme<Type>::meshPhi
if (evaluate(meshPhi0)) if (evaluate(meshPhi0))
{ {
meshPhi0 = meshPhi0 =
coef0_(meshPhi0)*mesh().phi().oldTime() - offCentre_(meshPhi0()); coef0_(meshPhi0)*mesh().phi().oldTime() - offCentre_(meshPhi0());
} }

View File

@ -50,7 +50,11 @@ int yyFlexLexer::yylex()
// Dummy yywrap to keep yylex happy at compile time. // Dummy yywrap to keep yylex happy at compile time.
// It is called by yylex but is not used as the mechanism to change file. // It is called by yylex but is not used as the mechanism to change file.
// See <<EOF>> // See <<EOF>>
#if YY_FLEX_SUBMINOR_VERSION < 34
extern "C" int yywrap() extern "C" int yywrap()
#else
int yyFlexLexer::yywrap()
#endif
{ {
return 1; return 1;
} }

View File

@ -21,7 +21,7 @@ License
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with OpenFOAM; if not, write to the Free Software Foundation, along with OpenFOAM; if not, write to the Free Software Foundation,
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
\*---------------------------------------------------------------------------*/ \*---------------------------------------------------------------------------*/
%{ %{
@ -51,7 +51,11 @@ int yyFlexLexer::yylex()
// Dummy yywrap to keep yylex happy at compile time. // Dummy yywrap to keep yylex happy at compile time.
// It is called by yylex but is not used as the mechanism to change file. // It is called by yylex but is not used as the mechanism to change file.
// See <<EOF>> // See <<EOF>>
#if YY_FLEX_SUBMINOR_VERSION < 34
extern "C" int yywrap() extern "C" int yywrap()
#else
int yyFlexLexer::yywrap()
#endif
{ {
return 1; return 1;
} }
@ -391,7 +395,8 @@ bool triSurface::readSTLASCII(const fileName& STLfileName)
// Create the lexer obtaining the approximate number of vertices in the STL // Create the lexer obtaining the approximate number of vertices in the STL
// from the file size // from the file size
STLLexer lexer(&STLstream.stdStream(), Foam::size(STLfileName)/400); STLLexer lexer(&STLstream.stdStream(), Foam::size(STLfileName)/400);
while(lexer.lex() != 0); while(lexer.lex() != 0)
{}
DynamicList<STLpoint>& STLpoints = lexer.STLpoints(); DynamicList<STLpoint>& STLpoints = lexer.STLpoints();