diff --git a/applications/utilities/mesh/conversion/gmshToFoam/gmshToFoam.C b/applications/utilities/mesh/conversion/gmshToFoam/gmshToFoam.C index a3f607ba0b..fa1fe3b041 100644 --- a/applications/utilities/mesh/conversion/gmshToFoam/gmshToFoam.C +++ b/applications/utilities/mesh/conversion/gmshToFoam/gmshToFoam.C @@ -233,6 +233,44 @@ void storeCellInZone } +// Reads mesh format +scalar readMeshFormat(IFstream& inFile) +{ + Info<< "Starting to read mesh format at line " << inFile.lineNumber() << endl; + + string line; + inFile.getLine(line); + IStringStream lineStr(line); + + scalar version; + label asciiFlag, nBytes; + lineStr >> version >> asciiFlag >> nBytes; + + Info<< "Read format version " << version << " ascii " << asciiFlag << endl; + + if (asciiFlag != 0) + { + FatalIOErrorIn("readMeshFormat(IFstream&)", inFile) + << "Can only read ascii msh files." + << exit(FatalIOError); + } + + inFile.getLine(line); + IStringStream tagStr(line); + word tag(tagStr); + + if (tag != "$EndMeshFormat") + { + FatalIOErrorIn("readMeshFormat(IFstream&)", inFile) + << "Did not find $ENDNOD tag on line " + << inFile.lineNumber() << exit(FatalIOError); + } + Info<< endl; + + return version; +} + + // Reads points and map void readPoints(IFstream& inFile, pointField& points, Map