103 if (!dict.
found(
"unitSet"))
106 <<
"Cannot find unitSet in dictionary " << dict.
name()
110 const word unitSetCoeffs(
word(dict.
lookup(
"unitSet")) +
"Coeffs");
112 if (!dict.
found(unitSetCoeffs))
115 <<
"Cannot find " << unitSetCoeffs <<
" in dictionary " 125 if (iter().keyword() !=
"writeUnits")
128 dt.
read(iter().stream(), unitDict);
129 bool ok =
unitSetPtr_->insert(iter().keyword(), dt);
133 <<
"Duplicate unit " << iter().keyword()
134 <<
" in DimensionSets dictionary" 151 if (writeUnitNames.
size() != 0 && writeUnitNames.
size() != 7)
154 <<
"Cannot find entry \"writeUnits\" in " << unitDict.
name()
155 <<
" or it is not a wordList of size 7" 215 units_(unitNames.
size()),
216 conversion_(unitNames.
size()),
217 conversionPivots_(unitNames.
size()),
232 if (unitNames.
size() == 7)
237 for (
label rowI = 0; rowI < conversion_.n(); rowI++)
239 scalar* row = conversion_[rowI];
241 for (
label columnI = 0; columnI < conversion_.m(); columnI++)
247 conversionPivots_.setSize(conversion_.n());
const dimensionSet dimPressure
dimensionedScalar pow3(const dimensionedScalar &ds)
bool found(const word &, bool recursive=false, bool patternMatch=true) const
Search dictionary for given keyword.
void LUBacksubstitute(const scalarSquareMatrix &luMmatrix, const labelList &pivotIndices, List< Type > &source)
LU back-substitution with given source, returning the solution.
const dimensionSet dimForce
addDimensionSetsToDebug addDimensionSetsToDebug_("DimensionSets")
virtual ~addDimensionSetsToDebug()
word name(const complex &)
Return a string representation of a complex.
const dimensionSet dimTime(0, 0, 1, 0, 0, 0, 0)
dimensionSets * writeUnitSetPtr_(NULL)
const dimensionSet dimCompressibility
An STL-conforming hash table.
const dimensionSet dimMoles(0, 0, 0, 0, 1, 0, 0)
An Istream is an abstract base class for all input systems (streams, files, token lists etc)...
const dimensionSet dimVol(dimVolume)
void deleteDemandDrivenData(DataPtr &dataPtr)
const dimensionSet dimArea(sqr(dimLength))
A class for handling words, derived from string.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
void size(const label)
Override size to be inconsistent with allocated storage.
errorManipArg< error, int > exit(error &err, const int errNo=1)
const dimensionSet dimEnergy
dictionary & dimensionSystems()
Top level dictionary.
const dimensionSet dimGasConstant
const fileName & name() const
Return the dictionary name.
const dimensionSet dimDensity
A list of keyword definitions, which are a keyword followed by any number of values (e...
const dimensionSet dimPower
const dictionary & subDict(const word &) const
Find and return a sub-dictionary.
const dimensionSet dimLength(0, 1, 0, 0, 0, 0, 0)
label size() const
Return number of elements in list.
const HashTable< dimensionedScalar > & unitSet()
Set of all dimensions.
const dimensionSet & dimensions() const
Return const reference to dimensions.
forAllConstIter(PtrDictionary< phaseModel >, mixture.phases(), phase)
dictionary * dimensionSystemsPtr_(NULL)
Since dimensionSystems() can be reread we actually store a copy of.
dictionary & switchSet(const char *subDictName, dictionary *&subDictPtr)
Internal function to lookup a sub-dictionary from controlDict.
Dimension set for the base types.
const dimensionSet dimDynamicViscosity
const dimensionSet dimViscosity
const dimensionSet dimMass(1, 0, 0, 0, 0, 0, 0)
Template functions to aid in the implementation of demand driven data.
void addDimensionSetObject(const char *name, simpleRegIOobject *obj)
Register DimensionSets read/write object.
const dimensionSets & writeUnitSet()
Set of units.
virtual void readData(Foam::Istream &is)
Read.
Abstract base class for registered object with I/O. Used in debug symbol registration.
addDimensionSetsToDebug(const char *name)
HashTable< dimensionedScalar > * unitSetPtr_(NULL)
const dimensionSet dimAcceleration
ITstream & lookup(const word &, bool recursive=false, bool patternMatch=true) const
Find and return an entry data stream.
T lookupOrDefault(const word &, const T &, bool recursive=false, bool patternMatch=true) const
Find and return a T,.
const dimensionSet dimVolume(pow3(dimLength))
dimensionSets(const HashTable< dimensionedScalar > &, const wordList &unitNames)
Construct from all units and set of units to use for inversion.
const dimensionSet dimCurrent(0, 0, 0, 0, 0, 1, 0)
virtual void writeData(Foam::Ostream &os) const
Write.
void coefficients(scalarField &) const
(if valid) obtain set of coefficients of unitNames
An Ostream is an abstract base class for all output systems (streams, files, token lists...
const dimensionSet dimLuminousIntensity(0, 0, 0, 0, 0, 0, 1)
const dimensionSet dimTemperature(0, 0, 0, 1, 0, 0, 0)
const dimensionSet dimless(0, 0, 0, 0, 0, 0, 0)
const dimensionSet dimSpecificHeatCapacity(dimGasConstant)
void LUDecompose(scalarSquareMatrix &matrix, labelList &pivotIndices)
LU decompose the matrix with pivoting.
dimensionedSymmTensor sqr(const dimensionedVector &dv)
const dimensionSet dimVelocity
#define FatalIOErrorIn(functionName, ios)
Report an error message using Foam::FatalIOError.
void read(const dictionary &)
Update the value of dimensioned<Type>