53 const word& sourceName,
54 const word& modelType,
59 fvModel(sourceName, modelType, dict, mesh),
81 if (isA<basicSpecieMixture>(carrierThermo_))
84 refCast<const basicSpecieMixture>(carrierThermo_);
90 if (composition.
solve(i))
110 curTimeIndex_ =
mesh().time().timeIndex();
117 const word& fieldName
125 if (fieldName ==
"rho")
127 eqn += clouds_.Srho(eqn.
psi());
132 <<
"Support for field " << fieldName <<
" is not implemented" 142 const word& fieldName
150 if (fieldName ==
"rho")
152 eqn += clouds_.Srho(eqn.
psi());
154 else if (fieldName == carrierThermo_.he().name())
156 eqn += clouds_.Sh(eqn.
psi());
160 isA<basicSpecieMixture>(carrierThermo_)
161 && refCast<const basicSpecieMixture>(carrierThermo_).contains
169 refCast<const basicSpecieMixture>(carrierThermo_).index(eqn.
psi()),
176 <<
"Support for field " << fieldName <<
" is not implemented" 186 const word& fieldName
194 if (fieldName ==
"U")
196 eqn += clouds_.SU(eqn.
psi());
201 <<
"Support for field " << fieldName <<
" is not implemented" 210 clouds_.storeGlobalPositions();
clouds(const word &sourceName, const word &modelType, const dictionary &dict, const fvMesh &mesh)
Construct from explicit source name and mesh.
bool solve(label speciei) const
Return true if the specie should be solved for.
defineTypeNameAndDebug(fixedTemperatureConstraint, 0)
#define forAll(list, i)
Loop across all elements in list.
const word & name() const
Return name.
errorManipArg< error, int > exit(error &err, const int errNo=1)
virtual void preUpdateMesh()
Prepare for mesh update.
A list of keyword definitions, which are a keyword followed by any number of values (e...
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
basicSpecieMixture & composition
const GeometricField< Type, fvPatchField, volMesh > & psi() const
Ostream & endl(Ostream &os)
Add newline and flush stream.
Finite volume model abstract base class.
virtual void addSup(fvMatrix< scalar > &eqn, const word &fieldName) const
Add source to continuity equation.
Specialisation of basicMixture for a mixture consisting of a number for molecular species...
const Type & lookupObject(const word &name) const
Lookup and return the object of the given Type.
Macros for easy insertion into run-time selection tables.
static List< word > fieldNames
virtual void correct()
Solve the Lagrangian clouds and update the sources.
virtual wordList addSupFields() const
Return the list of fields for which the option adds source term.
A class for handling words, derived from string.
Base-class for fluid thermodynamic properties.
void append(const T &)
Append an element at the end of the list.
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.
static const word dictName
Name of the thermophysical properties dictionary.
word name(const complex &)
Return a string representation of a complex.
addToRunTimeSelectionTable(fvConstraint, fixedTemperatureConstraint, dictionary)
A templated 1D list of pointers to objects of type <T>, where the size of the array is known and used...
PtrList< volScalarField > & Y
Mesh data needed to do the Finite Volume discretisation.
fileType type(const fileName &, const bool checkVariants=true, const bool followLink=true)
Return the file type: directory or file.
PtrList< volScalarField > & Y()
Return the mass-fraction fields.