53 const word& sourceName,
54 const word& modelType,
59 fvModel(sourceName, modelType, dict, mesh),
82 if (isA<basicSpecieMixture>(primaryThermo_))
85 refCast<const basicSpecieMixture>(primaryThermo_);
91 if (composition.
solve(i))
109 surfaceFilm_->evolve();
111 curTimeIndex_ =
mesh().time().timeIndex();
118 const word& fieldName
126 if (fieldName ==
"rho")
128 eqn += surfaceFilm_->Srho();
133 <<
"Support for field " << fieldName <<
" is not implemented" 143 const word& fieldName
151 if (fieldName ==
"rho")
153 eqn += surfaceFilm_->Srho();
155 else if (fieldName == primaryThermo_.he().name())
157 eqn += surfaceFilm_->Sh();
161 isA<basicSpecieMixture>(primaryThermo_)
162 && refCast<const basicSpecieMixture>(primaryThermo_).contains
168 eqn += surfaceFilm_->SYi
170 refCast<const basicSpecieMixture>(primaryThermo_).index(eqn.
psi())
176 <<
"Support for field " << fieldName <<
" is not implemented" 186 const word& fieldName
194 if (fieldName ==
"U")
196 eqn += surfaceFilm_->SU();
201 <<
"Support for field " << fieldName <<
" is not implemented" virtual void correct()
Solve the Lagrangian surfaceFilm and update the sources.
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)
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 wordList addSupFields() const
Return the list of fields for which the option adds source term.
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
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.
static autoPtr< surfaceFilmModel > New(const fvMesh &mesh, const dimensionedVector &g, const word ®ionType="surfaceFilm")
Return a reference to the selected surface film model.
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.
surfaceFilm(const word &sourceName, const word &modelType, const dictionary &dict, const fvMesh &mesh)
Construct from explicit source name and mesh.
PtrList< volScalarField > & Y()
Return the mass-fraction fields.
virtual void addSup(fvMatrix< scalar > &eqn, const word &fieldName) const
Add source to continuity equation.