47 psiThermo(U.
mesh(), word::null),
48 twoPhaseMixture(U.
mesh(), *this),
49 interfaceProperties(
alpha1(), U, *this),
83 thermo1_->he() = thermo1_->he(p_, T_);
86 thermo2_->he() = thermo2_->he(p_, T_);
93 psi_ =
alpha1()*thermo1_->psi() +
alpha2()*thermo2_->psi();
95 alpha_ =
alpha1()*thermo1_->alpha() +
alpha2()*thermo2_->alpha();
103 return thermo1_->incompressible() && thermo2_->incompressible();
109 return thermo1_->isochoric() && thermo2_->isochoric();
119 return alpha1()*thermo1_->he(p, T) +
alpha2()*thermo2_->he(p, T);
144 alpha1().boundaryField()[
patchi]*thermo1_->he(p, T, patchi)
145 +
alpha2().boundaryField()[
patchi]*thermo2_->he(p, T, patchi);
151 return alpha1()*thermo1_->hc() +
alpha2()*thermo2_->hc();
183 return alpha1()*thermo1_->Cp() +
alpha2()*thermo2_->Cp();
195 alpha1().boundaryField()[
patchi]*thermo1_->Cp(p, T, patchi)
196 +
alpha2().boundaryField()[
patchi]*thermo2_->Cp(p, T, patchi);
202 return alpha1()*thermo1_->Cv() +
alpha2()*thermo2_->Cv();
214 alpha1().boundaryField()[
patchi]*thermo1_->Cv(p, T, patchi)
215 +
alpha2().boundaryField()[
patchi]*thermo2_->Cv(p, T, patchi);
221 return alpha1()*thermo1_->gamma() +
alpha2()*thermo2_->gamma();
233 alpha1().boundaryField()[
patchi]*thermo1_->gamma(p, T, patchi)
234 +
alpha2().boundaryField()[
patchi]*thermo2_->gamma(p, T, patchi);
240 return alpha1()*thermo1_->Cpv() +
alpha2()*thermo2_->Cpv();
252 alpha1().boundaryField()[
patchi]*thermo1_->Cpv(p, T, patchi)
253 +
alpha2().boundaryField()[
patchi]*thermo2_->Cpv(p, T, patchi);
260 alpha1()*thermo1_->CpByCpv()
261 +
alpha2()*thermo2_->CpByCpv();
273 alpha1().boundaryField()[
patchi]*thermo1_->CpByCpv(p, T, patchi)
274 +
alpha2().boundaryField()[
patchi]*thermo2_->CpByCpv(p, T, patchi);
280 return mu()/(
alpha1()*thermo1_->rho() +
alpha2()*thermo2_->rho());
293 +
alpha2().boundaryField()[
patchi]*thermo2_->rho(patchi)
300 return alpha1()*thermo1_->kappa() +
alpha2()*thermo2_->kappa();
310 alpha1().boundaryField()[
patchi]*thermo1_->kappa(patchi)
311 +
alpha2().boundaryField()[
patchi]*thermo2_->kappa(patchi);
321 alpha1()*thermo1_->kappaEff(alphat)
322 +
alpha2()*thermo2_->kappaEff(alphat);
333 alpha1().boundaryField()[
patchi]*thermo1_->kappaEff(alphat, patchi)
334 +
alpha2().boundaryField()[
patchi]*thermo2_->kappaEff(alphat, patchi)
345 alpha1()*thermo1_->alphaEff(alphat)
346 +
alpha2()*thermo2_->alphaEff(alphat);
357 alpha1().boundaryField()[
patchi]*thermo1_->alphaEff(alphat, patchi)
358 +
alpha2().boundaryField()[
patchi]*thermo2_->alphaEff(alphat, patchi)
virtual tmp< scalarField > THE(const scalarField &h, const scalarField &p, const scalarField &T0, const labelList &cells) const
Temperature from enthalpy/internal energy for cell-set.
virtual tmp< volScalarField > Cp() const
Heat capacity at constant pressure [J/kg/K].
twoPhaseMixtureThermo(const volVectorField &U, const surfaceScalarField &phi)
Construct from components.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
virtual tmp< volScalarField > alphaEff(const volScalarField &alphat) const
Effective thermal diffusivity of mixture [J/m/s/K].
virtual tmp< volScalarField > hc() const
Chemical enthalpy [J/kg].
static autoPtr< rhoThermo > New(const fvMesh &, const word &phaseName=word::null)
Selector.
bool read()
Read transportProperties dictionary.
virtual void correctThermo()
Correct the thermodynamics of each phase.
virtual bool read()
Read base transportProperties dictionary.
virtual tmp< volScalarField > gamma() const
Gamma = Cp/Cv [].
GeometricField< vector, fvPatchField, volMesh > volVectorField
GeometricField< scalar, fvPatchField, volMesh > volScalarField
virtual bool isochoric() const
Return true if the equation of state is isochoric.
virtual tmp< volScalarField > Cv() const
Heat capacity at constant volume [J/kg/K].
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
static word groupName(Name name, const word &group)
virtual ~twoPhaseMixtureThermo()
Destructor.
List< label > labelList
A List of labels.
virtual tmp< volScalarField > CpByCpv() const
Heat capacity ratio [].
Info<< "Predicted p max-min : "<< max(p).value()<< " "<< min(p).value()<< endl;rho==max(psi *p+alphal *rhol0+((alphav *psiv+alphal *psil) - psi) *pSat, rhoMin);# 1 "/home/ubuntu/OpenFOAM-5.0/applications/solvers/multiphase/cavitatingFoam/alphavPsi.H" 1{ alphav=max(min((rho - rholSat)/(rhovSat - rholSat), scalar(1)), scalar(0));alphal=1.0 - alphav;Info<< "max-min alphav: "<< max(alphav).value()<< " "<< min(alphav).value()<< endl;psiModel-> correct()
defineTypeNameAndDebug(combustionModel, 0)
virtual tmp< volScalarField > Cpv() const
Heat capacity at constant pressure/volume [J/kg/K].
virtual volScalarField & he()
Enthalpy/Internal energy [J/kg].
const dimensionedScalar mu
Atomic mass unit.
volScalarField & h
Planck constant.
virtual void correct()
Update mixture properties.
virtual bool incompressible() const
Return true if the equation of state is incompressible.
virtual tmp< volScalarField > kappa() const
Thermal diffusivity for temperature of mixture [J/m/s/K].
virtual tmp< volScalarField > kappaEff(const volScalarField &alphat) const
Effective thermal diffusivity of mixture [J/m/s/K].
virtual tmp< volScalarField > nu() const
Kinematic viscosity of mixture [m^2/s].
virtual bool read()
Read thermophysical properties dictionary.
A class for managing temporary objects.
GeometricField< scalar, fvsPatchField, surfaceMesh > surfaceScalarField
#define NotImplemented
Issue a FatalErrorIn for a function not currently implemented.