This boundary condition now solves for the wall temperature by interval
bisection, which should be significantly more robust than the previous
fixed-point iteration procedure. There is a new non-dimensional
"tolerance" setting that controls how tightly this solution procedure
solves the wall temperature. The "relax" setting is no longer used.
The boundary condition no longer triggers re-evaluation of the
temperature condition in order to re-calculate the heat flux within the
solution iteration. Instead, it extracts physical coefficients from the
form of the boundary condition and uses these to form a linearised
approximation of the heat flux. This is a more general approach, and
will not trigger side-effects associated with re-evaluating the
temperature condition.
The fixedMultiphaseHeatFlux condition has been replaced by a
uniformFixedMultiphaseHeatFlux condition, which constructs a mixed
constraint which portions a specified heat flux between the phases in
such a way as to keep the boundary temperature uniform across all
phases. This can be applied to all phases. It is no longer necessary to
apply a heat flux model to one "master" phase, then map the resulting
temperature to the others. An example specification of this boundary
condition is as follows:
wall
{
type uniformFixedMultiphaseHeatFlux;
q 1000;
relax 0.3;
value $internalField;
}
The wall boiling tutorials have been updated to use these new functions,
and time-varying heat input has been used to replace the
stop-modify-restart pattern present in the single-region cases.
77 lines
1.9 KiB
Plaintext
77 lines
1.9 KiB
Plaintext
/*--------------------------------*- C++ -*----------------------------------*\
|
|
========= |
|
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
|
\\ / O peration | Website: https://openfoam.org
|
|
\\ / A nd | Version: dev
|
|
\\/ M anipulation |
|
|
\*---------------------------------------------------------------------------*/
|
|
FoamFile
|
|
{
|
|
format ascii;
|
|
class volScalarField;
|
|
location "0";
|
|
object alphat.liquid;
|
|
}
|
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
|
|
dimensions [ 1 -1 -1 0 0 0 0 ];
|
|
|
|
internalField uniform 1e-08;
|
|
|
|
boundaryField
|
|
{
|
|
inlet
|
|
{
|
|
type fixedValue;
|
|
value uniform 0;
|
|
}
|
|
outlet
|
|
{
|
|
type calculated;
|
|
value uniform 1e-08;
|
|
}
|
|
wall
|
|
{
|
|
type compressible::alphatWallBoilingWallFunction;
|
|
otherPhase gas;
|
|
phaseType liquid;
|
|
Prt 0.85;
|
|
partitioningModel
|
|
{
|
|
type Lavieville;
|
|
alphaCrit 0.2;
|
|
}
|
|
nucleationSiteModel
|
|
{
|
|
type LemmertChawla;
|
|
Cn 1;
|
|
NRef 30000000;
|
|
deltaTRef 10;
|
|
}
|
|
departureDiamModel
|
|
{
|
|
type TolubinskiKostanchuk;
|
|
dRef 0.00024;
|
|
dMax 0.0014;
|
|
dMin 1e-06;
|
|
}
|
|
departureFreqModel
|
|
{
|
|
type KocamustafaogullariIshii;
|
|
Cf 1.18;
|
|
}
|
|
value uniform 0.01;
|
|
}
|
|
front
|
|
{
|
|
type wedge;
|
|
}
|
|
back
|
|
{
|
|
type wedge;
|
|
}
|
|
}
|
|
|
|
|
|
// ************************************************************************* //
|