36 IStringStream(
"(absolute specific)")()
49 forAll(volumeModeTypeNames_, i)
51 if (vmtName == volumeModeTypeNames_[i])
58 <<
"Unknown volumeMode type " << vmtName
59 <<
". Valid volumeMode types are:" <<
nl << volumeModeTypeNames_
72 if (vmtType > volumeModeTypeNames_.size())
78 return volumeModeTypeNames_[vmtType];
86 fieldNames_.setSize(dict.
toc().
size());
87 injectionRate_.setSize(fieldNames_.size());
89 applied_.setSize(fieldNames_.size(),
false);
94 fieldNames_[i] = iter().keyword();
95 dict.
lookup(iter().keyword()) >> injectionRate_[i];
100 if (volumeMode_ == vmAbsolute)
113 const word& modelType,
119 volumeMode_(vmAbsolute),
139 <<
">::addSup for source " << name_ <<
endl;
148 name_ + fieldNames_[fieldi] +
"Su",
149 mesh_.time().timeName(),
170 name_ + fieldNames_[fieldi] +
"Sp",
171 mesh_.time().timeName(),
203 <<
">::addSup for source " << name_ <<
endl;
206 return this->addSup(eqn, fieldi);
volumeModeType wordToVolumeModeType(const word &vtName) const
Helper function to convert from a word to a volumeModeType.
#define forAll(list, i)
Loop across all elements in list.
tmp< GeometricField< Type, fvPatchField, volMesh > > SuSp(const volScalarField &sp, const GeometricField< Type, fvPatchField, volMesh > &vf)
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
errorManipArg< error, int > exit(error &err, const int errNo=1)
A list of keyword definitions, which are a keyword followed by any number of values (e...
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
const GeometricField< Type, fvPatchField, volMesh > & psi() const
void size(const label)
Override size to be inconsistent with allocated storage.
Ostream & endl(Ostream &os)
Add newline and flush stream.
Traits class for primitives.
Generic GeometricField class.
Generic dimensioned Type class.
static const wordList volumeModeTypeNames_
Word list of volume mode type names.
wordList toc() const
Return the table of contents.
const dimensionSet dimVolume(pow3(dimLength))
const dimensionSet & dimensions() const
Return dimensions.
A class for handling words, derived from string.
A special matrix type and solver, designed for finite volume solutions of scalar equations. Face addressing is used to make all matrix assembly and solution loops vectorise.
word volumeModeTypeToWord(const volumeModeType &vtType) const
Helper function to convert from a volumeModeType to a word.
forAllConstIter(PtrDictionary< phaseModel >, mixture.phases(), phase)
volumeModeType
Enumeration for volume types.
Mesh data needed to do the Finite Volume discretisation.
A List with indirect addressing.
virtual void addSup(fvMatrix< Type > &eqn, const label fieldi)
Add explicit contribution to equation.
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
A special matrix type and solver, designed for finite volume solutions of scalar equations.
Cell-set options abstract base class. Provides a base set of controls, e.g.:
const volScalarField & psi
IOobject defines the attributes of an object for which implicit objectRegistry management is supporte...
SemiImplicitSource(const word &name, const word &modelType, const dictionary &dict, const fvMesh &mesh)
Construct from components.
void setFieldData(const dictionary &dict)
Set the local field data.
Calculate the matrix for implicit and explicit sources.
ITstream & lookup(const word &, bool recursive=false, bool patternMatch=true) const
Find and return an entry data stream.
const dimensionSet & dimensions() const