A thermal wall function for simulation of boiling wall. More...
Public Types | |
enum | phaseType { vaporPhase, liquidPhase } |
Additional Inherited Members | |
![]() | |
void | checkType () |
tmp< scalarField > | Psmooth (const scalarField &Prat) const |
tmp< scalarField > | yPlusTherm (const scalarField &P, const scalarField &Prat) const |
tmp< scalarField > | calcAlphat (const scalarField &prevAlphat) const |
![]() | |
scalar | Prt_ |
scalar | Cmu_ |
scalar | kappa_ |
scalar | E_ |
![]() | |
scalarField | dmdt_ |
scalarField | mDotL_ |
![]() | |
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:
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: -NotesRuntime selectabale submodels may require model specific entriesphaseType
and otherPhase
entries should be the opposite of each other. Foam::alphatPhaseChangeJayatillekeWallFunctionFvPatchField Source files alphatWallBoilingWallFunctionFvPatchScalarField.H alphatWallBoilingWallFunctionFvPatchScalarField.C
Definition at line 434 of file alphatWallBoilingWallFunctionFvPatchScalarField.H.
enum phaseType |
Enumerator | |
---|---|
vaporPhase | |
liquidPhase |
Definition at line 443 of file alphatWallBoilingWallFunctionFvPatchScalarField.H.
alphatWallBoilingWallFunctionFvPatchScalarField | ( | const fvPatch & | p, |
const DimensionedField< scalar, volMesh > & | iF | ||
) |
Definition at line 63 of file alphatWallBoilingWallFunctionFvPatchScalarField.C.
References forAll, DimensionedField::mesh(), and Foam::foamVersion::patch.
Referenced by alphatWallBoilingWallFunctionFvPatchScalarField::clone().
alphatWallBoilingWallFunctionFvPatchScalarField | ( | const fvPatch & | p, |
const DimensionedField< scalar, volMesh > & | iF, | ||
const dictionary & | dict | ||
) |
Definition at line 103 of file alphatWallBoilingWallFunctionFvPatchScalarField.C.
References Foam::abort(), dict, Foam::FatalError, FatalErrorInFunction, filmDict(), forAll, Foam::constant::mathematical::group, DimensionedField::mesh(), partitioningModel::New(), nucleateFluxModel::New(), nucleationSiteModel::New(), MHFModel::New(), TDNBModel::New(), filmBoilingModel::New(), LeidenfrostModel::New(), departureDiameterModel::New(), CHFSubCoolModel::New(), CHFModel::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 | ||
) |
Definition at line 281 of file alphatWallBoilingWallFunctionFvPatchScalarField.C.
alphatWallBoilingWallFunctionFvPatchScalarField | ( | const alphatWallBoilingWallFunctionFvPatchScalarField & | psf | ) |
Definition at line 321 of file alphatWallBoilingWallFunctionFvPatchScalarField.C.
alphatWallBoilingWallFunctionFvPatchScalarField | ( | const alphatWallBoilingWallFunctionFvPatchScalarField & | psf, |
const DimensionedField< scalar, volMesh > & | iF | ||
) |
Definition at line 352 of file alphatWallBoilingWallFunctionFvPatchScalarField.C.
TypeName | ( | "compressible::alphatWallBoilingWallFunction" | ) |
|
inlinevirtual |
Reimplemented from alphatPhaseChangeJayatillekeWallFunctionFvPatchScalarField.
Definition at line 589 of file alphatWallBoilingWallFunctionFvPatchScalarField.H.
References alphatWallBoilingWallFunctionFvPatchScalarField::alphatWallBoilingWallFunctionFvPatchScalarField().
|
inlinevirtual |
Reimplemented from alphatPhaseChangeJayatillekeWallFunctionFvPatchScalarField.
Definition at line 606 of file alphatWallBoilingWallFunctionFvPatchScalarField.H.
References alphatWallBoilingWallFunctionFvPatchScalarField::alphatWallBoilingWallFunctionFvPatchScalarField().
|
virtual |
Reimplemented from alphatPhaseChangeWallFunctionFvPatchScalarField.
Definition at line 385 of file alphatWallBoilingWallFunctionFvPatchScalarField.C.
References Foam::constant::mathematical::group.
|
virtual |
Reimplemented from alphatPhaseChangeWallFunctionFvPatchScalarField.
Definition at line 396 of file alphatWallBoilingWallFunctionFvPatchScalarField.C.
References Foam::abort(), Foam::FatalError, and FatalErrorInFunction.
|
virtual |
Reimplemented from alphatPhaseChangeWallFunctionFvPatchScalarField.
Definition at line 411 of file alphatWallBoilingWallFunctionFvPatchScalarField.C.
References Foam::abort(), Foam::FatalError, and FatalErrorInFunction.
|
inline |
Definition at line 631 of file alphatWallBoilingWallFunctionFvPatchScalarField.H.
|
inline |
Definition at line 637 of file alphatWallBoilingWallFunctionFvPatchScalarField.H.
|
inline |
Definition at line 643 of file alphatWallBoilingWallFunctionFvPatchScalarField.H.
References alphatPhaseChangeWallFunctionFvPatchScalarField::mDotL_.
|
inlinenoexcept |
Definition at line 649 of file alphatWallBoilingWallFunctionFvPatchScalarField.H.
|
virtual |
Reimplemented from alphatPhaseChangeJayatillekeWallFunctionFvPatchScalarField.
Definition at line 426 of file alphatWallBoilingWallFunctionFvPatchScalarField.C.
References Foam::abort(), basicThermo::alpha(), GeometricField::boundaryField(), Cp, liquid::Cp(), Foam::expressions::patchExpr::debug, Foam::constant::mathematical::e(), Foam::endl(), Foam::exit(), Foam::exp(), Foam::FatalError, FatalErrorInFunction, fluid, forAll, Foam::gMax(), Foam::gMin(), Foam::constant::mathematical::group, IOobject::groupName(), Foam::gSum(), basicThermo::he(), Foam::Info, k, L(), Foam::log(), Foam::mag(), magUp, Foam::max(), Foam::min(), N(), phaseModel::name(), Foam::nl, Foam::foamVersion::patch, fvPatchField::patchInternalField(), phi, Foam::constant::mathematical::pi(), Foam::pow025(), Pr(), turbulenceModel::propertiesName, relax(), fvPatchField::snGrad(), Foam::sqr(), Foam::sqrt(), tCp, phaseModel::thermo(), uTau, y, yPlus, and Foam::Zero.
|
virtual |
Reimplemented from alphatPhaseChangeJayatillekeWallFunctionFvPatchScalarField.
Definition at line 1217 of file alphatWallBoilingWallFunctionFvPatchScalarField.C.
References os(), and fvPatchField::write().
|
inline |
Definition at line 164 of file alphatPhaseChangeWallFunctionFvPatchScalarField.H.
|
inline |
Definition at line 182 of file alphatPhaseChangeWallFunctionFvPatchScalarField.H.
|
inline |
Definition at line 194 of file alphatPhaseChangeWallFunctionFvPatchScalarField.H.
Copyright © 2011-2018 OpenFOAM | OPENFOAM® is a registered trademark of OpenCFD Ltd.