Commit 505b4b9c authored by Mark OLESEN's avatar Mark OLESEN
Browse files

ENH: add guarded lookup for dimensionedSet

STYLE: use standard dimensionedSets
parent 2ce944a7
......@@ -71,9 +71,8 @@
const surfaceVectorField& Sf = mesh.Sf();
forAll(faces, i)
for (const label facei : faces)
{
label facei = faces[i];
murf[facei] = muri;
Mrf[facei] = Mri*(orientationi & Sf[facei]);
}
......
Info<< "Constructing momentum equations" << endl;
fvVectorMatrix U1Eqn(U1, rho1.dimensions()*U1.dimensions()*dimVol/dimTime);
fvVectorMatrix U2Eqn(U2, rho2.dimensions()*U2.dimensions()*dimVol/dimTime);
fvVectorMatrix U1Eqn(U1, rho1.dimensions()*U1.dimensions()*dimVolume/dimTime);
fvVectorMatrix U2Eqn(U2, rho2.dimensions()*U2.dimensions()*dimVolume/dimTime);
{
autoPtr<phaseSystem::momentumTransferTable>
......
Info<< "Constructing face momentum equations" << endl;
fvVectorMatrix U1Eqn(U1, rho1.dimensions()*U1.dimensions()*dimVol/dimTime);
fvVectorMatrix U2Eqn(U2, rho2.dimensions()*U2.dimensions()*dimVol/dimTime);
fvVectorMatrix U1Eqn(U1, rho1.dimensions()*U1.dimensions()*dimVolume/dimTime);
fvVectorMatrix U2Eqn(U2, rho2.dimensions()*U2.dimensions()*dimVolume/dimTime);
{
volScalarField Vm(fluid.Vm());
......
......@@ -57,7 +57,7 @@ Foam::kineticTheoryModels::conductivityModels::HrenyaSinclair::HrenyaSinclair
:
conductivityModel(dict),
coeffDict_(dict.optionalSubDict(typeName + "Coeffs")),
L_("L", dimensionSet(0, 1, 0, 0, 0), coeffDict_)
L_("L", dimLength, coeffDict_)
{}
......
......@@ -57,7 +57,7 @@ Foam::kineticTheoryModels::viscosityModels::HrenyaSinclair::HrenyaSinclair
:
viscosityModel(dict),
coeffDict_(dict.optionalSubDict(typeName + "Coeffs")),
L_("L", dimensionSet(0, 1, 0, 0, 0), coeffDict_)
L_("L", dimLength, coeffDict_)
{}
......
......@@ -60,12 +60,7 @@ Foam::RASModels::phasePressureModel::phasePressureModel
alphaMax_(coeffDict_.get<scalar>("alphaMax")),
preAlphaExp_(coeffDict_.get<scalar>("preAlphaExp")),
expMax_(coeffDict_.get<scalar>("expMax")),
g0_
(
"g0",
dimensionSet(1, -1, -2, 0, 0),
coeffDict_.lookup("g0")
)
g0_("g0", dimPressure, coeffDict_)
{
nut_ == dimensionedScalar(nut_.dimensions(), Zero);
......@@ -76,12 +71,6 @@ Foam::RASModels::phasePressureModel::phasePressureModel
}
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
Foam::RASModels::phasePressureModel::~phasePressureModel()
{}
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
bool Foam::RASModels::phasePressureModel::read()
......@@ -101,10 +90,8 @@ bool Foam::RASModels::phasePressureModel::read()
return true;
}
else
{
return false;
}
return false;
}
......@@ -138,7 +125,7 @@ Foam::RASModels::phasePressureModel::R() const
IOobject::NO_WRITE
),
mesh_,
dimensioned<symmTensor>(dimensionSet(0, 2, -2, 0, 0)) //Zero
dimensioned<symmTensor>(dimensionSet(0, 2, -2, 0, 0), Zero)
);
}
......
......@@ -132,7 +132,7 @@ public:
//- Destructor
virtual ~phasePressureModel();
virtual ~phasePressureModel() = default;
// Member Functions
......
......@@ -4,8 +4,8 @@ MRF.correctBoundaryVelocity(U1);
MRF.correctBoundaryVelocity(U2);
MRF.correctBoundaryVelocity(U);
fvVectorMatrix U1Eqn(U1, rho1.dimensions()*U1.dimensions()*dimVol/dimTime);
fvVectorMatrix U2Eqn(U2, rho2.dimensions()*U2.dimensions()*dimVol/dimTime);
fvVectorMatrix U1Eqn(U1, rho1.dimensions()*U1.dimensions()*dimVolume/dimTime);
fvVectorMatrix U2Eqn(U2, rho2.dimensions()*U2.dimensions()*dimVolume/dimTime);
volScalarField Kd(fluid.Kd());
......
......@@ -5,8 +5,8 @@ MRF.correctBoundaryVelocity(U2);
MRF.correctBoundaryVelocity(U);
Info<< "Constructing face momentum equations" << endl;
fvVectorMatrix U1Eqn(U1, rho1.dimensions()*U1.dimensions()*dimVol/dimTime);
fvVectorMatrix U2Eqn(U2, rho2.dimensions()*U2.dimensions()*dimVol/dimTime);
fvVectorMatrix U1Eqn(U1, rho1.dimensions()*U1.dimensions()*dimVolume/dimTime);
fvVectorMatrix U2Eqn(U2, rho2.dimensions()*U2.dimensions()*dimVolume/dimTime);
{
volScalarField Vm(fluid.Vm());
......
......@@ -57,7 +57,7 @@ Foam::kineticTheoryModels::conductivityModels::HrenyaSinclair::HrenyaSinclair
:
conductivityModel(dict),
coeffDict_(dict.optionalSubDict(typeName + "Coeffs")),
L_("L", dimensionSet(0, 1, 0, 0, 0), coeffDict_)
L_("L", dimLength, coeffDict_)
{}
......
......@@ -114,7 +114,7 @@ Foam::RASModels::kineticTheoryModel::kineticTheoryModel
maxNut_
(
"maxNut",
dimensionSet(0,2,-1,0,0),
dimViscosity,
coeffDict_.lookupOrDefault<scalar>("maxNut",1000)
),
......@@ -142,7 +142,7 @@ Foam::RASModels::kineticTheoryModel::kineticTheoryModel
IOobject::NO_WRITE
),
U.mesh(),
dimensionedScalar(dimensionSet(0, 2, -1, 0, 0), Zero)
dimensionedScalar(dimViscosity, Zero)
),
gs0_
......@@ -156,7 +156,7 @@ Foam::RASModels::kineticTheoryModel::kineticTheoryModel
IOobject::NO_WRITE
),
U.mesh(),
dimensionedScalar(dimensionSet(0, 0, 0, 0, 0), Zero)
dimensionedScalar(dimless, Zero)
),
kappa_
......@@ -184,7 +184,7 @@ Foam::RASModels::kineticTheoryModel::kineticTheoryModel
IOobject::AUTO_WRITE
),
U.mesh(),
dimensionedScalar(dimensionSet(0, 2, -1, 0, 0), Zero)
dimensionedScalar(dimViscosity, Zero)
)
{
if (type == typeName)
......
......@@ -57,7 +57,7 @@ Foam::kineticTheoryModels::viscosityModels::HrenyaSinclair::HrenyaSinclair
:
viscosityModel(dict),
coeffDict_(dict.optionalSubDict(typeName + "Coeffs")),
L_("L", dimensionSet(0, 1, 0, 0, 0), coeffDict_)
L_("L", dimLength, coeffDict_)
{}
......
......@@ -63,12 +63,7 @@ Foam::RASModels::phasePressureModel::phasePressureModel
alphaMax_(coeffDict_.get<scalar>("alphaMax")),
preAlphaExp_(coeffDict_.get<scalar>("preAlphaExp")),
expMax_(coeffDict_.get<scalar>("expMax")),
g0_
(
"g0",
dimensionSet(1, -1, -2, 0, 0),
coeffDict_.lookup("g0")
)
g0_("g0", dimPressure, coeffDict_)
{
nut_ == dimensionedScalar(nut_.dimensions(), Zero);
......@@ -79,12 +74,6 @@ Foam::RASModels::phasePressureModel::phasePressureModel
}
// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //
Foam::RASModels::phasePressureModel::~phasePressureModel()
{}
// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //
bool Foam::RASModels::phasePressureModel::read()
......@@ -107,10 +96,8 @@ bool Foam::RASModels::phasePressureModel::read()
return true;
}
else
{
return false;
}
return false;
}
......
......@@ -136,7 +136,7 @@ public:
//- Destructor
virtual ~phasePressureModel();
virtual ~phasePressureModel() = default;
// Member Functions
......
......@@ -221,7 +221,7 @@ void Foam::solverTemplate::setRegionProperties
fieldDimensions_[regionI].set
(
i,
new dimensionSet(dict.lookup("dimensions"))
new dimensionSet(dict, "dimensions")
);
}
}
......
......@@ -68,14 +68,14 @@ public:
typedef FixedList<scalar,7> list_type;
// Member constants
// Member Constants
enum
{
nDimensions = 7 //!< 7 base dimensions
};
//- Define an enumeration for the names of the dimension exponents
//- Enumeration for the dimension exponents
enum dimensionType
{
MASS, //!< kilogram kg
......@@ -189,9 +189,12 @@ public:
//- Construct from exponents for all seven dimensions
dimensionSet(const FixedList<scalar,7>& dimensions);
//- Copy constructor
//- Copy construct
dimensionSet(const dimensionSet& ds);
//- Construct from dictionary entry - usually "dimensions".
dimensionSet(const dictionary& dict, const word& entryName);
//- Construct and return a clone
autoPtr<dimensionSet> clone() const
{
......
......@@ -3,7 +3,7 @@
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation
\\/ M anipulation |
\\/ M anipulation | Copyright (C) 2019 OpenCFD Ltd.
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
......@@ -30,6 +30,17 @@ License
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
Foam::dimensionSet::dimensionSet(const dictionary& dict, const word& entryName)
{
const entry& e = dict.lookupEntry(entryName, keyType::REGEX);
ITstream& is = e.stream();
is >> *this;
e.checkITstream(is);
}
Foam::dimensionSet::dimensionSet(Istream& is)
{
is >> *this;
......@@ -57,7 +68,7 @@ void Foam::dimensionSet::tokeniser::push(const token& t)
}
else
{
size_++;
++size_;
}
}
......@@ -620,7 +631,7 @@ Foam::Ostream& Foam::dimensionSet::write
if (writeUnits.valid() && os.format() == IOstream::ASCII)
{
scalarField exponents(dimensionSet::nDimensions);
for (int d=0; d<dimensionSet::nDimensions; d++)
for (int d=0; d<dimensionSet::nDimensions; ++d)
{
exponents[d] = exponents_[d];
}
......
......@@ -47,6 +47,7 @@ namespace Foam
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
//- Dimensionless
extern const dimensionSet dimless;
extern const dimensionSet dimMass;
......@@ -59,6 +60,9 @@ extern const dimensionSet dimLuminousIntensity;
extern const dimensionSet dimArea;
extern const dimensionSet dimVolume;
//- Older spelling for dimVolume
// \deprecated(2019-01) use dimVolume instead
extern const dimensionSet dimVol;
extern const dimensionSet dimDensity;
......@@ -76,6 +80,7 @@ extern const dimensionSet dimViscosity;
extern const dimensionSet dimDynamicViscosity;
//- Construction of unit sets
class dimensionSets
{
// Private data
......@@ -120,7 +125,6 @@ public:
//- (if valid) obtain set of coefficients of unitNames
void coefficients(scalarField& exponents) const;
};
......
......@@ -35,7 +35,7 @@ void Foam::DimensionedField<Type, GeoMesh>::readField
const word& fieldDictEntry
)
{
dimensions_.reset(dimensionSet(fieldDict.lookup("dimensions")));
dimensions_.reset(dimensionSet(fieldDict, "dimensions"));
// Note: oriented state may have already been set on construction
// - if so - do not reset by re-reading
......
......@@ -85,6 +85,7 @@ bool Foam::UniformDimensionedField<Type>::readData(Istream& is)
dictionary dict(is);
scalar multiplier;
this->dimensions().read(dict.lookup("dimensions"), multiplier);
dict.readEntry("value", this->value());
this->value() *= multiplier;
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment