phaseSurfaceBoiling Class Reference

Model for nucleate wall boiling on the surface of a third (solid) phase. More...

Inheritance diagram for phaseSurfaceBoiling:
Collaboration diagram for phaseSurfaceBoiling:

Public Member Functions

 TypeName ("phaseSurfaceBoiling")
 Runtime type information. More...
 
 phaseSurfaceBoiling (const word &name, const word &modelType, const fvMesh &mesh, const dictionary &dict)
 
virtual bool addsSupToField (const word &fieldName) const
 Return true if the fvModel adds a source term to the given. More...
 
const phaseModel & liquid () const
 Access the liquid phase. More...
 
const phaseModel & vapour () const
 Access the vapour phase. More...
 
const phaseModel & solid () const
 Access the solid phase on which the boiling occurs. More...
 
virtual tmp< DimensionedField< scalar, volMesh > > Lfraction () const
 Return the fraction of the latent heat that is transferred into. More...
 
virtual tmp< DimensionedField< scalar, volMesh > > d () const
 Return the diameter of nuclei. More...
 
virtual tmp< DimensionedField< scalar, volMesh > > nDot () const
 Return the number rate at which nuclei are generated. More...
 
virtual tmp< DimensionedField< scalar, volMesh > > tau () const
 Return the nucleation time scale. More...
 
virtual tmp< DimensionedField< scalar, volMesh > > mDot () const
 Return the mass transfer rate. More...
 
void addSup (const volScalarField &alpha, const volScalarField &rho, fvMatrix< scalar > &eqn) const
 Override the pressure equation to add the mass transfer rate. More...
 
void addSup (const volScalarField &alpha, const volScalarField &rho, const volScalarField &he, fvMatrix< scalar > &eqn) const
 Override the phase and liquid's energy equations to add. More...
 
virtual void correct ()
 Correct the fvModel. More...
 
virtual bool read (const dictionary &dict)
 Read source dictionary. More...
 
- Public Member Functions inherited from phaseChange
 TypeName ("phaseChange")
 Runtime type information. More...
 
 phaseChange (const word &name, const word &modelType, const fvMesh &mesh, const dictionary &dict, const wordList &species)
 Construct from explicit source name and mesh. More...
 
const ThermoRefPair< basicThermo > & thermos () const
 Return the thermo references. More...
 
const ThermoRefPair< fluidThermo > fluidThermos (const bool, const bool) const
 Return the fluid thermo references. More...
 
const ThermoRefPair< multicomponentThermo > multicomponentThermos (const bool, const bool) const
 Return the multicomponent thermo references. More...
 
const ThermoRefPair< fluidMulticomponentThermo > fluidMulticomponentThermos (const bool, const bool) const
 Return the fluid multicomponent thermo references. More...
 
const Pair< word > & heNames () const
 Return the names of the energy fields. More...
 
const hashedWordList & species () const
 Return the names of the transferring species. Empty if neither. More...
 
const labelPair & specieis (const label mDoti=-1) const
 Return the indices of the transferring specie in the two. More...
 
virtual tmp< DimensionedField< scalar, volMesh > > Tchange () const
 Return the temperature at which the phases are considered to be. More...
 
tmp< DimensionedField< scalar, volMesh > > L (const label mDoti=-1) const
 Return the latent heat. More...
 
tmp< DimensionedField< scalar, volMesh > > L (const volScalarField::Internal &Tchange, const label mDoti=-1) const
 Return the latent heat for a given changing temperature. More...
 
tmp< scalarField > L (const label patchi, const scalarField &Tchange, const label mDoti=-1) const
 Return the latent heat for a patch and a given changing. More...
 
virtual tmp< DimensionedField< scalar, volMesh > > mDot (const label mDoti) const
 Return the mass transfer rate of a specie. More...
 
void addSup (const volScalarField &alpha, const volScalarField &rho, const volScalarField &heOrYi, fvMatrix< scalar > &eqn) const
 Override the energy equation to add the phase change heat, or. More...
 
