alphatWallBoilingWallFunctionFvPatchScalarField Class Reference

A thermal wall function for simulation of boiling wall. More...

Inheritance diagram for alphatWallBoilingWallFunctionFvPatchScalarField:
[legend]
Collaboration diagram for alphatWallBoilingWallFunctionFvPatchScalarField:
[legend]

Public Types

enum  phaseType { vaporPhase, liquidPhase }
 Enumeration listing the possible operational modes. More...
 

Public Member Functions

 TypeName ("compressible::alphatWallBoilingWallFunction")
 Runtime type information. More...
 
 alphatWallBoilingWallFunctionFvPatchScalarField (const fvPatch &, const DimensionedField< scalar, volMesh > &)
 Construct from patch and internal field. More...
 
 alphatWallBoilingWallFunctionFvPatchScalarField (const fvPatch &, const DimensionedField< scalar, volMesh > &, const dictionary &)
 Construct from patch, internal field and dictionary. More...
 
 alphatWallBoilingWallFunctionFvPatchScalarField (const alphatWallBoilingWallFunctionFvPatchScalarField &, const fvPatch &, const DimensionedField< scalar, volMesh > &, const fvPatchFieldMapper &)
 Construct by mapping given. More...
 
 alphatWallBoilingWallFunctionFvPatchScalarField (const alphatWallBoilingWallFunctionFvPatchScalarField &)
 Construct as copy. More...
 
virtual tmp< fvPatchScalarFieldclone () const
 Construct and return a clone. More...
 
 alphatWallBoilingWallFunctionFvPatchScalarField (const alphatWallBoilingWallFunctionFvPatchScalarField &, const DimensionedField< scalar, volMesh > &)
 Construct as copy setting internal field reference. More...
 
virtual tmp< fvPatchScalarFieldclone (const DimensionedField< scalar, volMesh > &iF) const
 Construct and return a clone setting internal field reference. More...
 
virtual bool activePhasePair (const phasePairKey &) const
 Is there phase change mass transfer for this phasePair. More...
 
virtual const scalarFielddmdt (const phasePairKey &) const
 Return the rate of phase-change for specific phase pair. More...
 
virtual const scalarFieldmDotL (const phasePairKey &) const
 Return the rate of phase-change for specific phase pair. More...
 
const scalarFielddDeparture () const
 Return the departure diameter field. More...
 
const scalarFieldqq () const
 Return the quenching surface heat flux [W/m2]. More...
 
tmp< scalarFieldqe () const
 Return the evaporation surface heat flux [W/m2]. More...
 
virtual void updateCoeffs ()
 Update the coefficients associated with the patch field. More...
 
virtual void write (Ostream &) const
 Write. More...
 
virtual const scalarFielddmdt () const
 Return the rate of phase-change. More...
 
virtual const scalarFielddmdt (const phasePairKey &) const
 Return the rate of phase-change for specific phase pair. More...
 
virtual scalarField dmdt (const word &) const
 Return the rate of phase-change for specific phase. More...
 
- Public Member Functions inherited from alphatPhaseChangeJayatillekeWallFunctionFvPatchScalarField
 TypeName ("compressible::alphatPhaseChangeJayatillekeWallFunction")
 Runtime type information. More...
 
 alphatPhaseChangeJayatillekeWallFunctionFvPatchScalarField (const fvPatch &, const DimensionedField< scalar, volMesh > &)
 Construct from patch and internal field. More...
 
 alphatPhaseChangeJayatillekeWallFunctionFvPatchScalarField (const fvPatch &, const DimensionedField< scalar, volMesh > &, const dictionary &)
 Construct from patch, internal field and dictionary. More...
 
 alphatPhaseChangeJayatillekeWallFunctionFvPatchScalarField (const alphatPhaseChangeJayatillekeWallFunctionFvPatchScalarField &, const fvPatch &, const DimensionedField< scalar, volMesh > &, const fvPatchFieldMapper &)
 Construct by mapping given. More...
 
 alphatPhaseChangeJayatillekeWallFunctionFvPatchScalarField (const alphatPhaseChangeJayatillekeWallFunctionFvPatchScalarField &)
 Construct as copy. More...
 
 alphatPhaseChangeJayatillekeWallFunctionFvPatchScalarField (const alphatPhaseChangeJayatillekeWallFunctionFvPatchScalarField &, const DimensionedField< scalar, volMesh > &)
 Construct as copy setting internal field reference. More...
 
- Public Member Functions inherited from alphatPhaseChangeWallFunctionFvPatchScalarField
 TypeName ("compressible::alphatPhaseChangeWallFunction")
 Runtime type information. More...
 
 alphatPhaseChangeWallFunctionFvPatchScalarField (const fvPatch &, const DimensionedField< scalar, volMesh > &)
 Construct from patch and internal field. More...
 
 alphatPhaseChangeWallFunctionFvPatchScalarField (const fvPatch &, const DimensionedField< scalar, volMesh > &, const dictionary &)
 Construct from patch, internal field and dictionary. More...
 
 alphatPhaseChangeWallFunctionFvPatchScalarField (const alphatPhaseChangeWallFunctionFvPatchScalarField &, const fvPatch &, const DimensionedField< scalar, volMesh > &, const fvPatchFieldMapper &)
 Construct by mapping given. More...
 
 alphatPhaseChangeWallFunctionFvPatchScalarField (const alphatPhaseChangeWallFunctionFvPatchScalarField &)
 Construct as copy. More...
 
 alphatPhaseChangeWallFunctionFvPatchScalarField (const alphatPhaseChangeWallFunctionFvPatchScalarField &, const DimensionedField< scalar, volMesh > &)
 Construct as copy setting internal field reference. More...
 
virtual const scalarFielddmdt () const
 Return the rate of phase-change. More...
 
virtual const scalarFieldmDotL () const
 Return the enthalpy source due to phase-change. More...
 
virtual scalarField dmdt (const word &) const
 Return the rate of phase-change for specific phase. More...
 
virtual scalarField mDotL (const word &) const
 Return the enthalpy source due to phase-change for specific phase. More...
 

Additional Inherited Members

- Protected Member Functions inherited from alphatPhaseChangeJayatillekeWallFunctionFvPatchScalarField
void checkType ()
 Check the type of the patch. More...
 
tmp< scalarFieldPsmooth (const scalarField &Prat) const
 'P' function More...
 
tmp< scalarFieldyPlusTherm (const scalarField &P, const scalarField &Prat) const
 Calculate y+ at the edge of the thermal laminar sublayer. More...
 
tmp< scalarFieldcalcAlphat (const scalarField &prevAlphat) const
 Update turbulent thermal diffusivity. More...
 
- Protected Attributes inherited from alphatPhaseChangeJayatillekeWallFunctionFvPatchScalarField
scalar Prt_
 Turbulent Prandtl number. More...
 
scalar Cmu_
 Cmu coefficient. More...
 
scalar kappa_
 Von Karman constant. More...
 
scalar E_
 E coefficient. More...
 
- Protected Attributes inherited from alphatPhaseChangeWallFunctionFvPatchScalarField
scalarField dmdt_
 Rate of phase-change. More...
 
scalarField mDotL_
 Latent heat of the phase-change. More...
 
- Static Protected Attributes inherited from alphatPhaseChangeJayatillekeWallFunctionFvPatchScalarField
static scalar maxExp_ = 50.0
 
static scalar tolerance_ = 0.01
 
static label maxIters_ = 10
 

Detailed Description

A thermal wall function for simulation of boiling wall.

This alpha wall function can handle the following regimes: single phase subcooled nucleate wall boiling transitional boiling film boiling.

The wall function uses a partition method to transfer heat either to the liquid or vapor phase. At the moment, this function works in a wall temperature fixed mode. i.e, there is no consideration for the sudden change of heat transfer coefficient (htc) after reaching TDBN (deviation from nucleate boiling temperature).

References:

    Numerical simulation of immersion quenching process of an engine cylinder head
    Vedanth Srinivasan, Kil-Min Moon, David Greif, De Ming Wang, Myung-hwan Kim
    Applied Mathematical Modelling 34 (2010) 2111-2128

For the single phase non-boiling regime the standard JayatillekeWallFunction is used.

For the sub-cool nucleate boiling regime the following runtime selectable submodels are used:

  • nucleation site density
  • bubble departure frequency
  • bubble departure diameter

Implements a version of the well-known RPI wall boiling model (Kurul & Podowski, 1991). The model implementation is similar to the model described by Peltola & P├Ąttikangas (2012) but has been extended with the wall heat flux partitioning models.

