57 const word& modelType,
63 modelType_(modelType),
67 coeffs_(
dict.optionalSubDict(modelType +
"Coeffs")),
70 regionName_(
dict.get<
word>(
"region")),
71 regionMeshPtr_(nullptr),
73 active_(
dict.getOrDefault(
"active", true)),
92 <<
"Selecting finite area options type " << modelType <<
endl;
94 patch.boundaryMesh().mesh().time().libs().open
98 dictionaryConstructorTablePtr_
101 auto* ctorPtr = dictionaryConstructorTable(modelType);
110 *dictionaryConstructorTablePtr_
128 return fieldNames_.find(fieldName);
139 <<
"Source " << name_ <<
" defined for field "
140 << fieldNames_[i] <<
" but never used" <<
endl;
void resize_nocopy(const label len)
Adjust allocated size of list without necessarily.
virtual void correct()
Solve the turbulence equations and correct the turbulence viscosity.
static autoPtr< Time > New()
Construct (dummy) Time - no functionObjects or libraries.
void size(const label n)
Older name for setAddressableSize.
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
Addressing for all faces on surface of mesh. Can either be read from polyMesh or from triSurface....
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
T get(const word &keyword, enum keyType::option matchOpt=keyType::REGEX) const
A special matrix type and solver, designed for finite area solutions of scalar equations....
Base abstract class for handling finite area options (i.e. faOption).
List< bool > applied_
Applied flag list - corresponds to each fieldNames_ entry.
wordList fieldNames_
Field names to apply source to - populated by derived models.
virtual void addSup(const areaScalarField &h, faMatrix< scalar > &eqn, const label fieldi)
virtual void checkApplied() const
Check that the source has been applied.
virtual label applyToField(const word &fieldName) const
Return index of field name if found in fieldNames list.
virtual bool isActive()
Is the source active?
void resetApplied()
Resize/reset applied flag list for all fieldNames_ entries.
virtual void constrain(faMatrix< scalar > &eqn, const label fieldi)
const word name_
Source name.
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
A class for handling words, derived from Foam::string.
#define defineTypeNameAndDebug(Type, DebugSwitch)
Define the typeName and debug information.
#define FatalIOErrorInLookup(ios, lookupTag, lookupName, lookupTable)
Report an error message using Foam::FatalIOError.
#define WarningInFunction
Report a warning using Foam::Warning.
messageStream Info
Information stream (stdout output on master, null elsewhere)
dimensionedScalar log(const dimensionedScalar &ds)
Ostream & incrIndent(Ostream &os)
Increment the indent level.
Ostream & endl(Ostream &os)
Add newline and flush stream.
Ostream & indent(Ostream &os)
Indent stream.
word name(const expressions::valueTypeCode typeCode)
A word representation of a valueTypeCode. Empty for INVALID.
errorManipArg< error, int > exit(error &err, const int errNo=1)
Ostream & decrIndent(Ostream &os)
Decrement the indent level.
#define defineRunTimeSelectionTable(baseType, argNames)
Define run-time selection table.
#define forAll(list, i)
Loop across all elements in list.