Go to the documentation of this file.
34 #ifndef multiphaseMixtureThermo_H
35 #define multiphaseMixtureThermo_H
37 #include "phaseModel.H"
67 public Hash<interfacePair>
99 friend bool operator==
112 friend bool operator!=
186 TypeName(
"multiphaseMixtureThermo");
257 return phases_[0].thermo().he();
264 return phases_[0].thermo().he();
virtual tmp< volScalarField > nu() const
Kinematic viscosity of mixture [m^2/s].
void correctContactAngle(const phaseModel &alpha1, const phaseModel &alpha2, surfaceVectorField::GeometricBoundaryField &nHatb) const
Single incompressible phase derived from the phase-fraction. Used as part of the multiPhaseMixture fo...
A class for handling words, derived from string.
virtual tmp< volScalarField > CpByCpv() const
Heat capacity ratio [].
const volVectorField & U() const
Return the velocity.
A class for managing temporary objects.
const volVectorField & U_
Template dictionary class which manages the storage associated with it.
static const scalar convertToRad
Conversion factor for degrees into radians.
virtual const volScalarField & T() const
Temperature [K].
const Type & first() const
Return first.
virtual const volScalarField & he() const
Enthalpy/Internal energy [J/kg].
virtual tmp< volScalarField > Cpv() const
Heat capacity at constant pressure/volume [J/kg/K].
interfacePair(const phaseModel &alpha1, const phaseModel &alpha2)
virtual bool isochoric() const
Return true if the equation of state is isochoric.
Dimension set for the base types.
tmp< volScalarField > nearInterface() const
Indicator of the proximity of the interface.
tmp< surfaceScalarField > surfaceTensionForce() const
const surfaceScalarField & phi() const
Return the volumetric flux.
virtual tmp< volScalarField > kappaEff(const volScalarField &alphat) const
Effective thermal diffusivity of mixture [J/m/s/K].
#define NotImplemented
Issue a FatalErrorIn for a function not currently implemented.
Hash function class for primitives. All non-primitives used to hash entries on hash tables likely nee...
interfacePair(const word &alpha1Name, const word &alpha2Name)
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
const dimensionedScalar b
Wien displacement law constant: default SI units: [m.K].
Pre-declare SubField and related Field type.
const dimensionedScalar h
Planck constant.
Basic thermodynamic properties based on compressibility.
const Type & second() const
Return second.
virtual tmp< volScalarField > Cv() const
Heat capacity at constant volume [J/kg/K].
virtual tmp< volScalarField > rho() const
Density [kg/m^3].
PtrDictionary< phaseModel > phases_
Dictionary of phases.
virtual volScalarField & he()
Enthalpy/Internal energy [J/kg].
Generic dimensioned Type class.
TypeName("multiphaseMixtureThermo")
Runtime type information.
Mesh data needed to do the Finite Volume discretisation.
const PtrDictionary< phaseModel > & phases() const
Return the phases.
virtual tmp< volScalarField > hc() const
Chemical enthalpy [J/kg].
Hashing function class, shared by all the derived classes.
tmp< volScalarField > rCv() const
Return the phase-averaged reciprocal Cv.
const word & name() const
Name function is needed to disambiguate those inherited.
An ordered pair of two objects of type <T> with first() and second() elements.
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 ~multiphaseMixtureThermo()
Destructor.
tmp< volScalarField > K(const phaseModel &alpha1, const phaseModel &alpha2) const
PtrDictionary< phaseModel > & phases()
Return non-const access to the phases.
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
virtual tmp< volScalarField > Cp() const
Heat capacity at constant pressure [J/kg/K].
virtual tmp< volScalarField > alphaEff(const volScalarField &alphat) const
Effective thermal diffusivity of mixture [J/m/s/K].
multiphaseMixtureThermo(const volVectorField &U, const surfaceScalarField &phi)
Construct from components.
virtual tmp< volScalarField > kappa() const
Thermal diffusivity for temperature of mixture [J/m/s/K].
virtual tmp< volScalarField > gamma() const
Gamma = Cp/Cv [].
virtual volScalarField & p()
Pressure [Pa].
surfaceScalarField rhoPhi_
HashTable< scalar, interfacePair, interfacePair::hash > sigmaTable
const dimensionedScalar deltaN_
Stabilisation for normalisation of the interface normal.
void solve()
Solve for the mixture phase-fractions.
virtual bool incompressible() const
Return true if the equation of state is incompressible.
virtual void correct()
Update properties.
Generic GeometricField class.
label operator()(const interfacePair &key) const
tmp< surfaceVectorField > nHatfv(const volScalarField &alpha1, const volScalarField &alpha2) const
const surfaceScalarField & rhoPhi() const
void solveAlphas(const scalar cAlpha)
void correctRho(const volScalarField &dp)
Update densities for given pressure change.
const surfaceScalarField & phi_
tmp< surfaceScalarField > nHatf(const volScalarField &alpha1, const volScalarField &alpha2) const