References:

    "On the modeling of multidimensional effects in boiling channels"
    Kurul, N., Podowski, M.Z.,
    ANS Proceedings, National Heat Transfer Conference,
    Minneapolis, Minnesota, USA, July 28-31, 1991,
    ISBN: 0-89448-162-1, pp. 30-40
    "Development and validation of a boiling model for OpenFOAM
    multiphase solver"
    Peltola, J., P├Ąttikangas, T.J.H.,
    CFD4NRS-4 Conference Proceedings, paper 59,
    Daejeon, Korea, September 10-12 2012

The transition boiling regime flux (TBF) is modelled following a temperature based linear interpolation between the critical heat flux (CHF) and the minimum heat flux (MHF) in such a way that when the wall temperature is between the range of TDBN and the Leidenfrost temperature (TLeiden) a linear interpolation is used between CHF and MHF.

Thus, the following models are required: LeidenfrostModel CHFModel CHFSubCoolModel MHFModel TDNBModel filmBoilingModel

The linear interpolation is as follows:

TBF = CHF*phi + (1 - phi)*MHF

where phi:

phi = wp*(Tw - TDNB)/(TLeiden - TDNB),

where: wp model constant Tw wall temperature

The film boiling regime is applied when Tw is larger than TLeiden. In this regime the corrlation from the filmBoilingModel is used for calculating the cht from the wall.

The filmBoilingModel is needed in the vapor field in order to calculate the heat transfer to the vapor phase in film boiling regime.

Usage
Property Description Required Default value
phaseType 'vapor' or 'liquid' yes
relax wall boiling model relaxation yes
Prt inherited from alphatPhaseChangeJayatillekeWallFunction
Cmu inherited from alphatPhaseChangeJayatillekeWallFunction
kappa inherited from alphatPhaseChangeJayatillekeWallFunction
E inherited from alphatPhaseChangeJayatillekeWallFunction
dmdt phase change mass flux no
value initial alphat value yes

if phaseType 'vapor':

partitioningModel

yes

filmBoilingModel

yes

LeidenfrostModel

yes

if phaseType 'liquid':

partitioningModel

yes

nucleationSiteModel

yes

departureDiamModel

yes

departureFreqModel

yes

K

bubbles area constant

no

4

LeidenfrostModel

no

CHFModel

no

CHFSubCoolModel

no

MHFModel

no

TDNBModel

no

filmBoilingModel

no

wp

no

1

NOTE: Runtime selectabale submodels may require model specific entries

