83 if (!
dict.found(
"unitSet"))
86 <<
"Cannot find unitSet in dictionary " <<
dict.name()
90 const word unitSetCoeffs(
word(
dict.lookup(
"unitSet")) +
"Coeffs");
92 if (!
dict.found(unitSetCoeffs))
95 <<
"Cannot find " << unitSetCoeffs <<
" in dictionary "
105 if (iter().keyword() !=
"writeUnits")
108 const bool ok =
unitSetPtr_->insert(iter().keyword(), dt);
112 <<
"Duplicate unit " << iter().keyword()
113 <<
" in DimensionSets dictionary"
130 if (writeUnitNames.
size() != 0 && writeUnitNames.
size() != 7)
133 <<
"Cannot find entry \"writeUnits\" in " << unitDict.
name()
134 <<
" or it is not a wordList of size 7"
195 units_(unitNames.size()),
196 conversion_(unitNames.size()),
197 conversionPivots_(unitNames.size()),
212 if (unitNames.
size() == 7)
217 for (
label rowI = 0; rowI < conversion_.
m(); rowI++)
219 scalar* row = conversion_[rowI];
221 for (
label columnI = 0; columnI < conversion_.
n(); columnI++)
228 conversionPivots_.
setSize(conversion_.
m());
#define forAll(list, i)
Loop across all elements in list.
#define forAllConstIter(Container, container, iter)
Iterate across all elements in the container object of type.
An STL-conforming hash table.
void size(const label)
Override size to be inconsistent with allocated storage.
void setSize(const label)
Reset size of List.
label n() const
Return the number of columns.
label m() const
Return the number of rows.
const fileName & name() const
Return the dictionary name.
A list of keyword definitions, which are a keyword followed by any number of values (e....
T lookupOrDefault(const word &, const T &, bool recursive=false, bool patternMatch=true) const
Find and return a T,.
Dimension set for the base types.
void coefficients(scalarField &) const
(if valid) obtain set of coefficients of unitNames
dimensionSets(const HashTable< dimensionedScalar > &, const wordList &unitNames)
Construct from all units and set of units to use for inversion.
const PtrList< dimensionedScalar > & units() const
Return the units.
const dimensionSet & dimensions() const
Return const reference to dimensions.
A class for handling words, derived from string.
Template functions to aid in the implementation of demand driven data.
#define FatalIOErrorInFunction(ios)
Report an error message using Foam::FatalIOError.
dictionary & switchSet(const char *subDictName, dictionary *&subDictPtr)
Internal function to lookup a sub-dictionary from controlDict.
const dimensionSet dimViscosity
errorManipArg< error, int > exit(error &err, const int errNo=1)
const dimensionSet dimDynamicViscosity
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
dimensionSets * writeUnitSetPtr_(nullptr)
const dimensionSet dimEnergy
const dimensionSet dimCurrent
const dimensionSet dimPressure
dimensionedSymmTensor sqr(const dimensionedVector &dv)
dimensionedScalar pow3(const dimensionedScalar &ds)
deleteDimensionSystemsPtr deleteDimensionSystemsPtr_
const dimensionSet dimMassFlux
const dimensionSet dimPower
void LUBacksubstitute(const scalarSquareMatrix &luMmatrix, const labelList &pivotIndices, List< Type > &source)
LU back-substitution with given source, returning the solution.
HashTable< dimensionedScalar > * unitSetPtr_(nullptr)
const dimensionSet dimGasConstant
const HashTable< dimensionedScalar > & unitSet()
Set of all dimensions.
const dimensionSet dimless
void LUDecompose(scalarSquareMatrix &matrix, labelList &pivotIndices)
LU decompose the matrix with pivoting.
const dimensionSet dimLength
const dimensionSet dimTemperature
const dimensionSet dimAcceleration
const dimensionSet dimForce
const dimensionSet dimCompressibility
const dimensionSet dimSpecificHeatCapacity
const dimensionSet dimMomentum
void deleteDemandDrivenData(DataPtr &dataPtr)
const dimensionSet dimTime
const dimensionSets & writeUnitSet()
Set of units.
const dimensionSet dimVol
const dimensionSet dimDensity
const dimensionSet dimVolume
const dimensionSet dimMoles
dictionary * dimensionSystemsPtr_(nullptr)
const dimensionSet dimLuminousIntensity
const dimensionSet dimMass
const dimensionSet dimVelocity
const dimensionSet dimArea
dictionary & dimensionSystems()
Top level dictionary.
const dimensionSet dimFlux
~deleteDimensionSystemsPtr()