- Public Member Functions inherited from massTransfer
 TypeName ("massTransfer")
 Runtime type information. More...
 
 massTransfer (const word &name, const word &modelType, const fvMesh &mesh, const dictionary &dict)
 Construct from explicit source name and mesh. More...
 
const Pair< word > & phaseNames () const
 Return the names of the phases. More...
 
const Pair< word > & alphaNames () const
 Return the names of the volume fraction fields. More...
 
const Pair< word > & rhoNames () const
 Return the names of the density fields. More...
 
virtual tmp< DimensionedField< scalar, volMesh > > S (const word &fieldName) const
 Return the source value. More...
 
virtual void addSup (fvMatrix< scalar > &eqn) const
 Add a source term to a field-less proxy equation. More...
 
 FOR_ALL_FIELD_TYPES (DEFINE_FV_MODEL_ADD_FIELD_SUP)
 Add a source term to an equation. More...
 
 FOR_ALL_FIELD_TYPES (DEFINE_FV_MODEL_ADD_RHO_FIELD_SUP)
 Add a source term to a compressible equation. More...
 
 FOR_ALL_FIELD_TYPES (DEFINE_FV_MODEL_ADD_ALPHA_RHO_FIELD_SUP)
 Add a source term to a phase equation. More...
 
template<class Type >
const Foam::VolField< Type > & otherField (const VolField< Type > &field) const
 
- Public Member Functions inherited from fvSpecificSource
 TypeName ("fvSpecificSource")
 Runtime type information. More...
 
 fvSpecificSource (const word &name, const word &modelType, const fvMesh &mesh, const dictionary &dict)
 Construct from explicit source name and mesh. More...
 
virtual ~fvSpecificSource ()
 Destructor. More...
 
virtual bool movePoints ()
 Update for mesh motion. More...
 
virtual void topoChange (const polyTopoChangeMap &)
 Update topology using the given map. More...
 
virtual void mapMesh (const polyMeshMap &)
 Update from another mesh using the given map. More...
 
virtual void distribute (const polyDistributionMap &)
 Redistribute or update using the given distribution map. More...
 
- Public Member Functions inherited from fvSource
 TypeName ("fvSource")
 Runtime type information. More...
 
 fvSource (const word &name, const word &modelType, const fvMesh &mesh, const dictionary &dict)
 Construct from explicit source name and mesh. More...
 
 fvSource (const fvSource &)=delete
 Disallow default bitwise copy construction. More...
 
virtual ~fvSource ()
 Destructor. More...
 
virtual wordList addSupFields () const final
 Return the list of fields for which the fvModel adds source term. More...
 
void operator= (const fvSource &)=delete
 Disallow default bitwise assignment. More...
 
- Public Member Functions inherited from fvModel
 TypeName ("fvModel")
 Runtime type information. More...
 
 declareRunTimeSelectionTable (autoPtr, fvModel, dictionary,(const word &name, const word &modelType, const fvMesh &mesh, const dictionary &dict),(name, modelType, mesh, dict))
 
 fvModel (const word &name, const word &modelType, const fvMesh &mesh, const dictionary &dict)
 Construct from components. More...
 
autoPtr< fvModel > clone () const
 Return clone. More...
 
virtual ~fvModel ()
 Destructor. More...
 
const word & name () const
 Return const access to the source name. More...
 
const word & keyword () const
 Return name as the keyword. More...
 
const fvMesh & mesh () const
 Return const access to the mesh database. More...
 
const dictionary & coeffs (const dictionary &) const
 Return the coefficients sub-dictionary. More...
 
virtual scalar maxDeltaT () const
 Return the maximum time-step for stable operation. More...
 
template<class Type >
tmp< fvMatrix< Type > > sourceProxy (const VolField< Type > &eqnField) const
 Add a source term to an equation. More...
 
template<class Type >
tmp< fvMatrix< Type > > source (const VolField< Type > &field) const
 Return source for an equation. More...
 
