mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
ENH: Updating wall boiling models for new rho and Cp functions
This commit is contained in:
@ -5,7 +5,7 @@
|
||||
\\ / A nd | www.openfoam.com
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
Copyright (C) 2018-2020 OpenCFD Ltd
|
||||
Copyright (C) 2018-2021 OpenCFD Ltd
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of OpenFOAM.
|
||||
@ -85,9 +85,15 @@ Foam::wallBoilingModels::CHFModels::Zuber::CHF
|
||||
const uniformDimensionedVectorField& g =
|
||||
liquid.mesh().time().lookupObject<uniformDimensionedVectorField>("g");
|
||||
|
||||
const scalarField rhoVapor(vapor.thermo().rho(patchi));
|
||||
const scalarField rhoLiq(liquid.thermo().rho(patchi));
|
||||
const labelUList& cells = liquid.mesh().boundary()[patchi].faceCells();
|
||||
|
||||
const scalarField& pw = liquid.thermo().p().boundaryField()[patchi];
|
||||
|
||||
tmp<scalarField> trhoVapor = vapor.thermo().rhoEoS(Tsatw, pw, cells);
|
||||
const scalarField& rhoVapor = trhoVapor.ref();
|
||||
|
||||
tmp<scalarField> trhoLiq = liquid.thermo().rhoEoS(Tsatw, pw, cells);
|
||||
const scalarField& rhoLiq = trhoLiq.ref();
|
||||
const phasePairKey pair(liquid.name(), vapor.name());
|
||||
const scalarField sigma
|
||||
(
|
||||
|
||||
@ -5,7 +5,7 @@
|
||||
\\ / A nd | www.openfoam.com
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
Copyright (C) 2018-2020 OpenCFD Ltd
|
||||
Copyright (C) 2018-2021 OpenCFD Ltd
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of OpenFOAM.
|
||||
@ -87,8 +87,17 @@ Foam::wallBoilingModels::CHFModels::HuaXu::CHFSubCool
|
||||
|
||||
const scalarField alphaLiq(liquid.alpha(patchi));
|
||||
|
||||
const scalarField rhoVapor(vapor.thermo().rho(patchi));
|
||||
const scalarField rhoLiq(liquid.thermo().rho(patchi));
|
||||
const labelUList& cells = liquid.mesh().boundary()[patchi].faceCells();
|
||||
|
||||
const scalarField& pw = liquid.thermo().p().boundaryField()[patchi];
|
||||
|
||||
tmp<scalarField> trhoVapor = vapor.thermo().rhoEoS(Tsatw, pw, cells);
|
||||
const scalarField& rhoVapor = trhoVapor.ref();
|
||||
|
||||
tmp<scalarField> trhoLiq = liquid.thermo().rhoEoS(Tsatw, pw, cells);
|
||||
const scalarField& rhoLiq = trhoLiq.ref();
|
||||
|
||||
|
||||
tmp<volScalarField> tCp = liquid.thermo().Cp();
|
||||
const volScalarField& Cp = tCp();
|
||||
const fvPatchScalarField& Cpw = Cp.boundaryField()[patchi];
|
||||
|
||||
@ -5,7 +5,7 @@
|
||||
\\ / A nd | www.openfoam.com
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
Copyright (C) 2018-2020 OpenCFD Ltd
|
||||
Copyright (C) 2018-2021 OpenCFD Ltd
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of OpenFOAM.
|
||||
@ -59,7 +59,7 @@ Foam::wallBoilingModels::CHFModels::Jeschar::Jeschar
|
||||
)
|
||||
:
|
||||
MHFModel(),
|
||||
Kmhf_(dict.getOrDefault<scalar>("Kmhf", 1))
|
||||
Kmhf_(dict.getOrDefault<scalar>("Kmhf", 0.16))
|
||||
{}
|
||||
|
||||
|
||||
@ -85,8 +85,15 @@ Foam::wallBoilingModels::CHFModels::Jeschar::MHF
|
||||
const uniformDimensionedVectorField& g =
|
||||
liquid.mesh().time().lookupObject<uniformDimensionedVectorField>("g");
|
||||
|
||||
const scalarField rhoVapor(vapor.thermo().rho(patchi));
|
||||
const scalarField rhoLiq(liquid.thermo().rho(patchi));
|
||||
const labelUList& cells = liquid.mesh().boundary()[patchi].faceCells();
|
||||
|
||||
const scalarField& pw = liquid.thermo().p().boundaryField()[patchi];
|
||||
|
||||
tmp<scalarField> trhoVapor = vapor.thermo().rhoEoS(Tsatw, pw, cells);
|
||||
const scalarField& rhoVapor = trhoVapor.ref();
|
||||
|
||||
tmp<scalarField> trhoLiq = liquid.thermo().rhoEoS(Tsatw, pw, cells);
|
||||
const scalarField& rhoLiq = trhoLiq.ref();
|
||||
|
||||
const phasePairKey pair(liquid.name(), vapor.name());
|
||||
const scalarField sigma
|
||||
@ -95,7 +102,7 @@ Foam::wallBoilingModels::CHFModels::Jeschar::MHF
|
||||
);
|
||||
|
||||
return
|
||||
Kmhf_*0.09*rhoVapor*L
|
||||
Kmhf_*rhoVapor*L
|
||||
*(
|
||||
pow(sigma/(mag(g.value())*(rhoLiq - rhoVapor)), 0.25)
|
||||
* sqrt(mag(g.value())*(rhoLiq - rhoVapor)/(rhoLiq + rhoVapor))
|
||||
|
||||
@ -5,7 +5,7 @@
|
||||
\\ / A nd | www.openfoam.com
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
Copyright (C) 2018-2020 OpenCFD Ltd
|
||||
Copyright (C) 2018-2021 OpenCFD Ltd
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of OpenFOAM.
|
||||
@ -85,18 +85,23 @@ Foam::wallBoilingModels::filmBoilingModels::Bromley::htcFilmBoil
|
||||
const scalarField& L
|
||||
) const
|
||||
{
|
||||
|
||||
const fvPatchScalarField& Tw =
|
||||
liquid.thermo().T().boundaryField()[patchi];
|
||||
|
||||
const uniformDimensionedVectorField& g =
|
||||
liquid.mesh().time().lookupObject<uniformDimensionedVectorField>("g");
|
||||
|
||||
const fvPatchScalarField& rhoVaporw
|
||||
(
|
||||
vapor.thermo().rho()().boundaryField()[patchi]
|
||||
);
|
||||
const labelUList& cells = liquid.mesh().boundary()[patchi].faceCells();
|
||||
|
||||
const scalarField& pw = liquid.thermo().p().boundaryField()[patchi];
|
||||
|
||||
tmp<scalarField> trhoVapor = vapor.thermo().rhoEoS(Tsatw, pw, cells);
|
||||
const scalarField& rhoVapor = trhoVapor.ref();
|
||||
|
||||
tmp<scalarField> trhoLiq = liquid.thermo().rhoEoS(Tsatw, pw, cells);
|
||||
const scalarField& rhoLiq = trhoLiq.ref();
|
||||
|
||||
|
||||
const scalarField rhoLiq(liquid.thermo().rho(patchi));
|
||||
const scalarField kappaVapor(vapor.kappa(patchi));
|
||||
|
||||
tmp<volScalarField> tCp = vapor.thermo().Cp();
|
||||
@ -104,7 +109,6 @@ Foam::wallBoilingModels::filmBoilingModels::Bromley::htcFilmBoil
|
||||
const scalarField& CpVapor = Cp.boundaryField()[patchi];
|
||||
|
||||
const scalarField muVapor(vapor.mu(patchi));
|
||||
//const scalarField dbVapor(vapor.d()().boundaryField()[patchi]);
|
||||
|
||||
const scalarField htcRad
|
||||
(
|
||||
@ -116,7 +120,7 @@ Foam::wallBoilingModels::filmBoilingModels::Bromley::htcFilmBoil
|
||||
Cn_*pow
|
||||
(
|
||||
pow3(kappaVapor)
|
||||
*rhoVaporw*(rhoLiq - rhoVaporw)*mag(g.value())
|
||||
*rhoVapor*(rhoLiq - rhoVapor)*mag(g.value())
|
||||
*(L + 0.4*CpVapor*max((Tw-Tsatw), scalar(0)))
|
||||
/(L_*muVapor*max((Tw-Tsatw), scalar(1e-4))),
|
||||
0.25
|
||||
|
||||
Reference in New Issue
Block a user