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. More... | |
alphatWallBoilingWallFunctionFvPatchScalarField (const alphatWallBoilingWallFunctionFvPatchScalarField &) | |
Construct as copy. More... | |
virtual tmp< fvPatchScalarField > | clone () const |
Construct and return a clone. More... | |
alphatWallBoilingWallFunctionFvPatchScalarField (const alphatWallBoilingWallFunctionFvPatchScalarField &, const DimensionedField< scalar, volMesh > &) | |
Construct as copy setting internal field reference. More... | |
virtual tmp< fvPatchScalarField > | clone (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 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... | |
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. 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 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_ |
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 |
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:
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.
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;
Definition at line 374 of file alphatWallBoilingWallFunctionFvPatchScalarField.H.
enum phaseType |
Enumeration listing the possible operational modes.
Enumerator | |
---|---|
vaporPhase | |
liquidPhase |
Definition at line 383 of file alphatWallBoilingWallFunctionFvPatchScalarField.H.
alphatWallBoilingWallFunctionFvPatchScalarField | ( | const fvPatch & | p, |
const DimensionedField< scalar, volMesh > & | iF | ||
) |
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().
alphatWallBoilingWallFunctionFvPatchScalarField | ( | const fvPatch & | p, |
const DimensionedField< scalar, volMesh > & | iF, | ||
const dictionary & | dict | ||
) |
Construct from patch, internal field and dictionary.
Definition at line 107 of file alphatWallBoilingWallFunctionFvPatchScalarField.C.
References Foam::abort(), dict, Foam::FatalError, FatalErrorInFunction, filmDict(), forAll, Foam::constant::mathematical::group, DimensionedField< Type, GeoMesh >::mesh(), partitioningModel::New(), nucleationSiteModel::New(), CHFSubCoolModel::New(), filmBoilingModel::New(), LeidenfrostModel::New(), MHFModel::New(), CHFModel::New(), TDNBModel::New(), departureDiameterModel::New(), departureFrequencyModel::New(), Foam::nl, p, and Foam::foamVersion::patch.
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 269 of file alphatWallBoilingWallFunctionFvPatchScalarField.C.
alphatWallBoilingWallFunctionFvPatchScalarField | ( | const alphatWallBoilingWallFunctionFvPatchScalarField & | psf | ) |
Construct as copy.
Definition at line 306 of file alphatWallBoilingWallFunctionFvPatchScalarField.C.
alphatWallBoilingWallFunctionFvPatchScalarField | ( | const alphatWallBoilingWallFunctionFvPatchScalarField & | psf, |
const DimensionedField< scalar, volMesh > & | iF | ||
) |
Construct as copy setting internal field reference.
Definition at line 334 of file alphatWallBoilingWallFunctionFvPatchScalarField.C.
TypeName | ( | "compressible::alphatWallBoilingWallFunction" | ) |
Runtime type information.
|
inlinevirtual |
Construct and return a clone.
Reimplemented from alphatPhaseChangeJayatillekeWallFunctionFvPatchScalarField.
Definition at line 518 of file alphatWallBoilingWallFunctionFvPatchScalarField.H.
References alphatWallBoilingWallFunctionFvPatchScalarField::alphatWallBoilingWallFunctionFvPatchScalarField().
|
inlinevirtual |
Construct and return a clone setting internal field reference.
Reimplemented from alphatPhaseChangeJayatillekeWallFunctionFvPatchScalarField.
Definition at line 535 of file alphatWallBoilingWallFunctionFvPatchScalarField.H.
References alphatWallBoilingWallFunctionFvPatchScalarField::alphatWallBoilingWallFunctionFvPatchScalarField().
|
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.
|
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.
|
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.
|
inline |
Return the departure diameter field.
Definition at line 560 of file alphatWallBoilingWallFunctionFvPatchScalarField.H.
|
inline |
Return the quenching surface heat flux [W/m2].
Definition at line 566 of file alphatWallBoilingWallFunctionFvPatchScalarField.H.
|
inline |
Return the evaporation surface heat flux [W/m2].
Definition at line 572 of file alphatWallBoilingWallFunctionFvPatchScalarField.H.
References alphatPhaseChangeWallFunctionFvPatchScalarField::mDotL_.
|
virtual |
Update the coefficients associated with the patch field.
Reimplemented from alphatPhaseChangeJayatillekeWallFunctionFvPatchScalarField.
Definition at line 410 of file alphatWallBoilingWallFunctionFvPatchScalarField.C.
References Foam::abort(), GeometricField< Type, PatchField, GeoMesh >::boundaryField(), Cp, Foam::expressions::patchExpr::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, saturationModel::Tsat(), uTau, y, and yPlus.
|
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().
|
inline |
Return the rate of phase-change.
Definition at line 125 of file alphatPhaseChangeWallFunctionFvPatchScalarField.H.
|
inline |
Return the rate of phase-change for specific phase pair.
Definition at line 143 of file alphatPhaseChangeWallFunctionFvPatchScalarField.H.
|
inline |
Return the rate of phase-change for specific phase.
Definition at line 155 of file alphatPhaseChangeWallFunctionFvPatchScalarField.H.