30 template<
class Type,
class ... AlphaRhoFieldTypes>
35 const AlphaRhoFieldTypes& ... alphaRhoFields
56 const fvModel& model = modelList[i];
60 addSupFields_[i].insert(fieldName);
64 Info<<
"Applying model " << model.
name() <<
" to field "
68 model.
addSup(alphaRhoFields ..., mtx);
165 return this->source(field);
177 return this->source(
alpha, field);
189 return this->source(
rho, field);
#define forAll(list, i)
Loop across all elements in list.
Generic GeometricField class.
Dimension set for the base types.
A special matrix type and solver, designed for finite volume solutions of scalar equations....
Finite volume model abstract base class.
static dimensionSet sourceDims(const dimensionSet &ds, const AlphaRhoFieldType &alphaRhoField, const AlphaRhoFieldTypes &... alphaRhoFields)
Return the dimensions of the matrix of a source term.
virtual void addSup(fvMatrix< scalar > &eqn) const
Add a source term to a field-less proxy equation.
const word & name() const
Return const access to the source name.
virtual bool addsSupToField(const word &fieldName) const
Return true if the fvModel adds a source term to the given.
static const word & fieldName()
Return the name of the field associated with a source term. Special.
tmp< fvMatrix< Type > > d2dt2(const VolField< Type > &field) const
Return source for an equation with a second time derivative.
tmp< fvMatrix< Type > > source(const VolField< Type > &field) const
Return source for an equation.
tmp< fvMatrix< Type > > sourceProxy(const VolField< Type > &eqnField) const
Return source for an equation.
A class representing the concept of a GeometricField of 1 used to avoid unnecessary manipulations for...
A class for managing temporary objects.
T & ref() const
Return non-const reference or generate a fatal error.
A class for handling words, derived from string.
volScalarField alpha(IOobject("alpha", runTime.name(), mesh, IOobject::READ_IF_PRESENT, IOobject::AUTO_WRITE), lambda *max(Ua &U, zeroSensitivity))
dimensionedSymmTensor sqr(const dimensionedVector &dv)
Ostream & endl(Ostream &os)
Add newline and flush stream.
const dimensionSet dimTime
const dimensionSet dimVolume