30 template<
class BasicSol
idThermo,
class MixtureType>
33 const bool isotropic = this->isotropic();
36 const auto& pCells = this->p_;
39 scalarField& CpCells = this->Cp_.primitiveFieldRef();
40 scalarField& CvCells = this->Cv_.primitiveFieldRef();
41 scalarField& rhoCells = this->rho_.primitiveFieldRef();
42 scalarField& kappaCells = this->kappa_.primitiveFieldRef();
43 vectorField& KappaCells = this->Kappa_.primitiveFieldRef();
47 const typename MixtureType::thermoMixtureType& thermoMixture =
48 this->cellThermoMixture(celli);
50 const typename MixtureType::transportMixtureType& transportMixture =
51 this->cellTransportMixture(celli, thermoMixture);
53 TCells[celli] = thermoMixture.THE
60 CpCells[celli] = thermoMixture.Cp(pCells[celli], TCells[celli]);
61 CvCells[celli] = thermoMixture.Cv(pCells[celli], TCells[celli]);
62 rhoCells[celli] = thermoMixture.rho(pCells[celli], TCells[celli]);
67 transportMixture.kappa(pCells[celli], TCells[celli]);
72 transportMixture.Kappa(pCells[celli], TCells[celli]);
78 this->
he().boundaryFieldRef();
80 const auto& pBf = this->p_.boundaryField();
83 this->T_.boundaryFieldRef();
86 this->Cp_.boundaryFieldRef();
89 this->Cv_.boundaryFieldRef();
92 this->rho_.boundaryFieldRef();
95 this->kappa_.boundaryFieldRef();
98 this->Kappa_.boundaryFieldRef();
103 const auto& pp = pBf[
patchi];
115 const typename MixtureType::thermoMixtureType&
116 thermoMixture = this->patchFaceThermoMixture(
patchi, facei);
118 const typename MixtureType::transportMixtureType&
120 this->patchFaceTransportMixture
121 (
patchi, facei, thermoMixture);
123 phe[facei] = thermoMixture.HE(pp[facei], pT[facei]);
125 prho[facei] = thermoMixture.rho(pp[facei], pT[facei]);
126 pCp[facei] = thermoMixture.Cp(pp[facei], pT[facei]);
127 pCv[facei] = thermoMixture.Cv(pp[facei], pT[facei]);
132 transportMixture.kappa(pp[facei], pT[facei]);
137 transportMixture.Kappa(pp[facei], pT[facei]);
145 const typename MixtureType::thermoMixtureType&
146 thermoMixture = this->patchFaceThermoMixture(
patchi, facei);
148 const typename MixtureType::transportMixtureType&
150 this->patchFaceTransportMixture
151 (
patchi, facei, thermoMixture);
153 pT[facei] = thermoMixture.THE(phe[facei], pp[facei] ,pT[facei]);
155 prho[facei] = thermoMixture.rho(pp[facei], pT[facei]);
156 pCp[facei] = thermoMixture.Cp(pp[facei], pT[facei]);
157 pCv[facei] = thermoMixture.Cv(pp[facei], pT[facei]);
162 transportMixture.kappa(pp[facei], pT[facei]);
167 transportMixture.Kappa(pp[facei], pT[facei]);
177 template<
class BasicSol
idThermo,
class MixtureType>
182 const word& phaseName
185 heThermo<BasicSolidThermo, MixtureType>(mesh, phaseName),
190 BasicSolidThermo::phasePropertyName(
"Kappa", phaseName),
206 template<
class BasicSol
idThermo,
class MixtureType>
213 template<
class BasicSol
idThermo,
class MixtureType>
230 template<
class BasicSol
idThermo,
class MixtureType>
#define forAll(list, i)
Loop across all elements in list.
Generic GeometricBoundaryField class.
Generic GeometricField class.
IOobject defines the attributes of an object for which implicit objectRegistry management is supporte...
Mesh data needed to do the Finite Volume discretisation.
Abstract base class with a fat-interface to all derived classes covering all possible ways in which t...
virtual bool fixesValue() const
Return true if this patch field fixes a value.
heSolidThermo(const fvMesh &, const word &phaseName)
Construct from mesh and phase name.
virtual void correct()
Update properties.
virtual const volVectorField & Kappa() const
Anisotropic thermal conductivity [W/m/K].
virtual ~heSolidThermo()
Destructor.
void calculate()
Calculate the thermo variables.
Enthalpy/Internal energy for a mixture.
A class for handling words, derived from string.
#define InfoInFunction
Report an information message using Foam::Info.
label calculate(const fvMesh &mesh, const labelHashSet &patchIDs, const scalar minFaceFraction, GeometricField< scalar, PatchField, GeoMesh > &distance)
Calculate distance data from patches.
const dimensionSet dimEnergy
Ostream & endl(Ostream &os)
Add newline and flush stream.
const dimensionSet dimLength
const dimensionSet dimTemperature
const dimensionSet dimTime
word name(const complex &)
Return a string representation of a complex.