64 const word modelType_;
104 const word& fieldName
109 template<
class Type,
class ... AlphaRhoFieldTypes>
113 const word& fieldName,
115 const AlphaRhoFieldTypes& ... alphaRhos
134 const word& modelType,
138 (name, modelType, dict, mesh)
148 class AlphaRhoFieldType,
149 class ... AlphaRhoFieldTypes
155 const AlphaRhoFieldType& alphaRho,
156 const AlphaRhoFieldTypes& ... alphaRhos
175 const word& modelType,
284 const word& fieldName
301 const word& fieldName
320 const word& fieldName
iNew(const fvMesh &mesh, const word &name)
virtual void updateMesh(const mapPolyMesh &)
Update for mesh changes.
tmp< fvMatrix< Type > > source(const GeometricField< Type, fvPatchField, volMesh > &field, const word &fieldName, const dimensionSet &ds, const AlphaRhoFieldTypes &... alphaRhos) const
Return source for equation with specified name and dimensions.
const word & name() const
Return const access to the source name.
virtual ~fvModel()
Destructor.
A list of keyword definitions, which are a keyword followed by any number of values (e...
#define DEFINE_FV_MODEL_ADD_SUP(Type, nullArg)
static dimensionSet sourceDims(const GeometricField< Type, fvPatchField, volMesh > &field, const dimensionSet &ds, const AlphaRhoFieldType &alphaRho, const AlphaRhoFieldTypes &... alphaRhos)
Return the dimensions of the matrix of a source term.
An Istream is an abstract base class for all input systems (streams, files, token lists etc)...
virtual wordList addSupFields() const
Return the list of fields for which the fvModel adds source term.
virtual bool read(const dictionary &dict)
Read source dictionary.
volScalarField alpha(IOobject("alpha", runTime.timeName(), mesh, IOobject::READ_IF_PRESENT, IOobject::AUTO_WRITE), lambda *max(Ua &U, zeroSensitivity))
#define DEFINE_FV_MODEL_ADD_ALPHA_RHO_SUP(Type, nullArg)
Finite volume model abstract base class.
virtual void preUpdateMesh()
Prepare for mesh update.
const fvMesh & mesh() const
Return const access to the mesh database.
TypeName("fvModel")
Runtime type information.
Class containing mesh-to-mesh mapping information after a change in polyMesh topology.
Return pointer to new fvModel object created.
Dimension set for the base types.
autoPtr< fvModel > operator()(Istream &is) const
A class for handling words, derived from string.
#define DEFINE_FV_MODEL_ADD_RHO_SUP(Type, nullArg)
static autoPtr< fvModel > New(const word &name, const dictionary &dict, const fvMesh &mesh)
Return a reference to the selected fvModel.
virtual bool addsSupToField(const word &fieldName) const
Return true if the fvModel adds a source term to the given.
FOR_ALL_FIELD_TYPES(DEFINE_FV_MODEL_ADD_SUP)
Add a source term to an equation.
const dictionary & coeffs() const
Return dictionary.
fvModel(const word &name, const word &modelType, const dictionary &dict, const fvMesh &mesh)
Construct from components.
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.
void addSupType(fvMatrix< Type > &eqn, const word &fieldName) const
Add a source term to an equation.
declareRunTimeSelectionTable(autoPtr, fvModel, dictionary,(const word &name, const word &modelType, const dictionary &dict, const fvMesh &mesh),(name, modelType, dict, mesh))
autoPtr< fvModel > clone() const
Return clone.
Forward declarations of fvMatrix specialisations.
Mesh data needed to do the Finite Volume discretisation.
virtual void correct()
Correct the fvModel.
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
A class for managing temporary objects.
virtual bool movePoints()
Update for mesh motion.
#define NotImplemented
Issue a FatalErrorIn for a function not currently implemented.