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]);
138 this->alpha_.correctBoundaryConditions();
144 template<
class BasicSol
idThermo,
class MixtureType>
149 const word& phaseName
158 template<
class BasicSol
idThermo,
class MixtureType>
164 const word& phaseName
175 template<
class BasicSol
idThermo,
class MixtureType>
182 template<
class BasicSol
idThermo,
class MixtureType>
199 template<
class BasicSol
idThermo,
class MixtureType>
203 const fvMesh& mesh = this->T_.mesh();
228 ).Kappa(pCells[celli], TCells[celli]);
242 this->patchFaceVolMixture
248 ).Kappa(pp[facei], pT[facei]);
256 template<
class BasicSol
idThermo,
class MixtureType>
272 this->patchFaceVolMixture
278 ).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)
tmp< DimensionedField< TypeR, GeoMesh > > New(const tmp< DimensionedField< TypeR, GeoMesh >> &tdf1, const word &name, const dimensionSet &dimensions)
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)
Internal::FieldType & primitiveFieldRef()
Return a reference to the internal field.
const dimensionSet dimEnergy
Energy for a solid mixture.
Boundary & boundaryFieldRef()
Return a reference to the boundary field.
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.
virtual ~heSolidThermo()
Destructor.
#define InfoInFunction
Report an information message using Foam::Info.