template<class Type >
tmp< fvMatrix< Type > > sourceProxy (const VolField< Type > &field, const VolField< Type > &eqnField) const
 Return source for an equation. More...
 
template<class Type >
tmp< fvMatrix< Type > > source (const volScalarField &rho, const VolField< Type > &field) const
 Return source for a compressible equation. More...
 
template<class Type >
tmp< fvMatrix< Type > > sourceProxy (const volScalarField &rho, const VolField< Type > &field, const VolField< Type > &eqnField) const
 Return source for a compressible equation. More...
 
template<class Type >
tmp< fvMatrix< Type > > source (const volScalarField &alpha, const volScalarField &rho, const VolField< Type > &field) const
 Return source for a phase equation. More...
 
template<class Type >
tmp< fvMatrix< Type > > sourceProxy (const volScalarField &alpha, const volScalarField &rho, const VolField< Type > &field, const VolField< Type > &eqnField) const
 Return source for a phase equation. More...
 
template<class Type >
tmp< fvMatrix< Type > > source (const volScalarField &alpha, const geometricOneField &rho, const VolField< Type > &field) const
 Return source for a phase equation. More...
 
template<class Type >
tmp< fvMatrix< Type > > source (const geometricOneField &alpha, const volScalarField &rho, const VolField< Type > &field) const
 Return source for a phase equation. More...
 
template<class Type >
tmp< fvMatrix< Type > > source (const geometricOneField &alpha, const geometricOneField &rho, const VolField< Type > &field) const
 Return source for a phase equation. More...
 
template<class Type >
tmp< fvMatrix< Type > > d2dt2 (const VolField< Type > &field) const
 Return source for an equation with a second time derivative. More...
 
virtual void preUpdateMesh ()
 Prepare for mesh update. More...
 
virtual bool write (const bool write=true) const
 Write fvModel data. More...
 
template<class AlphaRhoFieldType , class ... AlphaRhoFieldTypes>
Foam::dimensionSet sourceDims (const dimensionSet &ds, const AlphaRhoFieldType &alphaRhoField, const AlphaRhoFieldTypes &... alphaRhoFields)
 
template<class AlphaRhoFieldType , class ... AlphaRhoFieldTypes>
const Foam::word & fieldName (const AlphaRhoFieldType &alphaRhoField, const AlphaRhoFieldTypes &... alphaRhoFields)
 
template<class AlphaRhoFieldType >
const Foam::word & fieldName (const AlphaRhoFieldType &alphaRhoField)
 
template<class Type , class ... AlphaRhoFieldTypes>
Foam::tmp< Foam::fvMatrix< Type > > sourceTerm (const VolField< Type > &eqnField, const dimensionSet &ds, const AlphaRhoFieldTypes &... alphaRhoFields) const
 
template<class Type >
Foam::tmp< Foam::fvMatrix< Type > > sourceProxy (const VolField< Type > &eqnField) const
 
template<class Type >
Foam::tmp< Foam::fvMatrix< Type > > source (const VolField< Type > &field) const
 
template<class Type >
Foam::tmp< Foam::fvMatrix< Type > > sourceProxy (const VolField< Type > &field, const VolField< Type > &eqnField) const
 
template<class Type >
Foam::tmp< Foam::fvMatrix< Type > > source (const volScalarField &rho, const VolField< Type > &field) const
 
template<class Type >
Foam::tmp< Foam::fvMatrix< Type > > sourceProxy (const volScalarField &rho, const VolField< Type > &field, const VolField< Type > &eqnField) const
 
template<class Type >
Foam::tmp< Foam::fvMatrix< Type > > source (const volScalarField &alpha, const volScalarField &rho, const VolField< Type > &field) const
 
template<class Type >
Foam::tmp< Foam::fvMatrix< Type > > sourceProxy (const volScalarField &alpha, const volScalarField &rho, const VolField< Type > &field, const VolField< Type > &eqnField) const
 
