37#ifndef multiphaseMixtureThermo_H
38#define multiphaseMixtureThermo_H
40#include "phaseModel.H"
93 friend bool operator==
102 friend bool operator!=
142 void solveAlphas(
const scalar cAlpha);
156 void correctContactAngle
173 TypeName(
"multiphaseMixtureThermo");
246 return phases_[0].thermo().he();
253 return phases_[0].thermo().he();
CGAL::Exact_predicates_exact_constructions_kernel K
const volScalarField & alpha1
const volScalarField & alpha2
A HashTable similar to std::unordered_map.
An ordered pair of two objects of type <T> with first() and second() elements.
Template dictionary class which manages the storage associated with it.
static autoPtr< Time > New()
Construct (dummy) Time - no functionObjects or libraries.
const word & name() const
virtual const volScalarField & T() const
Temperature [K].
virtual volScalarField & p()
Pressure [Pa].
Dimension set for the base types, which can be used to implement rigorous dimension checking for alge...
Mesh data needed to do the Finite Volume discretisation.
Symmetric pair of interface names.
Pair< word >::symmHasher hash
interfacePair(const word &alpha1Name, const word &alpha2Name)
Pair< word >::symmHasher hasher
interfacePair(const phaseModel &alpha1, const phaseModel &alpha2)
const volVectorField & U() const
Return the velocity.
virtual ~multiphaseMixtureThermo()=default
Destructor.
virtual tmp< scalarField > he(const scalarField &p, const scalarField &T, const label patchi) const
Enthalpy/Internal energy for patch [J/kg].
tmp< volScalarField > nearInterface() const
Indicator of the proximity of the interface.
virtual word thermoName() const
Return the name of the thermo physics.
tmp< surfaceScalarField > surfaceTensionForce() const
virtual tmp< volScalarField > Cv() const
Heat capacity at constant volume [J/kg/K].
virtual tmp< volScalarField > rho() const
Density [kg/m^3].
virtual tmp< volScalarField > W() const
Molecular weight [kg/kmol].
virtual tmp< volScalarField > gamma() const
Gamma = Cp/Cv [].
virtual tmp< scalarField > kappa(const label patchi) const
Thermal diffusivity of mixture for patch [J/m/s/K].
virtual bool incompressible() const
Return true if the equation of state is incompressible.
virtual tmp< volScalarField > Cpv() const
Heat capacity at constant pressure/volume [J/kg/K].
PtrDictionary< phaseModel > & phases()
Return non-const access to the phases.
virtual tmp< scalarField > CpByCpv(const scalarField &p, const scalarField &T, const label patchi) const
Heat capacity ratio for patch [].
virtual tmp< scalarField > alphahe(const label patchi) const
Thermal diffusivity for energy of mixture for patch [kg/m/s].
virtual tmp< volScalarField > kappaEff(const volScalarField &alphat) const
Effective thermal diffusivity of mixture [J/m/s/K].
virtual tmp< scalarField > rho(const label patchi) const
Density for patch [kg/m^3].
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.
const surfaceScalarField & phi() const
Return the volumetric flux.
virtual tmp< scalarField > Cv(const scalarField &p, const scalarField &T, const label patchi) const
Heat capacity at constant volume for patch [J/kg/K].
TypeName("multiphaseMixtureThermo")
Runtime type information.
virtual tmp< volScalarField > kappa() const
Thermal diffusivity for temperature of mixture [J/m/s/K].
virtual tmp< scalarField > he(const scalarField &p, const scalarField &T, const labelList &cells) const
Enthalpy/Internal energy for cell-set [J/kg].
virtual tmp< scalarField > Cp(const scalarField &p, const scalarField &T, const labelList &cells) const
Heat capacity using pressure and temperature.
virtual tmp< scalarField > Cpv(const scalarField &p, const scalarField &T, const label patchi) const
Heat capacity at constant pressure/volume for patch [J/kg/K].
const surfaceScalarField & rhoPhi() const
tmp< volScalarField > rCv() const
Return the phase-averaged reciprocal Cv.
virtual tmp< scalarField > alphaEff(const scalarField &alphat, const label patchi) const
Effective thermal diffusivity of mixture for patch [J/m/s/K].
const PtrDictionary< phaseModel > & phases() const
Return the phases.
virtual tmp< scalarField > rhoEoS(const scalarField &p, const scalarField &T, const labelList &cells) const
Density from pressure and temperature.
virtual tmp< volScalarField > Cp() const
Heat capacity at constant pressure [J/kg/K].
virtual tmp< scalarField > kappaEff(const scalarField &alphat, const label patchi) const
Effective thermal diffusivity of mixture for patch [J/m/s/K].
virtual void correct()
Update properties.
multiphaseMixtureThermo(const volVectorField &U, const surfaceScalarField &phi)
Construct from components.
virtual tmp< scalarField > Cp(const scalarField &p, const scalarField &T, const label patchi) const
Heat capacity at constant pressure for patch [J/kg/K].
virtual volScalarField & he()
Enthalpy/Internal energy [J/kg].
virtual tmp< volScalarField > hc() const
Chemical enthalpy [J/kg].
virtual tmp< volScalarField > alphaEff(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 tmp< scalarField > gamma(const scalarField &p, const scalarField &T, const label patchi) const
Gamma = Cp/Cv for patch [].
virtual tmp< scalarField > THE(const scalarField &h, const scalarField &p, const scalarField &T0, const label patchi) const
Temperature from enthalpy/internal energy for patch.
virtual const volScalarField & he() const
Enthalpy/Internal energy [J/kg].
void correctRho(const volScalarField &dp)
Update densities for given pressure change.
virtual tmp< scalarField > nu(const label patchi) const
Kinematic viscosity of mixture for patch [m^2/s].
virtual tmp< volScalarField > alphahe() const
Thermal diffusivity for energy of mixture [kg/m/s].
virtual tmp< volScalarField > CpByCpv() const
Heat capacity ratio [].
void solve()
Solve for the mixture phase-fractions.
virtual bool isochoric() const
Return true if the equation of state is isochoric.
Single incompressible phase derived from the phase-fraction. Used as part of the multiPhaseMixture fo...
Basic thermodynamic properties based on compressibility.
A class for managing temporary objects.
A class for handling words, derived from Foam::string.
#define NotImplemented
Issue a FatalErrorIn for a function not currently implemented.
Symmetric hashing functor for Pair, hashes lower value first.
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.