Public Member Functions | List of all members
kineticGasEvaporation< Thermo, OtherThermo > Class Template Reference

Considering the Hertz Knudsen formula, which gives the evaporation-condensation flux based on the kinetic theory for flat interface: More...

Inheritance diagram for kineticGasEvaporation< Thermo, OtherThermo >:
Inheritance graph
[legend]
Collaboration diagram for kineticGasEvaporation< Thermo, OtherThermo >:
Collaboration graph
[legend]

Public Member Functions

 TypeName ("kineticGasEvaporation")
 
 kineticGasEvaporation (const dictionary &dict, const phasePair &pair)
 
virtual ~kineticGasEvaporation ()=default
 
virtual tmp< volScalarFieldKexp (const volScalarField &field)
 
virtual tmp< volScalarFieldKSp (label modelVariable, const volScalarField &field)
 
virtual tmp< volScalarFieldKSu (label modelVariable, const volScalarField &field)
 
virtual const dimensionedScalarTactivate () const noexcept
 
virtual bool includeDivU () const noexcept
 
- Public Member Functions inherited from InterfaceCompositionModel< Thermo, OtherThermo >
 InterfaceCompositionModel (const dictionary &dict, const phasePair &pair)
 
 ~InterfaceCompositionModel ()=default
 
virtual tmp< volScalarFielddY (const word &speciesName, const volScalarField &Tf) const
 
virtual tmp< volScalarFieldYf (const word &speciesName, const volScalarField &Tf) const
 
virtual tmp< volScalarFieldD (const word &speciesName) const
 
virtual tmp< volScalarFieldL (const word &speciesName, const volScalarField &Tf) const
 
 InterfaceCompositionModel (const dictionary &dict, const phasePair &pair)
 
 ~InterfaceCompositionModel ()=default
 
virtual tmp< volScalarFielddY (const word &speciesName, const volScalarField &Tf) const
 
virtual tmp< volScalarFieldD (const word &speciesName) const
 
virtual tmp< volScalarFieldL (const word &speciesName, const volScalarField &Tf) const
 
virtual void addMDotL (const volScalarField &K, const volScalarField &Tf, volScalarField &mDotL, volScalarField &mDotLPrime) const
 
template<class ThermoType >
const Foam::multiComponentMixture< ThermoType >::thermoType & getLocalThermo (const word &speciesName, const multiComponentMixture< ThermoType > &globalThermo) const
 
template<class ThermoType >
const Foam::pureMixture< ThermoType >::thermoType & getLocalThermo (const word &speciesName, const pureMixture< ThermoType > &globalThermo) const
 
template<class ThermoType >
Foam::tmp< Foam::volScalarFieldgetSpecieMassFraction (const word &speciesName, const multiComponentMixture< ThermoType > &mixture) const
 
template<class ThermoType >
Foam::tmp< Foam::volScalarFieldgetSpecieMassFraction (const word &speciesName, const pureMixture< ThermoType > &mixture) const
 
template<class ThermoType >
Foam::tmp< Foam::volScalarFieldMwMixture (const pureMixture< ThermoType > &mixture) const
 
template<class ThermoType >
Foam::tmp< Foam::volScalarFieldMwMixture (const multiComponentMixture< ThermoType > &mixture) const
 
- Public Member Functions inherited from interfaceCompositionModel
 TypeName ("interfaceCompositionModel")
 
 declareRunTimeSelectionTable (autoPtr, interfaceCompositionModel, dictionary,(const dictionary &dict, const phasePair &pair),(dict, pair))
 
 interfaceCompositionModel (const dictionary &dict, const phasePair &pair)
 
virtual ~interfaceCompositionModel ()=default
 
const word transferSpecie () const
 
const phasePairpair () const
 
bool includeVolChange ()
 
const wordvariable () const
 
 TypeName ("interfaceCompositionModel")
 
 declareRunTimeSelectionTable (autoPtr, interfaceCompositionModel, dictionary,(const dictionary &dict, const phasePair &pair),(dict, pair))
 
 interfaceCompositionModel (const dictionary &dict, const phasePair &pair)
 
virtual ~interfaceCompositionModel ()=default
 
virtual void update (const volScalarField &Tf)=0
 
const hashedWordListspecies () const
 
bool transports (word &speciesName) const
 
virtual tmp< volScalarFieldYfPrime (const word &speciesName, const volScalarField &Tf) const =0
 

Additional Inherited Members

- Public Types inherited from interfaceCompositionModel
enum  modelVariable { T, P, Y, alpha }
 
- Static Public Member Functions inherited from interfaceCompositionModel
static autoPtr< interfaceCompositionModelNew (const dictionary &dict, const phasePair &pair)
 
static autoPtr< interfaceCompositionModelNew (const dictionary &dict, const phasePair &pair)
 
- Protected Member Functions inherited from InterfaceCompositionModel< Thermo, OtherThermo >
template<class ThermoType >
const pureMixture< ThermoType >::thermoType & getLocalThermo (const word &speciesName, const pureMixture< ThermoType > &globalThermo) const
 
template<class ThermoType >
const multiComponentMixture< ThermoType >::thermoType & getLocalThermo (const word &speciesName, const multiComponentMixture< ThermoType > &globalThermo) const
 
