Considering the Hertz Knudsen formula, which gives the evaporation-condensation flux based on the kinetic theory for flat interface: More...
#include <kineticGasEvaporation.H>


Public Member Functions | |
| TypeName ("kineticGasEvaporation") | |
| Runtime type information. | |
| kineticGasEvaporation (const dictionary &dict, const phasePair &pair) | |
| Construct from components. | |
| virtual | ~kineticGasEvaporation ()=default |
| Destructor. | |
| virtual tmp< volScalarField > | Kexp (const volScalarField &field) |
| Explicit total mass transfer coefficient. | |
| virtual tmp< volScalarField > | KSp (label modelVariable, const volScalarField &field) |
| Implicit mass transfer coefficient. | |
| virtual tmp< volScalarField > | KSu (label modelVariable, const volScalarField &field) |
| Explicit mass transfer coefficient. | |
| virtual const dimensionedScalar & | Tactivate () const noexcept |
| Return Tactivate. | |
| virtual bool | includeDivU () const noexcept |
| Add/subtract alpha*div(U) as a source term for alpha, substituting div(U) = mDot(1/rho1 - 1/rho2). | |
| Public Member Functions inherited from InterfaceCompositionModel< Thermo, OtherThermo > | |
| InterfaceCompositionModel (const dictionary &dict, const phasePair &pair) | |
| Construct from components. | |
| virtual | ~InterfaceCompositionModel ()=default |
| Destructor. | |
| virtual tmp< volScalarField > | dY (const word &speciesName, const volScalarField &Tf) const |
| Mass fraction difference between the interface and the field. | |
| virtual tmp< volScalarField > | Yf (const word &speciesName, const volScalarField &Tf) const |
| Reference mass fraction for species based models. | |
| virtual tmp< volScalarField > | Dfrom (const word &speciesName) const |
| Specie mass diffusivity for pure mixture. | |
| virtual tmp< volScalarField > | Dto (const word &speciesName) const |
| Specie mass diffusivity for specie in a multicomponent. | |
| virtual tmp< volScalarField > | L (const word &speciesName, const volScalarField &Tf) const |
| Latent heat (to - from)(thermo - otherThermo). | |
| InterfaceCompositionModel (const dictionary &dict, const phasePair &pair) | |
| Construct from components. | |
| ~InterfaceCompositionModel ()=default | |
| Destructor. | |
| virtual tmp< volScalarField > | dY (const word &speciesName, const volScalarField &Tf) const |
| Mass fraction difference between the interface and the field. | |
| virtual tmp< volScalarField > | D (const word &speciesName) const |
| Mass diffusivity. | |
| virtual tmp< volScalarField > | L (const word &speciesName, const volScalarField &Tf) const |
| Latent heat. | |
| virtual void | addMDotL (const volScalarField &K, const volScalarField &Tf, volScalarField &mDotL, volScalarField &mDotLPrime) const |
| Add latent heat flow rate to total. | |
| 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::volScalarField > | getSpecieMassFraction (const word &speciesName, const multiComponentMixture< ThermoType > &mixture) const |
| template<class ThermoType> | |
| Foam::tmp< Foam::volScalarField > | getSpecieMassFraction (const word &speciesName, const pureMixture< ThermoType > &mixture) const |
| template<class ThermoType> | |
| Foam::tmp< Foam::volScalarField > | MwMixture (const pureMixture< ThermoType > &mixture) const |
| template<class ThermoType> | |
| Foam::tmp< Foam::volScalarField > | MwMixture (const multiComponentMixture< ThermoType > &mixture) const |
| Public Member Functions inherited from interfaceCompositionModel | |
| TypeName ("interfaceCompositionModel") | |
| Runtime type information. | |
| declareRunTimeSelectionTable (autoPtr, interfaceCompositionModel, dictionary,(const dictionary &dict, const phasePair &pair),(dict, pair)) | |
| interfaceCompositionModel (const dictionary &dict, const phasePair &pair) | |
| Construct from a dictionary and a phase pair. | |
| virtual | ~interfaceCompositionModel ()=default |
| Destructor. | |
| const word | transferSpecie () const |
| Return the transferring species name. | |
| const phasePair & | pair () const |
| The phase pair. | |
| const multiphaseInterSystem & | fluid () const |
| Return the multiphaseInterSystem this interface belongs to. | |
| bool | includeVolChange () |
| Add volume change in pEq. | |
| const word & | variable () const |
| Returns the variable on which the model is based. | |
Additional Inherited Members | |
| Public Types inherited from interfaceCompositionModel | |
| enum | modelVariable { T , P , Y , alpha } |
| Enumeration for variable based mass transfer models. More... | |
| Static Public Member Functions inherited from interfaceCompositionModel | |
| static autoPtr< interfaceCompositionModel > | New (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 |
| Get a reference to the local thermo for a pure mixture. | |
| template<class ThermoType> | |
| const multiComponentMixture< ThermoType >::thermoType & | getLocalThermo (const word &speciesName, const multiComponentMixture< ThermoType > &globalThermo) const |
| Get a reference to the local thermo for a multi component mixture. | |
| template<class ThermoType> | |
| tmp< volScalarField > | getSpecieMassFraction (const word &speciesName, const pureMixture< ThermoType > &thermo) const |
| Return mass fraction for a pureMixture equal to one. | |
| template<class ThermoType> | |
| tmp< volScalarField > | getSpecieMassFraction (const word &speciesName, const multiComponentMixture< ThermoType > &thermo) const |
| Return mass fraction for speciesName. | |
| template<class ThermoType> | |
| tmp< volScalarField > | MwMixture (const pureMixture< ThermoType > &thermo) const |
| Return moleculas weight of the mixture for pureMixture [Kg/mol]. | |
| template<class ThermoType> | |
| tmp< volScalarField > | MwMixture (const multiComponentMixture< ThermoType > &) const |
| Return moleculas weight of the mixture for multiComponentMixture. | |
| template<class ThermoType> | |
| const pureMixture< ThermoType >::thermoType & | getLocalThermo (const word &speciesName, const pureMixture< ThermoType > &globalThermo) const |
| Get a reference to the local thermo for a pure mixture. | |
| template<class ThermoType> | |
| const multiComponentMixture< ThermoType >::thermoType & | getLocalThermo (const word &speciesName, const multiComponentMixture< ThermoType > &globalThermo) const |
| Get a reference to the local thermo for a multi component mixture. | |
| Protected Attributes inherited from InterfaceCompositionModel< Thermo, OtherThermo > | |
| const Thermo & | fromThermo_ |
| Thermo (from). | |
| const OtherThermo & | toThermo_ |
| Other Thermo (to). | |
| const dimensionedScalar | Le_ |
| Lewis number. | |
| const Thermo & | thermo_ |
| Thermo. | |
| const OtherThermo & | otherThermo_ |
| Other Thermo. | |
| Protected Attributes inherited from interfaceCompositionModel | |
| modelVariable | modelVariable_ |
| Enumeration for the model variable. | |
| bool | includeVolChange_ |
| Add volume change in pEq. | |
| const phasePair & | pair_ |
| Phase pair. | |
| word | speciesName_ |
| Names of the transferring specie. | |
| const fvMesh & | mesh_ |
| Reference to mesh. | |
| Static Protected Attributes inherited from interfaceCompositionModel | |
| static const Enum< modelVariable > | modelVariableNames_ |
| Selection names for the modelVariable. | |
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})
\]](form_750.png)
where:
![]() | = | mass flux rate [kg/s/m2] |
![]() | = | molecular weight |
![]() | = | saturation temperature |
![]() | = | accommodation coefficient |
![]() | = | universal gas constant |
![]() | = | saturation pressure |
![]() | = | 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)}
\]](form_758.png)
where:
![]() | = | latent heat |
![]() | = | inverse of the vapor density |
![]() | = | 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})
\]](form_762.png)
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:
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 |
Definition at line 201 of file kineticGasEvaporation.H.
| kineticGasEvaporation | ( | const dictionary & | dict, |
| const phasePair & | pair ) |
Construct from components.
Definition at line 65 of file kineticGasEvaporation.C.
References Foam::abort(), dict, Foam::dimArea, Foam::dimDensity, Foam::dimLength, Foam::dimless, Foam::dimMass, Foam::dimMoles, Foam::dimTemperature, Foam::dimTime, e, Foam::FatalError, FatalErrorInFunction, InterfaceCompositionModel< Thermo, OtherThermo >::getLocalThermo(), InterfaceCompositionModel< Thermo, OtherThermo >::InterfaceCompositionModel(), IOobject::member(), interfaceCompositionModel::mesh_, interfaceCompositionModel::pair(), timeName, InterfaceCompositionModel< Thermo, OtherThermo >::toThermo_, interfaceCompositionModel::transferSpecie(), and Foam::Zero.

