30 template<
class BasicPsiThermo,
class MixtureType>
37 scalarField& CpCells = this->Cp_.primitiveFieldRef();
38 scalarField& CvCells = this->Cv_.primitiveFieldRef();
39 scalarField& psiCells = this->psi_.primitiveFieldRef();
40 scalarField& muCells = this->mu_.primitiveFieldRef();
41 scalarField& kappaCells = this->kappa_.primitiveFieldRef();
45 const typename MixtureType::thermoMixtureType& thermoMixture =
46 this->cellThermoMixture(celli);
48 const typename MixtureType::transportMixtureType& transportMixture =
49 this->cellTransportMixture(celli, thermoMixture);
51 TCells[celli] = thermoMixture.THE
58 CpCells[celli] = thermoMixture.Cp(pCells[celli], TCells[celli]);
59 CvCells[celli] = thermoMixture.Cv(pCells[celli], TCells[celli]);
60 psiCells[celli] = thermoMixture.psi(pCells[celli], TCells[celli]);
62 muCells[celli] = transportMixture.mu(pCells[celli], TCells[celli]);
64 transportMixture.kappa(pCells[celli], TCells[celli]);
67 volScalarField::Boundary& pBf =
68 this->p_.boundaryFieldRef();
70 volScalarField::Boundary& TBf =
71 this->T_.boundaryFieldRef();
73 volScalarField::Boundary& CpBf =
74 this->Cp_.boundaryFieldRef();
76 volScalarField::Boundary& CvBf =
77 this->Cv_.boundaryFieldRef();
79 volScalarField::Boundary& psiBf =
80 this->psi_.boundaryFieldRef();
82 volScalarField::Boundary& heBf =
83 this->
he().boundaryFieldRef();
85 volScalarField::Boundary& muBf =
86 this->mu_.boundaryFieldRef();
88 volScalarField::Boundary& kappaBf =
89 this->kappa_.boundaryFieldRef();
106 const typename MixtureType::thermoMixtureType&
107 thermoMixture = this->patchFaceThermoMixture(
patchi, facei);
109 const typename MixtureType::transportMixtureType&
111 this->patchFaceTransportMixture
112 (
patchi, facei, thermoMixture);
114 phe[facei] = thermoMixture.HE(pp[facei], pT[facei]);
116 pCp[facei] = thermoMixture.Cp(pp[facei], pT[facei]);
117 pCv[facei] = thermoMixture.Cv(pp[facei], pT[facei]);
118 ppsi[facei] = thermoMixture.psi(pp[facei], pT[facei]);
120 pmu[facei] = transportMixture.mu(pp[facei], pT[facei]);
121 pkappa[facei] = transportMixture.kappa(pp[facei], pT[facei]);
128 const typename MixtureType::thermoMixtureType& thermoMixture =
129 this->patchFaceThermoMixture(
patchi, facei);
131 const typename MixtureType::transportMixtureType&
133 this->patchFaceTransportMixture
134 (
patchi, facei, thermoMixture);
136 pT[facei] = thermoMixture.THE(phe[facei], pp[facei], pT[facei]);
138 pCp[facei] = thermoMixture.Cp(pp[facei], pT[facei]);
139 pCv[facei] = thermoMixture.Cv(pp[facei], pT[facei]);
140 ppsi[facei] = thermoMixture.psi(pp[facei], pT[facei]);
142 pmu[facei] = transportMixture.mu(pp[facei], pT[facei]);
143 pkappa[facei] = transportMixture.kappa(pp[facei], pT[facei]);
152 template<
class BasicPsiThermo,
class MixtureType>
156 const word& phaseName
164 this->psi_.oldTime();
170 template<
class BasicPsiThermo,
class MixtureType>
177 template<
class BasicPsiThermo,
class MixtureType>
186 this->psi_.oldTime();
#define forAll(list, i)
Loop across all elements in list.
Ostream & endl(Ostream &os)
Add newline and flush stream.
label calculate(const fvMesh &mesh, const labelHashSet &patchIDs, const scalar minFaceFraction, GeometricField< scalar, PatchField, GeoMesh > &distance)
Calculate distance data from patches.
fvPatchField< scalar > fvPatchScalarField
A class for handling words, derived from string.
volScalarField scalarField(fieldObject, mesh)
hePsiThermo(const fvMesh &, const word &phaseName)
Construct from mesh and phase name.
virtual ~hePsiThermo()
Destructor.
Mesh data needed to do the Finite Volume discretisation.
Energy for a mixture based on compressibility.
virtual void correct()
Update properties.
#define InfoInFunction
Report an information message using Foam::Info.