Go to the documentation of this file.
38 "absolute",
"specific"
51 forAll(volumeModeTypeNames_, i)
53 if (vmtName == volumeModeTypeNames_[i])
60 <<
"Unknown volumeMode type " << vmtName
61 <<
". Valid volumeMode types are:" <<
nl << volumeModeTypeNames_
74 if (vmtType > volumeModeTypeNames_.size())
80 return volumeModeTypeNames_[vmtType];
90 fieldNames_.resize(
count);
91 injectionRate_.resize(
count);
92 applied_.resize(
count,
false);
97 fieldNames_[
count] = dEntry.keyword();
98 dEntry.readEntry(injectionRate_[
count]);
104 if (volumeMode_ == vmAbsolute)
117 const word& modelType,
123 volumeMode_(vmAbsolute),
143 <<
">::addSup for source " << name_ <<
endl;
152 name_ + fieldNames_[fieldi] +
"Su",
153 mesh_.time().timeName(),
169 name_ + fieldNames_[fieldi] +
"Sp",
170 mesh_.time().timeName(),
197 <<
">::addSup for source " << name_ <<
endl;
200 return this->addSup(eqn, fieldi);
210 volumeMode_ = wordToVolumeModeType(coeffs_.get<
word>(
"volumeMode"));
211 setFieldData(coeffs_.subDict(
"injectionRateSuSp"));
int debug
Static debugging option.
A keyword and a list of tokens is an 'entry'.
Defines the attributes of an object for which implicit objectRegistry management is supported,...
A class for handling words, derived from Foam::string.
Cell-set options abtract base class. Provides a base set of controls, e.g.:
static constexpr const zero Zero
Global zero.
const dimensionSet & dimensions() const
virtual bool read(const dictionary &dict)
Read source dictionary.
Ostream & endl(Ostream &os)
Add newline and flush stream.
const GeometricField< Type, fvPatchField, volMesh > & psi() const
#define forAll(list, i)
Loop across all elements in list.
tmp< faMatrix< Type > > SuSp(const areaScalarField &sp, const GeometricField< Type, faPatchField, areaMesh > &vf)
A special matrix type and solver, designed for finite volume solutions of scalar equations.
Semi-implicit source, described using an input dictionary. The injection rate coefficients are specif...
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
messageStream Info
Information stream (uses stdout - output is on the master only)
word name(const complex &c)
Return string representation of complex.
word volumeModeTypeToWord(const volumeModeType &vtType) const
Helper function to convert from a volumeModeType to a word.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Generic dimensioned Type class.
Mesh data needed to do the Finite Volume discretisation.
Calculate the matrix for implicit and explicit sources.
errorManipArg< error, int > exit(error &err, const int errNo=1)
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
void setFieldData(const dictionary &dict)
Set the local field data.
unsigned int count(const UList< bool > &bools, const bool val=true)
Count number of 'true' entries.
Traits class for primitives.
virtual void addSup(fvMatrix< Type > &eqn, const label fieldi)
Add explicit contribution to equation.
A special matrix type and solver, designed for finite volume solutions of scalar equations....
A List with indirect addressing.
SemiImplicitSource(const word &name, const word &modelType, const dictionary &dict, const fvMesh &mesh)
Construct from components.
const dimensionSet dimVolume(pow3(dimLength))
const volScalarField & psi
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
volumeModeType
Enumeration for volume types.
volumeModeType wordToVolumeModeType(const word &vtName) const
Helper function to convert from a word to a volumeModeType.