|
virtualdefault |
| TypeName | ( | "kineticGasEvaporation< Thermo, OtherThermo >" | ) |
Runtime type information.
References dict, and interfaceCompositionModel::pair().

|
virtual |
Explicit total mass transfer coefficient.
Implements interfaceCompositionModel.
Definition at line 143 of file kineticGasEvaporation.C.
References Foam::dimDensity, Foam::dimTemperature, InterfaceCompositionModel< Thermo, OtherThermo >::L(), L, Foam::mag(), Foam::max(), IOobject::member(), mesh, interfaceCompositionModel::mesh_, GeometricField< scalar, fvPatchField, volMesh >::New(), tmp< T >::New(), IOobjectOption::NO_REGISTER, interfaceCompositionModel::pair(), Foam::constant::mathematical::pi(), Foam::pow3(), Foam::constant::physicoChemical::R, Foam::sign(), Foam::sqrt(), interfaceCompositionModel::T, T0, interfaceCompositionModel::transferSpecie(), and Foam::Zero.

|
virtual |
Implicit mass transfer coefficient.
Implements interfaceCompositionModel.
Definition at line 204 of file kineticGasEvaporation.C.
References interfaceCompositionModel::modelVariable_, Foam::pos(), Foam::sign(), and interfaceCompositionModel::variable().

|
virtual |
Explicit mass transfer coefficient.
Implements interfaceCompositionModel.
Definition at line 230 of file kineticGasEvaporation.C.
References interfaceCompositionModel::modelVariable_, Foam::pos(), Foam::sign(), and interfaceCompositionModel::variable().

|
inlinevirtualnoexcept |
Return Tactivate.
Implements interfaceCompositionModel.
Definition at line 308 of file kineticGasEvaporation.H.
References Foam::noexcept.
|
inlinevirtualnoexcept |
Add/subtract alpha*div(U) as a source term for alpha, substituting div(U) = mDot(1/rho1 - 1/rho2).
Reimplemented from interfaceCompositionModel.
Definition at line 317 of file kineticGasEvaporation.H.
References Foam::noexcept.