37 #ifndef multiphaseMixtureThermo_H 38 #define multiphaseMixtureThermo_H 40 #include "phaseModel.H" 93 friend bool operator==
102 friend bool operator!=
118 PtrDictionary<phaseModel> phases_;
128 typedef HashTable<scalar, interfacePair, interfacePair::hash>
132 dimensionSet dimSigma_;
142 void solveAlphas(
const scalar cAlpha);
144 tmp<surfaceVectorField> nHatfv
150 tmp<surfaceScalarField> nHatf
156 void correctContactAngle
163 tmp<volScalarField>
K 173 TypeName(
"multiphaseMixtureThermo");
193 const PtrDictionary<phaseModel>&
phases()
const 199 PtrDictionary<phaseModel>&
phases()
246 return phases_[0].thermo().he();
253 return phases_[0].thermo().he();
258 virtual tmp<volScalarField>
he 265 virtual tmp<scalarField>
he 357 virtual tmp<volScalarField>
gamma()
const;
360 virtual tmp<scalarField>
gamma 368 virtual tmp<volScalarField>
Cpv()
const;
371 virtual tmp<scalarField>
Cpv
const volVectorField & U() const
Return the velocity.
virtual tmp< scalarField > rhoEoS(const scalarField &p, const scalarField &T, const labelList &cells) const
Density from pressure and temperature.
const surfaceScalarField & phi() const
Return the volumetric flux.
virtual tmp< volScalarField > gamma() const
Gamma = Cp/Cv [].
Symmetric pair of interface names.
virtual tmp< volScalarField > hc() const
Chemical enthalpy [J/kg].
virtual const volScalarField & T() const
Temperature [K].
const volScalarField & alpha2
GeometricBoundaryField< vector, fvsPatchField, surfaceMesh > Boundary
Type of boundary fields.
GeometricField< vector, fvPatchField, volMesh > volVectorField
CGAL::Exact_predicates_exact_constructions_kernel K
virtual tmp< volScalarField > Cp() const
Heat capacity at constant pressure [J/kg/K].
virtual tmp< volScalarField > CpByCpv() const
Heat capacity ratio [].
virtual ~multiphaseMixtureThermo()=default
Destructor.
virtual volScalarField & p()
Pressure [Pa].
GeometricField< scalar, fvPatchField, volMesh > volScalarField
void correctRho(const volScalarField &dp)
Update densities for given pressure change.
void solve()
Solve for the mixture phase-fractions.
An ordered pair of two objects of type <T> with first() and second() elements.
Pair< word >::symmHasher hasher
virtual tmp< volScalarField > alphahe() const
Thermal diffusivity for energy of mixture [kg/m/s].
virtual tmp< volScalarField > rho() const
Density [kg/m^3].
const dimensionedScalar b
Wien displacement law constant: default SI units: [m.K].
tmp< volScalarField > rCv() const
Return the phase-averaged reciprocal Cv.
const PtrDictionary< phaseModel > & phases() const
Return the phases.
A class for handling words, derived from Foam::string.
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
static tmp< T > New(Args &&... args)
Construct tmp with forwarding arguments.
const word & name() const
Name function is needed to disambiguate those inherited from regIOobject and dictionary.
virtual tmp< volScalarField > nu() const
Kinematic viscosity of mixture [m^2/s].
const dimensionedScalar h
Planck constant.
TypeName("multiphaseMixtureThermo")
Runtime type information.
virtual tmp< volScalarField > kappaEff(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 > W() const
Molecular weight [kg/kmol].
dimensioned< scalar > dimensionedScalar
Dimensioned scalar obtained from generic dimensioned type.
const surfaceScalarField & rhoPhi() const
tmp< volScalarField > nearInterface() const
Indicator of the proximity of the interface.
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 > Cv() const
Heat capacity at constant volume [J/kg/K].
List< label > labelList
A List of labels.
Pair< word >::symmHasher hash
A class for managing temporary objects.
tmp< surfaceScalarField > surfaceTensionForce() const
GeometricField< scalar, fvsPatchField, surfaceMesh > surfaceScalarField
virtual tmp< volScalarField > alphaEff(const volScalarField &alphat) const
Effective thermal diffusivity of mixture [J/m/s/K].
virtual tmp< volScalarField > Cpv() const
Heat capacity at constant pressure/volume [J/kg/K].
#define NotImplemented
Issue a FatalErrorIn for a function not currently implemented.
virtual tmp< volScalarField > kappa() const
Thermal diffusivity for temperature of mixture [J/m/s/K].
Single incompressible phase derived from the phase-fraction. Used as part of the multiPhaseMixture fo...
Basic thermodynamic properties based on compressibility.
virtual bool isochoric() const
Return true if the equation of state is isochoric.
virtual word thermoName() const
Return the name of the thermo physics.
virtual volScalarField & he()
Enthalpy/Internal energy [J/kg].
virtual bool incompressible() const
Return true if the equation of state is incompressible.
virtual void correct()
Update properties.
const volScalarField & alpha1