31 template<
class BasicSol
idThermo,
class MixtureType>
36 const scalarField& hCells = this->he_.internalField();
37 const scalarField& pCells = this->p_.internalField();
39 scalarField& alphaCells = this->alpha_.internalField();
43 const typename MixtureType::thermoType& mixture_ =
44 this->cellMixture(celli);
46 const typename MixtureType::thermoType& volMixture_ =
47 this->cellVolMixture(pCells[celli], TCells[celli], celli);
49 TCells[celli] = mixture_.THE
56 rhoCells[celli] = volMixture_.rho(pCells[celli], TCells[celli]);
59 volMixture_.kappa(pCells[celli], TCells[celli])
61 mixture_.Cpv(pCells[celli], TCells[celli]);
77 const typename MixtureType::thermoType& mixture_ =
78 this->patchFaceMixture(patchi, facei);
80 const typename MixtureType::thermoType& volMixture_ =
81 this->patchFaceVolMixture
90 ph[facei] = mixture_.HE(pp[facei], pT[facei]);
91 prho[facei] = volMixture_.rho(pp[facei], pT[facei]);
94 volMixture_.kappa(pp[facei], pT[facei])
95 / mixture_.Cpv(pp[facei], pT[facei]);
102 const typename MixtureType::thermoType& mixture_ =
103 this->patchFaceMixture(patchi, facei);
105 const typename MixtureType::thermoType& volMixture_ =
106 this->patchFaceVolMixture
114 pT[facei] = mixture_.THE(ph[facei], pp[facei] ,pT[facei]);
115 prho[facei] = volMixture_.rho(pp[facei], pT[facei]);
118 volMixture_.kappa(pp[facei], pT[facei])
119 / mixture_.Cpv(pp[facei], pT[facei]);
128 template<
class BasicSol
idThermo,
class MixtureType>
133 const word& phaseName
142 template<
class BasicSol
idThermo,
class MixtureType>
148 const word& phaseName
159 template<
class BasicSol
idThermo,
class MixtureType>
166 template<
class BasicSol
idThermo,
class MixtureType>
171 Info<<
"entering heSolidThermo<MixtureType>::correct()" <<
endl;
178 Info<<
"exiting heSolidThermo<MixtureType>::correct()" <<
endl;
183 template<
class BasicSol
idThermo,
class MixtureType>
187 const fvMesh& mesh = this->T_.mesh();
208 const scalarField& TCells = this->T_.internalField();
209 const scalarField& pCells = this->p_.internalField();
219 ).Kappa(pCells[celli], TCells[celli]);
231 this->patchFaceVolMixture
237 ).Kappa(pp[facei], pT[facei]);
245 template<
class BasicSol
idThermo,
class MixtureType>
261 this->patchFaceVolMixture
267 ).Kappa(pp[facei], Tp[facei]);
virtual void correct()
Update properties.
virtual ~heSolidThermo()
Destructor.
Mesh data needed to do the Finite Volume discretisation.
const dimensionSet dimTime(0, 0, 1, 0, 0, 0, 0)
A class for handling words, derived from string.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
static word timeName(const scalar, const int precision=precision_)
Return time name of given scalar time.
void size(const label)
Override size to be inconsistent with allocated storage.
const dimensionSet dimEnergy
Energy for a solid mixture.
A list of keyword definitions, which are a keyword followed by any number of values (e...
virtual tmp< volVectorField > Kappa() const
Anisotropic thermal conductivity [W/m/K].
const dimensionSet dimLength(0, 1, 0, 0, 0, 0, 0)
const Time & time() const
Return the top-level database.
Ostream & endl(Ostream &os)
Add newline and flush stream.
IOobject defines the attributes of an object for which implicit objectRegistry management is supporte...
volVectorField vectorField(fieldObject, mesh)
fvPatchField< scalar > fvPatchScalarField
const dimensionSet dimTemperature(0, 0, 0, 1, 0, 0, 0)
volScalarField scalarField(fieldObject, mesh)
A class for managing temporary objects.