50 class polyTopoChangeMap;
52 class polyDistributionMap;
66 const word modelType_;
106 const word& fieldName
111 template<
class Type,
class ... AlphaRhoFieldTypes>
115 const word& fieldName,
117 const AlphaRhoFieldTypes& ... alphaRhos
136 const word& modelType,
140 (name, modelType, dict, mesh)
150 class AlphaRhoFieldType,
151 class ... AlphaRhoFieldTypes
157 const AlphaRhoFieldType& alphaRho,
158 const AlphaRhoFieldTypes& ... alphaRhos
177 const word& modelType,
289 const word& fieldName
306 const word& fieldName
325 const word& fieldName
iNew(const fvMesh &mesh, const word &name)
Class containing mesh-to-mesh mapping information after a mesh distribution where we send parts of me...
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)
virtual void mapMesh(const polyMeshMap &)=0
Update from another mesh using the given map.
Finite volume model abstract base class.
virtual void preUpdateMesh()
Prepare for mesh update.
virtual void distribute(const polyDistributionMap &)=0
Redistribute or update using the given distribution map.
const fvMesh & mesh() const
Return const access to the mesh database.
TypeName("fvModel")
Runtime type information.
virtual bool movePoints()=0
Update for mesh motion.
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)
Class containing mesh-to-mesh mapping information after a change in polyMesh topology.
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.
virtual scalar maxDeltaT() const
Return the maximum time-step for stable operation.
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.
virtual void topoChange(const polyTopoChangeMap &)=0
Update topology using the given map.
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.
Class containing mesh-to-mesh mapping information.
#define NotImplemented
Issue a FatalErrorIn for a function not currently implemented.