template<class Type >
Foam::tmp< Foam::fvMatrix< Type > > source (const geometricOneField &alpha, const geometricOneField &rho, const VolField< Type > &field) const
 
template<class Type >
Foam::tmp< Foam::fvMatrix< Type > > source (const volScalarField &alpha, const geometricOneField &rho, const VolField< Type > &field) const
 
template<class Type >
Foam::tmp< Foam::fvMatrix< Type > > source (const geometricOneField &alpha, const volScalarField &rho, const VolField< Type > &field) const
 
template<class Type >
Foam::tmp< Foam::fvMatrix< Type > > d2dt2 (const VolField< Type > &field) const
 
- Public Member Functions inherited from nucleation
 TypeName ("nucleation")
 Runtime type information. More...
 
 nucleation ()
 Default construct. More...
 
virtual ~nucleation ()
 

Additional Inherited Members

- Static Public Member Functions inherited from fvModel
static const dictionary & coeffs (const word &modelType, const dictionary &)
 Return the coefficients sub-dictionary for a given model type. More...
 
template<class AlphaRhoFieldType , class ... AlphaRhoFieldTypes>
static dimensionSet sourceDims (const dimensionSet &ds, const AlphaRhoFieldType &alphaRhoField, const AlphaRhoFieldTypes &... alphaRhoFields)
 Return the dimensions of the matrix of a source term. More...
 
