37 IStringStream(
"(absolute specific)")()
50 forAll(volumeModeTypeNames_, i)
52 if (vmtName == volumeModeTypeNames_[i])
59 <<
"Unknown volumeMode type " << vmtName
60 <<
". Valid volumeMode types are:" <<
nl << volumeModeTypeNames_
73 if (vmtType > volumeModeTypeNames_.size())
79 return volumeModeTypeNames_[vmtType];
87 fieldNames_.setSize(dict.
toc().
size());
88 injectionRate_.setSize(fieldNames_.size());
90 applied_.setSize(fieldNames_.size(),
false);
95 fieldNames_[i] = iter().keyword();
96 dict.
lookup(iter().keyword()) >> injectionRate_[i];
101 if (volumeMode_ == vmAbsolute)
114 const word& modelType,
120 volumeMode_(vmAbsolute),
140 <<
">::addSup for source " << name_ <<
endl;
149 name_ + fieldNames_[fieldi] +
"Su",
150 mesh_.time().timeName(),
171 name_ + fieldNames_[fieldi] +
"Sp",
172 mesh_.time().timeName(),
204 <<
">::addSup for source " << name_ <<
endl;
207 return this->addSup(eqn, fieldi);
volumeModeType wordToVolumeModeType(const word &vtName) const
Helper function to convert from a word to a volumeModeType.
wordList toc() const
Return the table of contents.
#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)
const GeometricField< Type, fvPatchField, volMesh > & psi() const
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.
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.
tmp< GeometricField< Type, fvPatchField, volMesh > > Sp(const volScalarField &sp, const GeometricField< Type, fvPatchField, volMesh > &vf)
Generic GeometricField class.
Generic dimensioned Type class.
static const wordList volumeModeTypeNames_
Word list of volume mode type names.
word volumeModeTypeToWord(const volumeModeType &vtType) const
Helper function to convert from a volumeModeType to a word.
const dimensionSet dimVolume(pow3(dimLength))
bool read(const char *, int32_t &)
const dimensionSet & dimensions() const
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.
forAllConstIter(PtrDictionary< phaseModel >, mixture.phases(), phase)
const dimensionSet & dimensions() const
Return dimensions.
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 abtract base class. Provides a base set of controls, e.g.:
const volScalarField & psi
tmp< GeometricField< Type, fvPatchField, volMesh > > Su(const GeometricField< Type, fvPatchField, volMesh > &su, const GeometricField< Type, fvPatchField, volMesh > &vf)
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.