31 template<
class BasicSol
idThermo,
class MixtureType>
38 scalarField& rhoCells = this->rho_.primitiveFieldRef();
39 scalarField& alphaCells = this->alpha_.primitiveFieldRef();
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]);
64 volScalarField::Boundary& pBf =
65 this->p_.boundaryFieldRef();
67 volScalarField::Boundary& TBf =
68 this->T_.boundaryFieldRef();
70 volScalarField::Boundary& rhoBf =
71 this->rho_.boundaryFieldRef();
73 volScalarField::Boundary& heBf =
74 this->
he().boundaryFieldRef();
76 volScalarField::Boundary& alphaBf =
77 this->alpha_.boundaryFieldRef();
91 const typename MixtureType::thermoType& mixture_ =
92 this->patchFaceMixture(patchi, facei);
94 const typename MixtureType::thermoType& volMixture_ =
95 this->patchFaceVolMixture
104 phe[facei] = mixture_.HE(pp[facei], pT[facei]);
105 prho[facei] = volMixture_.rho(pp[facei], pT[facei]);
108 volMixture_.kappa(pp[facei], pT[facei])
109 / mixture_.Cpv(pp[facei], pT[facei]);
116 const typename MixtureType::thermoType& mixture_ =
117 this->patchFaceMixture(patchi, facei);
119 const typename MixtureType::thermoType& volMixture_ =
120 this->patchFaceVolMixture
128 pT[facei] = mixture_.THE(phe[facei], pp[facei] ,pT[facei]);
129 prho[facei] = volMixture_.rho(pp[facei], pT[facei]);
132 volMixture_.kappa(pp[facei], pT[facei])
133 / mixture_.Cpv(pp[facei], pT[facei]);
142 template<
class BasicSol
idThermo,
class MixtureType>
147 const word& phaseName
156 template<
class BasicSol
idThermo,
class MixtureType>
162 const word& phaseName
173 template<
class BasicSol
idThermo,
class MixtureType>
180 template<
class BasicSol
idThermo,
class MixtureType>
197 template<
class BasicSol
idThermo,
class MixtureType>
201 const fvMesh& mesh = this->T_.mesh();
221 vectorField& KappaCells = Kappa.primitiveFieldRef();
233 ).Kappa(pCells[celli], TCells[celli]);
236 volVectorField::Boundary& KappaBf = Kappa.boundaryFieldRef();
247 this->patchFaceVolMixture
253 ).Kappa(pp[facei], pT[facei]);
261 template<
class BasicSol
idThermo,
class MixtureType>
277 this->patchFaceVolMixture
283 ).Kappa(pp[facei], Tp[facei]);
#define forAll(list, i)
Loop across all elements in list.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
A list of keyword definitions, which are a keyword followed by any number of values (e...
T & ref() const
Return non-const reference or generate a fatal error.
void size(const label)
Override size to be inconsistent with allocated storage.
Ostream & endl(Ostream &os)
Add newline and flush stream.
volVectorField vectorField(fieldObject, mesh)
static word timeName(const scalar, const int precision=precision_)
Return time name of given scalar time.
const Time & time() const
Return the top-level database.
virtual void correct()
Update properties.
virtual tmp< volVectorField > Kappa() const
Anisotropic thermal conductivity [W/m/K].
fvPatchField< scalar > fvPatchScalarField
A class for handling words, derived from string.
const dimensionSet dimTemperature(0, 0, 0, 1, 0, 0, 0)
volScalarField scalarField(fieldObject, mesh)
const dimensionSet dimEnergy
Internal & ref()
Return a reference to the dimensioned internal field.
Energy for a solid mixture.
const dimensionSet dimLength(0, 1, 0, 0, 0, 0, 0)
Mesh data needed to do the Finite Volume discretisation.
const dimensionSet dimTime(0, 0, 1, 0, 0, 0, 0)
A class for managing temporary objects.
IOobject defines the attributes of an object for which implicit objectRegistry management is supporte...
virtual ~heSolidThermo()
Destructor.
#define InfoInFunction
Report an information message using Foam::Info.