54 const word& sourceName,
55 const word& modelType,
60 fvModel(sourceName, modelType, dict, mesh),
63 regionModels::surfaceFilmModels::thermoSingleLayer::typeName,
76 : surfaceFilm_.primaryThermo().rho()().
name(),
77 surfaceFilm_.UPrimary().name(),
78 surfaceFilm_.primaryThermo().he().name()
83 if (isA<basicSpecieMixture>(surfaceFilm_.primaryThermo()))
86 refCast<const basicSpecieMixture>(surfaceFilm_.primaryThermo());
92 if (composition.
solve(i))
94 fieldNames_.append(Y[i].
name());
111 return surfaceFilm_.maxDeltaT();
122 surfaceFilm_.evolve();
124 curTimeIndex_ =
mesh().time().timeIndex();
131 const word& fieldName
139 if (fieldName == fieldNames_[0])
141 eqn += surfaceFilm_.Srho();
146 <<
"Support for field " << fieldName <<
" is not implemented" 156 const word& fieldName
164 if (fieldName == fieldNames_[0])
166 eqn += surfaceFilm_.Srho();
168 else if (fieldName == fieldNames_[2])
170 eqn += surfaceFilm_.Sh();
174 isA<basicSpecieMixture>(surfaceFilm_.primaryThermo())
175 && refCast<const basicSpecieMixture>(surfaceFilm_.primaryThermo()).contains
181 eqn += surfaceFilm_.SYi
183 refCast<const basicSpecieMixture>(surfaceFilm_.primaryThermo())
190 <<
"Support for field " << fieldName <<
" is not implemented" 200 const word& fieldName
208 if (fieldName == fieldNames_[1])
210 eqn += surfaceFilm_.SU();
215 <<
"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.
Class containing mesh-to-mesh mapping information after a mesh distribution where we send parts of me...
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.
bool foundObject(const word &name) const
Is the named Type found?
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.
virtual scalar maxDeltaT() const
Return the maximum time-step for stable operation.
virtual void topoChange(const polyTopoChangeMap &)
Update topology using the given map.
A class for handling words, derived from string.
Class containing mesh-to-mesh mapping information after a change in polyMesh topology.
static word groupName(Name name, const word &group)
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 mapMesh(const polyMeshMap &)
Update from another mesh using the given map.
virtual bool movePoints()
Update for mesh motion.
word name(const complex &)
Return a string representation of a complex.
addToRunTimeSelectionTable(fvConstraint, fixedTemperatureConstraint, dictionary)
virtual void distribute(const polyDistributionMap &)
Redistribute or update using the given distribution map.
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.
Class containing mesh-to-mesh mapping information.
PtrList< volScalarField > & Y()
Return the mass-fraction fields.
virtual void addSup(fvMatrix< scalar > &eqn, const word &fieldName) const
Add source to continuity equation.