static const dimensionSet & sourceDims (const dimensionSet &ds)
 Return the dimensions of the matrix of a source term (base. More...
 
template<class AlphaRhoFieldType , class ... AlphaRhoFieldTypes>
static const word & fieldName (const AlphaRhoFieldType &alphaRhoField, const AlphaRhoFieldTypes &... alphaRhoFields)
 Return the name of the field associated with a source term. More...
 
template<class AlphaRhoFieldType >
static const word & fieldName (const AlphaRhoFieldType &alphaRhoField)
 Return the name of the field associated with a source term (base. More...
 
static const word & fieldName ()
 Return the name of the field associated with a source term. Special. More...
 
static autoPtr< fvModel > New (const word &name, const fvMesh &mesh, const dictionary &dict)
 Return a reference to the selected fvModel. More...
 
- Static Public Attributes inherited from fvModel
static const wordHashSet keywords
 The keywords read by this class. More...
 
- Protected Member Functions inherited from phaseChange
wordList readSpecie (const dictionary &dict, const bool required) const
 Read the names of the transferring specie. More...
 
wordList readSpecies (const dictionary &dict, const bool required) const
 Read the names of the transferring species. More...
 
void reReadSpecie (const dictionary &dict) const
 Re-read the names of the transferring specie. More...
 
void reReadSpecies (const dictionary &dict) const
 Re-read the names of the transferring species. More...
 
void setSpecies (const word &name, const word &modelType, const wordList &species)
 Set the names of the transferring species. More...
 
void setSpecies (const wordList &species)
 Set the names of the transferring species. More...
 
void reSetSpecies (const wordList &species)
 Re-set the names of the transferring species. More...
 
const volScalarField & p () const
 Access the pressure field. More...
 
- Protected Member Functions inherited from massTransfer
const Pair< word > lookupPhaseNames (const dictionary &dict) const
 Lookup the phase names. More...
 
const Pair< word > lookupPhaseFieldNames (const dictionary &dict, const word &name) const
 Lookup the phase field names. More...
 
tmp< volScalarField::Internal > rho (const label i) const
 Return the density. More...
 
template<class Type >
const VolField< Type > & otherField (const VolField< Type > &field) const
 Return the corresponding field in the other phase, or a null. More...
 
template<class Type >
void addSupType (const VolField< Type > &field, fvMatrix< Type > &eqn) const
 Add a source term to an equation. More...
 
void addSupType (const volScalarField &alphaOrField, fvMatrix< scalar > &eqn) const
 Add a source term to a scalar equation. More...
 
template<class Type >
void addSupType (const volScalarField &alphaOrRho, const VolField< Type > &field, fvMatrix< Type > &eqn) const
 Add a source term to a compressible equation. More...
 
void addSupType (const volScalarField &alphaOrRho, const volScalarField &rhoOrField, fvMatrix< scalar > &eqn) const
 Add a source term to a compressible scalar equation. More...
 
template<class Type >
void addSupType (const volScalarField &alpha, const volScalarField &rho, const VolField< Type > &field, fvMatrix< Type > &eqn) const
 Add a source term to a phase equation. More...
 
- Protected Member Functions inherited from fvSpecificSource
template<class Type >
void addSupType (const VolField< Type > &field, fvMatrix< Type > &eqn) const
 Add a source term to an equation. More...
 
template<class Type >
void addSupType (const volScalarField &rho, const VolField< Type > &field, fvMatrix< Type > &eqn) const
 Add a source term to a compressible equation. More...
 
template<class Type >
void addSupType (const volScalarField &alpha, const volScalarField &rho, const VolField< Type > &field, fvMatrix< Type > &eqn) const
 Add a source term to a phase equation. More...
 
- Protected Member Functions inherited from fvModel
template<class Type >
void addSupType (const VolField< Type > &field, fvMatrix< Type > &eqn) const
 Add a source term to an equation. More...
 
template<class Type >
void addSupType (const volScalarField &rho, const VolField< Type > &field, fvMatrix< Type > &eqn) const
 Add a source term to a compressible equation. More...
 
template<class Type >
void addSupType (const volScalarField &alpha, const volScalarField &rho, const VolField< Type > &field, fvMatrix< Type > &eqn) const
 Add a source term to a phase equation. More...
 
template<class Type , class ... AlphaRhoFieldTypes>
tmp< fvMatrix< Type > > sourceTerm (const VolField< Type > &eqnField, const dimensionSet &ds, const AlphaRhoFieldTypes &... alphaRhoFields) const
 Return a source for an equation. More...
 
- Static Protected Member Functions inherited from phaseChange
static tmp< volScalarField > vifToVf (const tmp< DimensionedField< scalar, volMesh >> &tvif)
 Add a boundary field to the given internal field. More...
 
static tmp< DimensionedField< scalar, volMesh > > vfToVif (const tmp< volScalarField > &tvf)
 Remove the boundary field from the given geometric field. More...
 
- Static Protected Member Functions inherited from massTransfer
static label index (const Pair< word > &names, const word &name)
 Get the index of the name in the given pair, or -1. More...
 
static label sign (const Pair< word > &names, const word &name)
 Get the sign associated with the name in the given pair; i.e., -1. More...
 

Detailed Description

Model for nucleate wall boiling on the surface of a third (solid) phase.

This model functions very similarly to the wall boiling model (see that model for references). The same sub-models are used, with exactly the same specification syntax. The only difference is that the third phase must be additionally specified, and that a two-resistance heat transfer model must be in operation between the liquid phase and the third phase.

Usage
Example usage:
phaseSurfaceBoiling
{
    type            phaseSurfaceBoiling;
    libs            ("libmultiphaseEulerFvModels.so");

    phase           solid;

    // Note: Order is important. This model is one-way. It turns liquid
    // into vapour. The phases should be specified in this order.
    phases          (water steam);

    energySemiImplicit no;

    saturationTemperature
    {
        type            constant;
        value           372.76;
    }

    partitioningModel
    {
        type            Lavieville;
        alphaCrit       0.2;
    }

    nucleationSiteModel
    {
        type            LemmertChawla;
    }

    departureDiameterModel
    {
        type            TolubinskiKostanchuk;
    }

    departureFrequencyModel
    {
        type            KocamustafaogullariIshii;
        Cf              1.18;
    }
}
See also
Foam::fv::wallBoiling
Source files

Definition at line 124 of file phaseSurfaceBoiling.H.

Constructor & Destructor Documentation

◆ phaseSurfaceBoiling()

phaseSurfaceBoiling ( const word &  name,
const word &  modelType,
const fvMesh &  mesh,
const dictionary &  dict 
)

Construct from explicit source name and mesh Construct from components

Definition at line 247 of file phaseSurfaceBoiling.C.

References fvModel::coeffs(), and dict.

Here is the call graph for this function:

Member Function Documentation

◆ TypeName()

TypeName ( "phaseSurfaceBoiling"  )

Runtime type information.

◆ addsSupToField()

bool addsSupToField ( const word &  fieldName) const
virtual

Return true if the fvModel adds a source term to the given.

field's transport equation

Reimplemented from massTransfer.

Definition at line 366 of file phaseSurfaceBoiling.C.

References massTransfer::addsSupToField().

Here is the call graph for this function:

◆ liquid()

const Foam::phaseModel & liquid ( ) const
inline

Access the liquid phase.

Definition at line 30 of file phaseSurfaceBoilingI.H.

◆ vapour()

const Foam::phaseModel & vapour ( ) const
inline

Access the vapour phase.

Definition at line 36 of file phaseSurfaceBoilingI.H.

◆ solid()

const Foam::phaseModel & solid ( ) const
inline

Access the solid phase on which the boiling occurs.

Definition at line 42 of file phaseSurfaceBoilingI.H.

◆ Lfraction()

Foam::tmp< Foam::volScalarField::Internal > Lfraction ( ) const
virtual

Return the fraction of the latent heat that is transferred into.

the second phase

Reimplemented from phaseChange.

Definition at line 375 of file phaseSurfaceBoiling.C.

References Foam::dimless, mesh, Foam::name(), and DimensionedField< Type, GeoMesh, PrimitiveField >::New().

Here is the call graph for this function:

◆ d()

Foam::tmp< Foam::volScalarField::Internal > d ( ) const
virtual

Return the diameter of nuclei.

Implements nucleation.

Definition at line 389 of file phaseSurfaceBoiling.C.

◆ nDot()

Foam::tmp< Foam::volScalarField::Internal > nDot ( ) const
virtual

Return the number rate at which nuclei are generated.

Implements nucleation.

Definition at line 396 of file phaseSurfaceBoiling.C.

◆ tau()

Foam::tmp< Foam::volScalarField::Internal > tau ( ) const
virtual

Return the nucleation time scale.

Implements nucleation.

Definition at line 403 of file phaseSurfaceBoiling.C.

References NotImplemented.

◆ mDot()

Foam::tmp< Foam::volScalarField::Internal > mDot ( ) const
virtual

Return the mass transfer rate.

Reimplemented from phaseChange.

Definition at line 411 of file phaseSurfaceBoiling.C.

◆ addSup() [1/2]

void addSup ( const volScalarField &  alpha,
const volScalarField &  rho,
fvMatrix< scalar > &  eqn 
) const

Override the pressure equation to add the mass transfer rate.

linearised in the pressure

Definition at line 417 of file phaseSurfaceBoiling.C.

References massTransfer::addSup(), alpha(), fvMatrix< Type >::psi(), and rho.

Here is the call graph for this function:

◆ addSup() [2/2]

void addSup ( const volScalarField &  alpha,
const volScalarField &  rho,
const volScalarField &  he,
fvMatrix< scalar > &  eqn 
) const

Override the phase and liquid's energy equations to add.

additional latent heat and quenching heat transfer terms

Definition at line 443 of file phaseSurfaceBoiling.C.

References phaseChange::addSup(), alpha(), he(), rho, and Foam::sign().

Here is the call graph for this function:

◆ correct()

void correct ( )
virtual

Correct the fvModel.

Reimplemented from fvModel.

Definition at line 468 of file phaseSurfaceBoiling.C.

◆ read()

bool read ( const dictionary &  dict)
virtual

Read source dictionary.

Reimplemented from phaseChange.

Definition at line 478 of file phaseSurfaceBoiling.C.

References dict, and phaseChange::read().

Here is the call graph for this function:

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