Example usage:

    hotWall
    {
        type            compressible::alphatWallBoilingWallFunction;
        phaseType       liquid;
        Prt             0.85;
        Cmu             0.09;
        kappa           0.41;
        E               9.8;
        relax           0.1;
        dmdt            uniform 0;
        partitioningModel
        {
            type        Lavieville;
            alphaCrit   0.2;
        }
        nucleationSiteModel
        {
            type        LemmertChawla;
        }
        departureDiamModel
        {
            type        TolubinskiKostanchuk;
        }
        departureFreqModel
        {
            type        Cole;
        }

        LeidenfrostModel
        {
            type        Spiegler;
            Tcrit       647;
        }
        CHFModel
        {
            type        Zuber;
        }
        CHFSubCoolModel
        {
            type        HuaXu;
            Kburn       0.5;
        }
        MHFModel
        {
            type        Jeschar;
            Kmhf        1;
        }
        TDNBModel
        {
            type        Schroeder;
        }
        filmBoilingModel
        {
            type        Bromley;
        }
        value           uniform 0.01;
See also
Foam::alphatPhaseChangeJayatillekeWallFunctionFvPatchField
Source files

Definition at line 374 of file alphatWallBoilingWallFunctionFvPatchScalarField.H.

Member Enumeration Documentation

◆ phaseType

enum phaseType

Enumeration listing the possible operational modes.

Enumerator
vaporPhase 
liquidPhase 

Definition at line 383 of file alphatWallBoilingWallFunctionFvPatchScalarField.H.

Constructor & Destructor Documentation

◆ alphatWallBoilingWallFunctionFvPatchScalarField() [1/5]

Construct from patch and internal field.

Definition at line 70 of file alphatWallBoilingWallFunctionFvPatchScalarField.C.

References forAll, DimensionedField< Type, GeoMesh >::mesh(), and Foam::foamVersion::patch.

Referenced by alphatWallBoilingWallFunctionFvPatchScalarField::clone().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ alphatWallBoilingWallFunctionFvPatchScalarField() [2/5]

◆ alphatWallBoilingWallFunctionFvPatchScalarField() [3/5]

◆ alphatWallBoilingWallFunctionFvPatchScalarField() [4/5]

◆ alphatWallBoilingWallFunctionFvPatchScalarField() [5/5]

Construct as copy setting internal field reference.

Definition at line 334 of file alphatWallBoilingWallFunctionFvPatchScalarField.C.

Member Function Documentation

◆ TypeName()

TypeName ( "compressible::alphatWallBoilingWallFunction"  )

Runtime type information.

◆ clone() [1/2]

virtual tmp<fvPatchScalarField> clone ( ) const
inlinevirtual

Construct and return a clone.

Reimplemented from alphatPhaseChangeJayatillekeWallFunctionFvPatchScalarField.

Definition at line 518 of file alphatWallBoilingWallFunctionFvPatchScalarField.H.

References alphatWallBoilingWallFunctionFvPatchScalarField::alphatWallBoilingWallFunctionFvPatchScalarField().

Here is the call graph for this function:

◆ clone() [2/2]

virtual tmp<fvPatchScalarField> clone ( const DimensionedField< scalar, volMesh > &  iF) const
inlinevirtual

Construct and return a clone setting internal field reference.

Reimplemented from alphatPhaseChangeJayatillekeWallFunctionFvPatchScalarField.

Definition at line 535 of file alphatWallBoilingWallFunctionFvPatchScalarField.H.

References alphatWallBoilingWallFunctionFvPatchScalarField::alphatWallBoilingWallFunctionFvPatchScalarField().

Here is the call graph for this function:

◆ activePhasePair()

bool activePhasePair ( const phasePairKey phasePair) const
virtual

Is there phase change mass transfer for this phasePair.

Reimplemented from alphatPhaseChangeWallFunctionFvPatchScalarField.

Definition at line 364 of file alphatWallBoilingWallFunctionFvPatchScalarField.C.

References Foam::constant::mathematical::group.

◆ dmdt() [1/4]

const scalarField & dmdt ( const phasePairKey phasePair) const
virtual

Return the rate of phase-change for specific phase pair.

Reimplemented from alphatPhaseChangeWallFunctionFvPatchScalarField.

Definition at line 377 of file alphatWallBoilingWallFunctionFvPatchScalarField.C.

References Foam::abort(), Foam::FatalError, and FatalErrorInFunction.

Here is the call graph for this function:

◆ mDotL()

const scalarField & mDotL ( const phasePairKey phasePair) const
virtual

Return the rate of phase-change for specific phase pair.

Reimplemented from alphatPhaseChangeWallFunctionFvPatchScalarField.

Definition at line 394 of file alphatWallBoilingWallFunctionFvPatchScalarField.C.

References Foam::abort(), Foam::FatalError, and FatalErrorInFunction.

Here is the call graph for this function:

◆ dDeparture()

const scalarField& dDeparture ( ) const
inline

Return the departure diameter field.

Definition at line 560 of file alphatWallBoilingWallFunctionFvPatchScalarField.H.

◆ qq()

const scalarField& qq ( ) const
inline

Return the quenching surface heat flux [W/m2].

Definition at line 566 of file alphatWallBoilingWallFunctionFvPatchScalarField.H.

◆ qe()

tmp<scalarField> qe ( ) const
inline

Return the evaporation surface heat flux [W/m2].

Definition at line 572 of file alphatWallBoilingWallFunctionFvPatchScalarField.H.

References alphatPhaseChangeWallFunctionFvPatchScalarField::mDotL_.

◆ updateCoeffs()

◆ write()

void write ( Ostream os) const
virtual

Write.

Reimplemented from alphatPhaseChangeJayatillekeWallFunctionFvPatchScalarField.

Definition at line 1117 of file alphatWallBoilingWallFunctionFvPatchScalarField.C.

References Ostream::beginBlock(), Ostream::endBlock(), Ostream::write(), fvPatchField< Type >::write(), and Ostream::writeEntry().

Here is the call graph for this function:

◆ dmdt() [2/4]

virtual const scalarField& dmdt
inline

Return the rate of phase-change.

Definition at line 125 of file alphatPhaseChangeWallFunctionFvPatchScalarField.H.

◆ dmdt() [3/4]

virtual const scalarField& dmdt
inline

Return the rate of phase-change for specific phase pair.

Definition at line 143 of file alphatPhaseChangeWallFunctionFvPatchScalarField.H.

◆ dmdt() [4/4]

virtual scalarField dmdt
inline

Return the rate of phase-change for specific phase.

Definition at line 155 of file alphatPhaseChangeWallFunctionFvPatchScalarField.H.


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