30 template<
class BasicRhoThermo,
class MixtureType>
37 scalarField& CpCells = this->Cp_.primitiveFieldRef();
38 scalarField& CvCells = this->Cv_.primitiveFieldRef();
39 scalarField& psiCells = this->psi_.primitiveFieldRef();
40 scalarField& rhoCells = this->rho_.primitiveFieldRef();
41 scalarField& muCells = this->mu_.primitiveFieldRef();
42 scalarField& alphaCells = this->alpha_.primitiveFieldRef();
46 const typename MixtureType::thermoMixtureType& thermoMixture =
47 this->cellThermoMixture(celli);
49 const typename MixtureType::transportMixtureType& transportMixture =
50 this->cellTransportMixture(celli, thermoMixture);
52 TCells[celli] = thermoMixture.THE
59 CpCells[celli] = thermoMixture.Cp(pCells[celli], TCells[celli]);
60 CvCells[celli] = thermoMixture.Cv(pCells[celli], TCells[celli]);
61 psiCells[celli] = thermoMixture.psi(pCells[celli], TCells[celli]);
62 rhoCells[celli] = thermoMixture.rho(pCells[celli], TCells[celli]);
64 muCells[celli] = transportMixture.mu(pCells[celli], TCells[celli]);
66 transportMixture.kappa(pCells[celli], TCells[celli])
67 /thermoMixture.Cp(pCells[celli], TCells[celli]);
70 volScalarField::Boundary& pBf =
71 this->p_.boundaryFieldRef();
73 volScalarField::Boundary& TBf =
74 this->T_.boundaryFieldRef();
76 volScalarField::Boundary& CpBf =
77 this->Cp_.boundaryFieldRef();
79 volScalarField::Boundary& CvBf =
80 this->Cv_.boundaryFieldRef();
82 volScalarField::Boundary& psiBf =
83 this->psi_.boundaryFieldRef();
85 volScalarField::Boundary& rhoBf =
86 this->rho_.boundaryFieldRef();
88 volScalarField::Boundary& heBf =
89 this->
he().boundaryFieldRef();
91 volScalarField::Boundary& muBf =
92 this->mu_.boundaryFieldRef();
94 volScalarField::Boundary& alphaBf =
95 this->alpha_.boundaryFieldRef();
113 const typename MixtureType::thermoMixtureType& thermoMixture =
114 this->patchFaceThermoMixture(
patchi, facei);
116 const typename MixtureType::transportMixtureType&
118 this->patchFaceTransportMixture
119 (
patchi, facei, thermoMixture);
121 phe[facei] = thermoMixture.HE(pp[facei], pT[facei]);
123 pCp[facei] = thermoMixture.Cp(pp[facei], pT[facei]);
124 pCv[facei] = thermoMixture.Cv(pp[facei], pT[facei]);
125 ppsi[facei] = thermoMixture.psi(pp[facei], pT[facei]);
126 prho[facei] = thermoMixture.rho(pp[facei], pT[facei]);
128 pmu[facei] = transportMixture.mu(pp[facei], pT[facei]);
130 transportMixture.kappa(pp[facei], pT[facei])
131 /thermoMixture.Cp(pp[facei], pT[facei]);
138 const typename MixtureType::thermoMixtureType& thermoMixture =
139 this->patchFaceThermoMixture(
patchi, facei);
141 const typename MixtureType::transportMixtureType&
143 this->patchFaceTransportMixture
144 (
patchi, facei, thermoMixture);
146 pT[facei] = thermoMixture.THE(phe[facei], pp[facei], pT[facei]);
148 pCp[facei] = thermoMixture.Cp(pp[facei], pT[facei]);
149 pCv[facei] = thermoMixture.Cv(pp[facei], pT[facei]);
150 ppsi[facei] = thermoMixture.psi(pp[facei], pT[facei]);
151 prho[facei] = thermoMixture.rho(pp[facei], pT[facei]);
153 pmu[facei] = transportMixture.mu(pp[facei], pT[facei]);
155 transportMixture.kappa(pp[facei], pT[facei])
156 /thermoMixture.Cp(pp[facei], pT[facei]);
165 template<
class BasicRhoThermo,
class MixtureType>
169 const word& phaseName
180 template<
class BasicRhoThermo,
class MixtureType>
187 template<
class BasicRhoThermo,
class MixtureType>
#define forAll(list, i)
Loop across all elements in list.
heRhoThermo(const fvMesh &, const word &phaseName)
Construct from mesh and phase name.
virtual ~heRhoThermo()
Destructor.
virtual void correct()
Update properties.
Ostream & endl(Ostream &os)
Add newline and flush stream.
fvPatchField< scalar > fvPatchScalarField
A class for handling words, derived from string.
volScalarField scalarField(fieldObject, mesh)
Mesh data needed to do the Finite Volume discretisation.
Energy for a mixture based on density.
#define InfoInFunction
Report an information message using Foam::Info.