A thermal wall function for simulation of boiling wall. More...
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 alphatWallBoilingWallFunctionFvPatchScalarField onto a new patch. More... | |
alphatWallBoilingWallFunctionFvPatchScalarField (const alphatWallBoilingWallFunctionFvPatchScalarField &) | |
Construct as copy. More... | |
alphatWallBoilingWallFunctionFvPatchScalarField (const alphatWallBoilingWallFunctionFvPatchScalarField &, const DimensionedField< scalar, volMesh > &) | |
Construct as copy setting internal field reference. More... | |
virtual tmp< fvPatchField< scalar > > | clone () const |
Return a clone. More... | |
virtual tmp< fvPatchField< scalar > > | clone (const DimensionedField< scalar, volMesh > &iF) const |
Clone with an internal field reference. More... | |
virtual bool | activePhasePair (const phasePairKey &) const |
Is there phase change mass transfer for this phasePair. More... | |
virtual const scalarField & | dmdt (const phasePairKey &) const |
Return the rate of phase-change for specific phase pair. More... | |
virtual const scalarField & | mDotL (const phasePairKey &) const |
Return the rate of phase-change for specific phase pair. More... | |
const scalarField & | dDeparture () const |
Return the departure diameter field. More... | |
const scalarField & | qq () const |
Return the quenching surface heat flux [W/m2]. More... | |
tmp< scalarField > | qe () const |
Return the evaporation surface heat flux [W/m2]. More... | |
const labelField & | regimeTypes () const noexcept |
Return const reference to the face regime. More... | |
virtual void | updateCoeffs () |
Update the coefficients associated with the patch field. More... | |
virtual void | write (Ostream &) const |
Write. More... | |
virtual const scalarField & | dmdt () const |
Return the rate of phase-change. More... | |
virtual const scalarField & | dmdt (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 alphatPhaseChangeJayatillekeWallFunctionFvPatchScalarField onto a new patch. 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 alphatPhaseChangeWallFunctionFvPatchScalarField onto a new patch. 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 scalarField & | dmdt () const |
Return the rate of phase-change. More... | |
virtual const scalarField & | mDotL () 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< scalarField > | Psmooth (const scalarField &Prat) const |
'P' function More... | |
tmp< scalarField > | yPlusTherm (const scalarField &P, const scalarField &Prat) const |
Calculate y+ at the edge of the thermal laminar sublayer. More... | |
tmp< scalarField > | calcAlphat (const scalarField &prevAlphat) const |
Update turbulent thermal diffusivity. More... | |
Protected Attributes inherited from alphatPhaseChangeJayatillekeWallFunctionFvPatchScalarField | |
scalar | Prt_ |
Turbulent Prandtl number. More... | |
scalar | Cmu_ |
Empirical model coefficient. More... | |
scalar | kappa_ |
Von Karman constant. More... | |
scalar | E_ |
Wall roughness parameter. 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 | tolerance_ = 0.01 |
Absolute tolerance. More... | |
static label | maxIters_ = 10 |
Maximum number of iterations. More... | |
A thermal wall function for simulation of boiling wall.
This alpha wall function can handle the following regimes:
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:
Srinivasan, V., Moon, K. M., Greif, D., Wang, D. M., & Kim, M. H. (2010). Numerical simulation of immersion quenching process of an engine cylinder head. Applied Mathematical Modelling, 34(8), 2111-2128. DOI:10.1016/j.apm.2009.10.023
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:
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:
Kurul, N., & Podowski, M. Z. (1991). On the modeling of multidimensional effects in boiling channels. Proceedings of the 27th National Heat Transfer Conference. Minneapolis, Minn, USA, July 28-31, 1991. ISBN: 0-89448-162-1, pp. 30-40 Peltola, J., & Pättikangas, T. (2012). Development and validation of a boiling model for OpenFOAM multiphase solver. Proceedings of the CFD4NRS-4. p. 59. Daejeon, Democratic People's Republic of Korea, September 10-12, 2012.
Alternatively a correlation can be used instead of the RPI wall boiling model. If the keyword nucleatingModel a model is provided the BC uses it instead of the RPI model.
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:
The linear interpolation is as follows:
with
where:
= | Model constant | |
= | Wall temperature [K] |
The film boiling regime is applied when is larger than . In this regime the correlation 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.
<patchName> { // Mandatory entries type compressible::alphatWallBoilingWallFunction; phaseType <word>; otherPhase <word>; relax <Function1<scalar>>; partitioningModel { type Lavieville; alphaCrit 0.2; } // Conditional entries // Option-1: phaseType=vapor // Optional entries LeidenfrostModel { type Spiegler; Tcrit 647; } filmBoilingModel { type Bromley; } // Option-2: phaseType=liquid nucleationSiteModel { type LemmertChawla; } departureDiamModel { type TolubinskiKostanchuk; } departureFreqModel { type Cole; } // Optional entries 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; } dDep <scalarField>; K <scalar>; wp <scalar>; qQuenching <scalarField>; // Optional entries alphatConv <scalarField>; //Inherited entries ...
where the entries mean:
Property | Description | Type | Reqd | Deflt |
---|---|---|---|---|
type | compressible::alphatWallBoilingWallFunction | word | yes | - |
phaseType | Name of phase type | word | yes | - |
otherPhase | Name of other phase | word | yes | - |
relax | Relaxation factor for dmdt | Function1<scalar> | yes | - |
alphatConv | Convective turbulent thermal diffusivity | scalarField | no | 0 |
partitioningModel | Run-time selected heat flux partitioning model | dict | yes | - |
Options for the phaseType
and otherPhase
entries:
vapor | Vapor phase liquid | Liquid phase
when phaseType=liquid:
Property | Description | Type | Reqd | Deflt |
---|---|---|---|---|
nucleationSiteModel | Nucleation site density model | dict | yes | - |
departureDiamModel | Bubble departure diameter model | dict | yes | - |
departureFreqModel | Bubble departure frequency model | dict | yes | - |
LeidenfrostModel | Leidenfrost temperature model | dict | no | - |
CHFModel | Critical heat flux model | dict | no | - |
CHFSubCoolModel | CHF sub-cool model | dict | no | - |
MHFModel | Minium heat flux model | dict | no | - |
TDNBModel | Departure from nulceate boiling model | dict | no | - |
filmBoilingModel | Film boiling model | dict | no | - |
K | Model constant for area of bubbles | scalar | no | 4.0 |
wp | Wetting parameter for transient boiling | scalar | no | 1.0 |
The inherited entries are elaborated in: -alphatPhaseChangeJayatillekeWallFunctionFvPatchScalarField.H
Notes
phaseType
and otherPhase
entries should be the opposite of each other.Definition at line 434 of file alphatWallBoilingWallFunctionFvPatchScalarField.H.
enum phaseType |
Enumeration listing the possible operational modes.
Enumerator | |
---|---|
vaporPhase | |
liquidPhase |
Definition at line 445 of file alphatWallBoilingWallFunctionFvPatchScalarField.H.
alphatWallBoilingWallFunctionFvPatchScalarField | ( | const fvPatch & | p, |
const DimensionedField< scalar, volMesh > & | iF | ||
) |
Construct from patch and internal field.
Definition at line 63 of file alphatWallBoilingWallFunctionFvPatchScalarField.C.
References forAll, DimensionedField< Type, GeoMesh >::mesh(), and Foam::foamVersion::patch.
alphatWallBoilingWallFunctionFvPatchScalarField | ( | const fvPatch & | p, |
const DimensionedField< scalar, volMesh > & | iF, | ||
const dictionary & | dict | ||
) |
Construct from patch, internal field and dictionary.
Definition at line 103 of file alphatWallBoilingWallFunctionFvPatchScalarField.C.
References Foam::abort(), dict, Foam::FatalError, FatalErrorInFunction, filmDict, forAll, DimensionedField< Type, GeoMesh >::mesh(), partitioningModel::New(), nucleationSiteModel::New(), nucleateFluxModel::New(), TDNBModel::New(), filmBoilingModel::New(), LeidenfrostModel::New(), MHFModel::New(), CHFSubCoolModel::New(), CHFModel::New(), departureDiameterModel::New(), departureFrequencyModel::New(), Foam::nl, p, Foam::foamVersion::patch, and Foam::Zero.
alphatWallBoilingWallFunctionFvPatchScalarField | ( | const alphatWallBoilingWallFunctionFvPatchScalarField & | psf, |
const fvPatch & | p, | ||
const DimensionedField< scalar, volMesh > & | iF, | ||
const fvPatchFieldMapper & | mapper | ||
) |
Construct by mapping given alphatWallBoilingWallFunctionFvPatchScalarField onto a new patch.
Definition at line 281 of file alphatWallBoilingWallFunctionFvPatchScalarField.C.
alphatWallBoilingWallFunctionFvPatchScalarField | ( | const alphatWallBoilingWallFunctionFvPatchScalarField & | psf | ) |
Construct as copy.
Definition at line 321 of file alphatWallBoilingWallFunctionFvPatchScalarField.C.
alphatWallBoilingWallFunctionFvPatchScalarField | ( | const alphatWallBoilingWallFunctionFvPatchScalarField & | psf, |
const DimensionedField< scalar, volMesh > & | iF | ||
) |
Construct as copy setting internal field reference.
Definition at line 352 of file alphatWallBoilingWallFunctionFvPatchScalarField.C.
TypeName | ( | "compressible::alphatWallBoilingWallFunction" | ) |
Runtime type information.
|
inlinevirtual |
Return a clone.
Reimplemented from alphatPhaseChangeJayatillekeWallFunctionFvPatchScalarField.
Definition at line 660 of file alphatWallBoilingWallFunctionFvPatchScalarField.H.
References fvPatchField< Type >::Clone().
|
inlinevirtual |
Clone with an internal field reference.
Reimplemented from alphatPhaseChangeJayatillekeWallFunctionFvPatchScalarField.
Definition at line 669 of file alphatWallBoilingWallFunctionFvPatchScalarField.H.
References fvPatchField< Type >::Clone().
|
virtual |
Is there phase change mass transfer for this phasePair.
Reimplemented from alphatPhaseChangeWallFunctionFvPatchScalarField.
Definition at line 385 of file alphatWallBoilingWallFunctionFvPatchScalarField.C.
References Foam::constant::mathematical::group.
|
virtual |
Return the rate of phase-change for specific phase pair.
Reimplemented from alphatPhaseChangeWallFunctionFvPatchScalarField.
Definition at line 396 of file alphatWallBoilingWallFunctionFvPatchScalarField.C.
References Foam::abort(), Foam::FatalError, and FatalErrorInFunction.
|
virtual |
Return the rate of phase-change for specific phase pair.
Reimplemented from alphatPhaseChangeWallFunctionFvPatchScalarField.
Definition at line 411 of file alphatWallBoilingWallFunctionFvPatchScalarField.C.
References Foam::abort(), Foam::FatalError, and FatalErrorInFunction.
|
inline |
Return the departure diameter field.
Definition at line 699 of file alphatWallBoilingWallFunctionFvPatchScalarField.H.
|
inline |
Return the quenching surface heat flux [W/m2].
Definition at line 707 of file alphatWallBoilingWallFunctionFvPatchScalarField.H.
|
inline |
Return the evaporation surface heat flux [W/m2].
Definition at line 715 of file alphatWallBoilingWallFunctionFvPatchScalarField.H.
References alphatPhaseChangeWallFunctionFvPatchScalarField::mDotL_.
|
inlinenoexcept |
Return const reference to the face regime.
Definition at line 723 of file alphatWallBoilingWallFunctionFvPatchScalarField.H.
|
virtual |
Update the coefficients associated with the patch field.
Reimplemented from alphatPhaseChangeJayatillekeWallFunctionFvPatchScalarField.
Definition at line 426 of file alphatWallBoilingWallFunctionFvPatchScalarField.C.
References Foam::abort(), GeometricField< Type, PatchField, GeoMesh >::boundaryField(), Cp, liquid::Cp(), Foam::ensightOutput::debug, Foam::constant::mathematical::e(), Foam::endl(), Foam::exit(), Foam::exp(), Foam::FatalError, FatalErrorInFunction, fluid, forAll, Foam::gMax(), Foam::gMin(), IOobject::groupName(), Foam::gSum(), Foam::Info, k, L(), Foam::log(), Foam::mag(), magUp, Foam::max(), Foam::min(), N(), Foam::nl, Foam::foamVersion::patch, fvPatchField< Type >::patchInternalField(), phi, Foam::constant::mathematical::pi(), Foam::pow025(), Pr(), turbulenceModel::propertiesName, relax(), fvPatchField< Type >::snGrad(), Foam::sqr(), Foam::sqrt(), tCp, uTau, y, yPlus, and Foam::Zero.
|
virtual |
Write.
Reimplemented from alphatPhaseChangeJayatillekeWallFunctionFvPatchScalarField.
Definition at line 1217 of file alphatWallBoilingWallFunctionFvPatchScalarField.C.
References os(), fvPatchField< Type >::write(), and fvPatchField< Type >::writeValueEntry().
|
inline |
Return the rate of phase-change.
Definition at line 182 of file alphatPhaseChangeWallFunctionFvPatchScalarField.H.
|
inline |
Return the rate of phase-change for specific phase pair.
Definition at line 206 of file alphatPhaseChangeWallFunctionFvPatchScalarField.H.
|
inline |
Return the rate of phase-change for specific phase.
Definition at line 222 of file alphatPhaseChangeWallFunctionFvPatchScalarField.H.