97 iter != thermos.
end();
103 &(iter()->he().internalField())
118 const word& thermoName,
129 (endb = thermoName.find(
'<', beg)) != string::npos
130 || (endc = thermoName.find(
',', beg)) != string::npos
133 if (endb == string::npos)
137 else if ((endc = thermoName.find(
',', beg)) != string::npos)
139 end =
min(endb, endc);
148 cmpts[i] = thermoName.substr(beg, end-beg);
149 cmpts[i++].replaceAll(
">",
"");
168 if (beg < thermoName.size())
170 cmpts[i] = thermoName.substr(beg, string::npos);
171 cmpts[i].replaceAll(
">",
"");
180 const word& thermoName
183 const wordList components(splitThermoName(thermoName, 5));
187 {
"transport", components[0]},
188 {
"thermo", components[1]},
189 {
"equationOfState", components[2]},
190 {
"specie", components[3]},
191 {
"energy", components[4]}
206 if (tbf[
patchi].overridesConstraint())
224 if (isA<fixedValueFvPatchScalarField>(tbf[
patchi]))
226 hbt[
patchi] = fixedEnergyFvPatchScalarField::typeName;
230 isA<zeroGradientFvPatchScalarField>(tbf[
patchi])
231 || isA<fixedGradientFvPatchScalarField>(tbf[
patchi])
232 || isA<gradientEnergyCalculatedTemperatureFvPatchScalarField>
238 hbt[
patchi] = gradientEnergyFvPatchScalarField::typeName;
242 isA<mixedFvPatchScalarField>(tbf[
patchi])
243 || isA<mixedEnergyCalculatedTemperatureFvPatchScalarField>
249 hbt[
patchi] = mixedEnergyFvPatchScalarField::typeName;
251 else if (isA<fixedJumpFvPatchScalarField>(tbf[
patchi]))
266 const word& phaseName
273 phaseName_(phaseName),
279 phasePropertyName(
"T", phaseName),
292 phasePropertyName(
"kappa", phaseName),
302 dpdt_(lookupOrDefault<
Switch>(
"dpdt", true))
340 <<
", thermodynamics package provides " <<
he().
name()
363 <<
", thermodynamics package provides " <<
he().
name()
graph_traits< Graph >::vertices_size_type size_type
#define forAll(list, i)
Loop across all elements in list.
static const char *const typeName
Generic GeometricBoundaryField class.
wordList types() const
Return a list of the patch field types.
Generic GeometricField class.
An STL-conforming iterator.
An STL-conforming hash table.
iterator begin()
Iterator set to the beginning of the HashTable.
IOobject defines the attributes of an object for which implicit objectRegistry management is supporte...
const word & name() const
Return name.
A simple wrapper around bool so that it can be read as a word: true/false, on/off,...
label size() const
Return the number of elements in the UPtrList.
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
virtual const volScalarField & T() const
Temperature [K].
implementation(const fvMesh &, const word &phaseName)
Construct from mesh and phase name.
virtual const volScalarField & kappa() const
Thermal conductivity of mixture [W/m/K].
virtual ~implementation()
Destructor.
virtual bool read()
Read thermophysical properties dictionary.
Base-class for fluid and solid thermodynamic properties.
static const basicThermo & lookupThermo(const fvPatchScalarField &pf)
Lookup the thermo associated with the given patch field.
static List< Pair< word > > thermoNameComponents(const word &thermoName)
Split name of thermo package into a list of named components names.
wordList heBoundaryTypes()
Enthalpy/internal energy field boundary types.
virtual volScalarField & he()=0
Enthalpy/Internal energy [J/kg].
static word phasePropertyName(const word &name, const word &phaseName)
Name of a property for a given phase.
wordList heBoundaryBaseTypes()
Enthalpy/internal energy field boundary base types.
static wordList splitThermoName(const word &thermoName, const int nCmpt)
Split name of thermo package into a list of the components names.
virtual const fvMesh & mesh() const =0
Return const access to the mesh.
virtual const word & phaseName() const =0
Phase name.
void validate(const string &app, const word &) const
Check that the thermodynamics package is consistent.
virtual ~basicThermo()
Destructor.
static volScalarField & lookupOrConstruct(const fvMesh &mesh, const char *name)
Lookup and the named field, or construct it as MUST-READ if it is.
static autoPtr< Thermo > New(const fvMesh &, const word &phaseName=word::null)
Generic New for each of the related thermodynamics packages.
const word & name() const
Return const reference to name.
Mesh data needed to do the Finite Volume discretisation.
const Time & time() const
Return the top-level database.
Abstract base class with a fat-interface to all derived classes covering all possible ways in which t...
const DimensionedField< Type, volMesh > & internalField() const
Return dimensioned internal field reference.
const objectRegistry & db() const
Return local objectRegistry.
const Type & lookupObject(const word &name) const
Lookup and return the object of the given Type and name.
HashTable< const Type * > lookupClass(const bool strict=false) const
Lookup and return all objects of the given Type.
bool foundObject(const word &name) const
Is the named Type in registry.
An abstract base class for physical properties.
void store()
Transfer ownership of this object to its registry.
virtual bool read()
Read object.
A class for handling words, derived from string.
static const word null
An empty word.
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
errorManipArg< error, int > exit(error &err, const int errNo=1)
List< word > wordList
A List of words.
defineRunTimeSelectionTable(reactionRateFlameArea, dictionary)
const dimensionSet dimEnergy
const dimensionSet dimLength
const dimensionSet dimTemperature
layerAndWeight min(const layerAndWeight &a, const layerAndWeight &b)
const dimensionSet dimTime
defineTypeNameAndDebug(combustionModel, 0)
word name(const complex &)
Return a string representation of a complex.
void T(FieldField< Field, Type > &f1, const FieldField< Field, Type > &f2)
static iteratorEnd end()
iteratorEnd set to beyond the end of any HashTable