diff --git a/src/Allwmake b/src/Allwmake index 2c532a41aa..341ee2ed6f 100755 --- a/src/Allwmake +++ b/src/Allwmake @@ -2,7 +2,8 @@ cd ${0%/*} || exit 1 # run from this directory set -x -( cd OpenFOAM && wmakeLnInclude . ) +wmakeLnInclude -f OpenFOAM +wmakeLnInclude -f OSspecific/$WM_OS ( cd Pstream && ./Allwmake ) wmake libo OSspecific/$WM_OS diff --git a/src/thermophysicalModels/barotropicCompressibilityModel/Chung/Chung.C b/src/thermophysicalModels/barotropicCompressibilityModel/Chung/Chung.C index 36df9e7400..7e6caf6ad9 100644 --- a/src/thermophysicalModels/barotropicCompressibilityModel/Chung/Chung.C +++ b/src/thermophysicalModels/barotropicCompressibilityModel/Chung/Chung.C @@ -31,13 +31,16 @@ License namespace Foam { -namespace compressibilityModels -{ - -defineTypeNameAndDebug(Chung, 0); -addToRunTimeSelectionTable(barotropicCompressibilityModel, Chung, dictionary); - -} + namespace compressibilityModels + { + defineTypeNameAndDebug(Chung, 0); + addToRunTimeSelectionTable + ( + barotropicCompressibilityModel, + Chung, + dictionary + ); + } } // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // @@ -45,10 +48,11 @@ addToRunTimeSelectionTable(barotropicCompressibilityModel, Chung, dictionary); Foam::compressibilityModels::Chung::Chung ( const dictionary& compressibilityProperties, - const volScalarField& gamma + const volScalarField& gamma, + const word& psiName ) : - barotropicCompressibilityModel(compressibilityProperties, gamma), + barotropicCompressibilityModel(compressibilityProperties, gamma, psiName), psiv_(compressibilityProperties_.lookup("psiv")), psil_(compressibilityProperties_.lookup("psil")), rhovSat_(compressibilityProperties_.lookup("rhovSat")), diff --git a/src/thermophysicalModels/barotropicCompressibilityModel/Chung/Chung.H b/src/thermophysicalModels/barotropicCompressibilityModel/Chung/Chung.H index 56419ecbe9..97da534bcd 100644 --- a/src/thermophysicalModels/barotropicCompressibilityModel/Chung/Chung.H +++ b/src/thermophysicalModels/barotropicCompressibilityModel/Chung/Chung.H @@ -75,7 +75,8 @@ public: Chung ( const dictionary& compressibilityProperties, - const volScalarField& gamma + const volScalarField& gamma, + const word& psiName = "psi" ); diff --git a/src/thermophysicalModels/barotropicCompressibilityModel/Wallis/Wallis.C b/src/thermophysicalModels/barotropicCompressibilityModel/Wallis/Wallis.C index 5c7e7f753f..2e497b314c 100644 --- a/src/thermophysicalModels/barotropicCompressibilityModel/Wallis/Wallis.C +++ b/src/thermophysicalModels/barotropicCompressibilityModel/Wallis/Wallis.C @@ -31,13 +31,16 @@ License namespace Foam { -namespace compressibilityModels -{ - -defineTypeNameAndDebug(Wallis, 0); -addToRunTimeSelectionTable(barotropicCompressibilityModel, Wallis, dictionary); - -} + namespace compressibilityModels + { + defineTypeNameAndDebug(Wallis, 0); + addToRunTimeSelectionTable + ( + barotropicCompressibilityModel, + Wallis, + dictionary + ); + } } // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // @@ -45,10 +48,11 @@ addToRunTimeSelectionTable(barotropicCompressibilityModel, Wallis, dictionary); Foam::compressibilityModels::Wallis::Wallis ( const dictionary& compressibilityProperties, - const volScalarField& gamma + const volScalarField& gamma, + const word& psiName ) : - barotropicCompressibilityModel(compressibilityProperties, gamma), + barotropicCompressibilityModel(compressibilityProperties, gamma, psiName), psiv_(compressibilityProperties_.lookup("psiv")), psil_(compressibilityProperties_.lookup("psil")), rhovSat_(compressibilityProperties_.lookup("rhovSat")), @@ -62,8 +66,9 @@ Foam::compressibilityModels::Wallis::Wallis void Foam::compressibilityModels::Wallis::correct() { - psi_ = (gamma_*rhovSat_ + (scalar(1) - gamma_)*rholSat_) - *(gamma_*psiv_/rhovSat_ + (scalar(1) - gamma_)*psil_/rholSat_); + psi_ = + (gamma_*rhovSat_ + (scalar(1) - gamma_)*rholSat_) + *(gamma_*psiv_/rhovSat_ + (scalar(1) - gamma_)*psil_/rholSat_); } diff --git a/src/thermophysicalModels/barotropicCompressibilityModel/Wallis/Wallis.H b/src/thermophysicalModels/barotropicCompressibilityModel/Wallis/Wallis.H index 71f4db0274..27c69c899f 100644 --- a/src/thermophysicalModels/barotropicCompressibilityModel/Wallis/Wallis.H +++ b/src/thermophysicalModels/barotropicCompressibilityModel/Wallis/Wallis.H @@ -75,7 +75,8 @@ public: Wallis ( const dictionary& compressibilityProperties, - const volScalarField& gamma + const volScalarField& gamma, + const word& psiName = "psi" ); diff --git a/src/thermophysicalModels/barotropicCompressibilityModel/barotropicCompressibilityModel/barotropicCompressibilityModel.C b/src/thermophysicalModels/barotropicCompressibilityModel/barotropicCompressibilityModel/barotropicCompressibilityModel.C index 21706f524a..eeb7a8484d 100644 --- a/src/thermophysicalModels/barotropicCompressibilityModel/barotropicCompressibilityModel/barotropicCompressibilityModel.C +++ b/src/thermophysicalModels/barotropicCompressibilityModel/barotropicCompressibilityModel/barotropicCompressibilityModel.C @@ -42,7 +42,8 @@ namespace Foam Foam::barotropicCompressibilityModel::barotropicCompressibilityModel ( const dictionary& compressibilityProperties, - const volScalarField& gamma + const volScalarField& gamma, + const word& psiName ) : compressibilityProperties_(compressibilityProperties), @@ -50,12 +51,12 @@ Foam::barotropicCompressibilityModel::barotropicCompressibilityModel ( IOobject ( - "psi", + psiName, gamma.mesh().time().timeName(), gamma.mesh() ), gamma.mesh(), - dimensionedScalar("psi", dimensionSet(0, -2, 2, 0, 0), 0) + dimensionedScalar(psiName, dimensionSet(0, -2, 2, 0, 0), 0) ), gamma_(gamma) {} diff --git a/src/thermophysicalModels/barotropicCompressibilityModel/barotropicCompressibilityModel/barotropicCompressibilityModel.H b/src/thermophysicalModels/barotropicCompressibilityModel/barotropicCompressibilityModel/barotropicCompressibilityModel.H index 71b5e5d423..776df971d8 100644 --- a/src/thermophysicalModels/barotropicCompressibilityModel/barotropicCompressibilityModel/barotropicCompressibilityModel.H +++ b/src/thermophysicalModels/barotropicCompressibilityModel/barotropicCompressibilityModel/barotropicCompressibilityModel.H @@ -97,9 +97,10 @@ public: dictionary, ( const dictionary& compressibilityProperties, - const volScalarField& gamma + const volScalarField& gamma, + const word& psiName ), - (compressibilityProperties, gamma) + (compressibilityProperties, gamma, psiName) ); @@ -109,7 +110,8 @@ public: static autoPtr New ( const dictionary& compressibilityProperties, - const volScalarField& gamma + const volScalarField& gamma, + const word& psiName = "psi" ); @@ -119,7 +121,8 @@ public: barotropicCompressibilityModel ( const dictionary& compressibilityProperties, - const volScalarField& gamma + const volScalarField& gamma, + const word& psiName = "psi" ); diff --git a/src/thermophysicalModels/barotropicCompressibilityModel/barotropicCompressibilityModel/newBarotropicCompressibilityModel.C b/src/thermophysicalModels/barotropicCompressibilityModel/barotropicCompressibilityModel/newBarotropicCompressibilityModel.C index 83db0208f5..ea38016be6 100644 --- a/src/thermophysicalModels/barotropicCompressibilityModel/barotropicCompressibilityModel/newBarotropicCompressibilityModel.C +++ b/src/thermophysicalModels/barotropicCompressibilityModel/barotropicCompressibilityModel/newBarotropicCompressibilityModel.C @@ -32,7 +32,8 @@ Foam::autoPtr Foam::barotropicCompressibilityModel::New ( const dictionary& compressibilityProperties, - const volScalarField& gamma + const volScalarField& gamma, + const word& psiName ) { word bcModelTypeName @@ -60,7 +61,7 @@ Foam::barotropicCompressibilityModel::New return autoPtr ( - cstrIter()(compressibilityProperties, gamma) + cstrIter()(compressibilityProperties, gamma, psiName) ); } diff --git a/src/thermophysicalModels/barotropicCompressibilityModel/linear/linear.C b/src/thermophysicalModels/barotropicCompressibilityModel/linear/linear.C index dbf584d4c9..3daf0dd37d 100644 --- a/src/thermophysicalModels/barotropicCompressibilityModel/linear/linear.C +++ b/src/thermophysicalModels/barotropicCompressibilityModel/linear/linear.C @@ -31,13 +31,16 @@ License namespace Foam { -namespace compressibilityModels -{ - -defineTypeNameAndDebug(linear, 0); -addToRunTimeSelectionTable(barotropicCompressibilityModel, linear, dictionary); - -} + namespace compressibilityModels + { + defineTypeNameAndDebug(linear, 0); + addToRunTimeSelectionTable + ( + barotropicCompressibilityModel, + linear, + dictionary + ); + } } // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // @@ -45,10 +48,11 @@ addToRunTimeSelectionTable(barotropicCompressibilityModel, linear, dictionary); Foam::compressibilityModels::linear::linear ( const dictionary& compressibilityProperties, - const volScalarField& gamma + const volScalarField& gamma, + const word& psiName ) : - barotropicCompressibilityModel(compressibilityProperties, gamma), + barotropicCompressibilityModel(compressibilityProperties, gamma, psiName), psiv_(compressibilityProperties_.lookup("psiv")), psil_(compressibilityProperties_.lookup("psil")) { diff --git a/src/thermophysicalModels/barotropicCompressibilityModel/linear/linear.H b/src/thermophysicalModels/barotropicCompressibilityModel/linear/linear.H index 2162f0b9fd..cc83a8cbe4 100644 --- a/src/thermophysicalModels/barotropicCompressibilityModel/linear/linear.H +++ b/src/thermophysicalModels/barotropicCompressibilityModel/linear/linear.H @@ -72,7 +72,8 @@ public: linear ( const dictionary& compressibilityProperties, - const volScalarField& gamma + const volScalarField& gamma, + const word& psiName = "psi" ); diff --git a/src/triSurface/triSurface/interfaces/NAS/readNAS.C b/src/triSurface/triSurface/interfaces/NAS/readNAS.C index 2ec15c6706..1440c2d15d 100644 --- a/src/triSurface/triSurface/interfaces/NAS/readNAS.C +++ b/src/triSurface/triSurface/interfaces/NAS/readNAS.C @@ -23,10 +23,16 @@ License Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA Description - Nastran surface reader. Does Ansa $ANSA_NAME extension to get name - of patch. Handles Ansa coordinates like: + Nastran surface reader. + - Uses the Ansa "$ANSA_NAME" or the Hypermesh "$HMNAME COMP" extensions + to obtain patch names. + - Handles Nastran short and long formats, but not free format. + - Properly handles the Nastran compact floating point notation: \n + @verbatim GRID 28 10.20269-.030265-2.358-8 + @endverbatim + \*---------------------------------------------------------------------------*/ @@ -49,13 +55,13 @@ static scalar parseNASCoord(const string& s) if (expSign != string::npos && expSign > 0 && !isspace(s[expSign-1])) { scalar mantissa = readScalar(IStringStream(s.substr(0, expSign))()); - scalar exp = readScalar(IStringStream(s.substr(expSign+1))()); + scalar exponent = readScalar(IStringStream(s.substr(expSign+1))()); if (s[expSign] == '-') { - exp = -exp; + exponent = -exponent; } - return mantissa*pow(10, exp); + return mantissa*pow(10, exponent); } else { @@ -64,14 +70,14 @@ static scalar parseNASCoord(const string& s) } -bool triSurface::readNAS(const fileName& OBJfileName) +bool triSurface::readNAS(const fileName& fName) { - IFstream OBJfile(OBJfileName); + IFstream is(fName); - if (!OBJfile.good()) + if (!is.good()) { FatalErrorIn("triSurface::readNAS(const fileName&)") - << "Cannot read file " << OBJfileName + << "Cannot read file " << fName << exit(FatalError); } @@ -90,17 +96,17 @@ bool triSurface::readNAS(const fileName& OBJfileName) // Ansa tags. Denoted by $ANSA_NAME. These will appear just before the // first use of a type. We read them and store the pshell types which // are used to name the patches. - label ansaID = -1; + label ansaId = -1; word ansaType; string ansaName; - // Done warnings per unrecognized command + // A single warning per unrecognized command HashSet unhandledCmd; - while (OBJfile.good()) + while (is.good()) { string line; - OBJfile.getLine(line); + is.getLine(line); // Ansa extension if (line.substr(0, 10) == "$ANSA_NAME") @@ -116,14 +122,14 @@ bool triSurface::readNAS(const fileName& OBJfileName) && sem2 != string::npos ) { - ansaID = readLabel + ansaId = readLabel ( IStringStream(line.substr(sem0+1, sem1-sem0-1))() ); ansaType = line.substr(sem1+1, sem2-sem1-1); string nameString; - OBJfile.getLine(ansaName); + is.getLine(ansaName); if (ansaName[ansaName.size()-1] == '\r') { ansaName = ansaName.substr(1, ansaName.size()-2); @@ -132,13 +138,37 @@ bool triSurface::readNAS(const fileName& OBJfileName) { ansaName = ansaName.substr(1, ansaName.size()-1); } - //Pout<< "ANSA tag for NastranID:" << ansaID - // << " of type " << ansaType - // << " name " << ansaName << endl; + + // Info<< "ANSA tag for NastranID:" << ansaId + // << " of type " << ansaType + // << " name " << ansaName << endl; } } + // Hypermesh extension + // $HMNAME COMP 1"partName" + if + ( + line.substr(0, 12) == "$HMNAME COMP" + && line.find ('"') != string::npos + ) + { + label groupId = readLabel + ( + IStringStream(line.substr(16, 16))() + ); + + IStringStream lineStream(line.substr(32)); + + string rawName; + lineStream >> rawName; + + groupToName.insert(groupId, string::validate(rawName)); + Info<< "group " << groupId << " => " << rawName << endl; + } + + if (line.size() == 0 || line[0] == '$') { // Skip empty or comment @@ -153,7 +183,7 @@ bool triSurface::readNAS(const fileName& OBJfileName) while (true) { string buf; - OBJfile.getLine(buf); + is.getLine(buf); if (buf.size() > 72 && buf[72]=='+') { @@ -174,26 +204,21 @@ bool triSurface::readNAS(const fileName& OBJfileName) if (cmd == "CTRIA3") { - //label index, group, a, b, c; - //lineStream >> index >> group >> a >> b >> c; - label group = readLabel(IStringStream(line.substr(16,8))()); + label groupId = readLabel(IStringStream(line.substr(16,8))()); label a = readLabel(IStringStream(line.substr(24,8))()); label b = readLabel(IStringStream(line.substr(32,8))()); label c = readLabel(IStringStream(line.substr(40,8))()); // Convert group into patch - Map