62 void Foam::fv::semiImplicitSource::readCoeffs()
65 volumeMode_ = volumeModeNames_.read(coeffs().
lookup(
"volumeMode"));
87 void Foam::fv::semiImplicitSource::addSupType
96 <<
">::addSup for source " <<
name() <<
endl;
99 const scalar t =
mesh().time().userTimeValue();
107 name() + fieldName +
"Su",
130 case volumeMode::specific:
137 fieldSu_[fieldName]->value<Type>(t)/VDash;
143 name() + fieldName +
"Sp",
161 fieldSp_[fieldName]->value(t)/VDash;
168 void Foam::fv::semiImplicitSource::addSupType
172 const word& fieldName
175 return this->addSup(eqn, fieldName);
180 void Foam::fv::semiImplicitSource::addSupType
185 const word& fieldName
188 return this->addSup(eqn, fieldName);
197 const word& modelType,
202 fvModel(name, modelType, dict, mesh),
203 set_(coeffs(), mesh),
220 return fieldSu_.toc();
246 set_.topoChange(map);
261 set_.distribute(map);
#define IMPLEMENT_FV_MODEL_ADD_ALPHA_RHO_SUP(Type, modelType)
Run-time selectable general function of one variable.
defineTypeNameAndDebug(fixedTemperatureConstraint, 0)
Class containing mesh-to-mesh mapping information after a mesh distribution where we send parts of me...
tmp< fvMatrix< Type > > SuSp(const volScalarField::Internal &, const GeometricField< Type, fvPatchField, volMesh > &)
Wrapper around Function1 that constructs a function for an as yet unknown primitive type...
A list of keyword definitions, which are a keyword followed by any number of values (e...
#define forAllConstIter(Container, container, iter)
Iterate across all elements in the container object of type.
const GeometricField< Type, fvPatchField, volMesh > & psi() const
virtual void mapMesh(const polyMeshMap &)
Update from another mesh using the given map.
virtual bool read(const dictionary &dict)
Read source dictionary.
Ostream & endl(Ostream &os)
Add newline and flush stream.
Traits class for primitives.
Finite volume model abstract base class.
Generic GeometricField class.
Generic dimensioned Type class.
Semi-implicit source, described using an input dictionary. The injection rate coefficients are specif...
virtual bool movePoints()
Update for mesh motion.
Initialise the NamedEnum HashTable from the static list of names.
semiImplicitSource(const word &name, const word &modelType, const dictionary &dict, const fvMesh &mesh)
Construct from components.
Macros for easy insertion into run-time selection tables.
const dimensionSet & dimensions() const
Return dimensions.
stressControl lookup("compactNormalStress") >> compactNormalStress
virtual bool read(const dictionary &dict)
Read source dictionary.
A class for handling words, derived from string.
Class containing mesh-to-mesh mapping information after a change in polyMesh topology.
const volScalarField & psi
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.
#define IMPLEMENT_FV_MODEL_ADD_SUP(Type, modelType)
word name(const complex &)
Return a string representation of a complex.
const tmp< volScalarField::Internal > & Sp
addToRunTimeSelectionTable(fvConstraint, fixedTemperatureConstraint, dictionary)
tmp< surfaceScalarField > absolute(const tmp< surfaceScalarField > &tphi, const volVectorField &U)
Return the given relative flux in absolute form.
static const NamedEnum< volumeMode, 2 > volumeModeNames_
Property type names.
#define IMPLEMENT_FV_MODEL_ADD_RHO_SUP(Type, modelType)
Mesh data needed to do the Finite Volume discretisation.
A List with indirect addressing.
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
A special matrix type and solver, designed for finite volume solutions of scalar equations.
const dimensionSet dimVolume
FOR_ALL_FIELD_TYPES(DefineFvWallInfoType)
const tmp< volScalarField::Internal > & Su
Class containing mesh-to-mesh mapping information.
virtual ~semiImplicitSource()
Destructor.
IOobject defines the attributes of an object for which implicit objectRegistry management is supporte...
virtual wordList addSupFields() const
Return the list of fields for which the fvModel adds source term.
Calculate the matrix for implicit and explicit sources.
virtual void distribute(const polyDistributionMap &)
Redistribute or update using the given distribution map.
virtual void topoChange(const polyTopoChangeMap &)
Update topology using the given map.
const dimensionSet & dimensions() const