template<class ThermoType >
tmp< volScalarFieldgetSpecieMassFraction (const word &speciesName, const pureMixture< ThermoType > &thermo) const
 
template<class ThermoType >
tmp< volScalarFieldgetSpecieMassFraction (const word &speciesName, const multiComponentMixture< ThermoType > &thermo) const
 
template<class ThermoType >
tmp< volScalarFieldMwMixture (const pureMixture< ThermoType > &thermo) const
 
template<class ThermoType >
tmp< volScalarFieldMwMixture (const multiComponentMixture< ThermoType > &) const
 
template<class ThermoType >
const pureMixture< ThermoType >::thermoType & getLocalThermo (const word &speciesName, const pureMixture< ThermoType > &globalThermo) const
 
template<class ThermoType >
const multiComponentMixture< ThermoType >::thermoType & getLocalThermo (const word &speciesName, const multiComponentMixture< ThermoType > &globalThermo) const
 
- Protected Attributes inherited from InterfaceCompositionModel< Thermo, OtherThermo >
const Thermo & fromThermo_
 
const OtherThermo & toThermo_
 
const dimensionedScalar Le_
 
const Thermo & thermo_
 
const OtherThermo & otherThermo_
 
- Protected Attributes inherited from interfaceCompositionModel
modelVariable modelVariable_
 
bool includeVolChange_
 
const phasePairpair_
 
word speciesName_
 
const fvMeshmesh_
 
const hashedWordList speciesNames_
 
- Static Protected Attributes inherited from interfaceCompositionModel
static const Enum< modelVariablemodelVariableNames_
 

Detailed Description

template<class Thermo, class OtherThermo>
class Foam::meltingEvaporationModels::kineticGasEvaporation< Thermo, OtherThermo >

Considering the Hertz Knudsen formula, which gives the evaporation-condensation flux based on the kinetic theory for flat interface:

\[ Flux = C \sqrt{\frac{M}{2 \pi R T_{activate}}}(p - p_{sat}) \]

where:

$ Flux $ = mass flux rate [kg/s/m2]
$ M $ = molecular weight
$ T_{activate} $ = saturation temperature
$ C $ = accommodation coefficient
$ R $ = universal gas constant
$ p_{sat} $ = saturation pressure
$ p $ = vapor partial pressure

The Clapeyron-Clausius equation relates the pressure to the temperature for the saturation condition:

\[ \frac{dp}{dT} = - \frac{L}{T (\nu_v - \nu_l)} \]

where:

$ L $ = latent heat
$ \nu_v $ = inverse of the vapor density
$ \nu_l $ = inverse of the liquid density

Using the above relations:

\[ Flux = 2 \frac{C}{2 - C} \sqrt{\frac{M}{2 \pi R {T_activate}^3}} L (\rho_{v}) (T - T_{activate}) \]

This assumes liquid and vapour are in equilibrium, then the accommodation coefficient are equivalent for the interface. This relation is known as the Hertz-Knudsen-Schrage.

Based on the reference:

Usage

Example usage:

massTransferModel
(
    (liquid to gas)
    {
        type                kineticGasEvaporation;
        species             vapour.gas;
        C                   0.1;
        isoAlpha            0.1;
        Tactivate           373;
    }
);

where:

Property Description Required Default value
C Coefficient (C > 0 for evaporation, C < 0 for
condensation) yes
includeVolChange Volumen change no yes
isoAlpha iso-alpha for interface no 0.5
Tactivate Saturation temperature yes
species Specie name on the other phase no none
Source files

Definition at line 201 of file kineticGasEvaporation.H.

Constructor & Destructor Documentation

◆ kineticGasEvaporation()

kineticGasEvaporation ( const dictionary dict,
const phasePair pair 
)

Definition at line 109 of file kineticGasEvaporation.C.

References Foam::abort(), Foam::constant::electromagnetic::e, Foam::FatalError, FatalErrorInFunction, and IOobject::member().

Here is the call graph for this function:

◆ ~kineticGasEvaporation()

virtual ~kineticGasEvaporation ( )
virtualdefault

Member Function Documentation

◆ TypeName()

TypeName ( "kineticGasEvaporation< Thermo, OtherThermo >"  )

◆ Kexp()

Foam::tmp< Foam::volScalarField > Kexp ( const volScalarField field)
virtual

◆ KSp()

Foam::tmp< Foam::volScalarField > KSp ( label  modelVariable,
const volScalarField field 
)
virtual

Implements interfaceCompositionModel.

Definition at line 262 of file kineticGasEvaporation.C.

References Foam::pos(), and Foam::sign().

Here is the call graph for this function:

◆ KSu()

Foam::tmp< Foam::volScalarField > KSu ( label  modelVariable,
const volScalarField field 
)
virtual

Implements interfaceCompositionModel.

Definition at line 290 of file kineticGasEvaporation.C.

References Foam::pos(), and Foam::sign().

Here is the call graph for this function:

◆ Tactivate()

virtual const dimensionedScalar& Tactivate ( ) const
inlinevirtualnoexcept

Implements interfaceCompositionModel.

Definition at line 278 of file kineticGasEvaporation.H.

◆ includeDivU()

virtual bool includeDivU ( ) const
inlinevirtualnoexcept

Reimplemented from interfaceCompositionModel.

Definition at line 285 of file kineticGasEvaporation.H.


The documentation for this class was generated from the following files: