57 if (!isA<wallFvPatch>(
patch()))
60 <<
"Patch type for patch " <<
patch().name() <<
" must be wall\n" 61 <<
"Current patch type is " <<
patch().type() <<
nl 73 return 9.24*(
pow(Prat, 0.75) - 1)*(1 + 0.28*
exp(-0.007*Prat));
85 auto& ypsf = typsf.ref();
93 const scalar
f = ypt - (
log(
E_*ypt)/
kappa_ + P[facei])/Prat[facei];
94 const scalar df = 1.0 - 1.0/(ypt*
kappa_*Prat[facei]);
95 const scalar yptNew = ypt -
f/df;
103 ypsf[facei] = yptNew;
130 const label patchi =
patch().index();
133 const auto& turbModel =
164 (prevAlphat + alphaw)*hew.
snGrad()
183 auto& alphatConv = talphatConv.ref();
192 const scalar
A = qDot[facei]*rhow[facei]*
uTau[facei]*
y[facei];
193 const scalar
B = qDot[facei]*
Pr[facei]*
yPlus[facei];
200 const scalar
A = qDot[facei]*rhow[facei]*
uTau[facei]*
y[facei];
206 0.5*rhow[facei]*
uTau[facei]
212 alphatConv[facei] =
max(0.0,
alphaEff - alphaw[facei]);
247 Prt_(
dict.getOrDefault<scalar>(
"Prt", 0.85)),
248 Cmu_(
dict.getOrDefault<scalar>(
"Cmu", 0.09)),
249 kappa_(
dict.getOrDefault<scalar>(
"kappa", 0.41)),
250 E_(
dict.getOrDefault<scalar>(
"E", 9.8))
280 kappa_(awfpsf.kappa_),
295 kappa_(awfpsf.kappa_),
311 fixedValueFvPatchScalarField::updateCoeffs();
321 os.writeEntry(
"Prt",
Prt_);
322 os.writeEntry(
"Cmu",
Cmu_);
324 os.writeEntry(
"E",
E_);
335 alphatPhaseChangeJayatillekeWallFunctionFvPatchScalarField
dimensionedScalar Pr("Pr", dimless, laminarTransport)
tmp< scalarField > Psmooth(const scalarField &Prat) const
'P' function
Graphite solid properties.
scalarField dmdt_
Rate of phase-change.
void checkType()
Check the type of the patch.
virtual tmp< Field< Type > > snGrad() const
Return patch-normal gradient.
dimensionedScalar log(const dimensionedScalar &ds)
errorManipArg< error, int > exit(error &err, const int errNo=1)
dimensioned< typename typeOfMag< Type >::type > mag(const dimensioned< Type > &dt)
error FatalError
Error stream (stdout output on all processes), with additional 'FOAM FATAL ERROR' header text and sta...
A list of keyword definitions, which are a keyword followed by a number of values (eg...
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
label max(const labelHashSet &set, label maxValue=labelMin)
Find the max value in labelHashSet, optionally limited by second argument.
dimensionedSymmTensor sqr(const dimensionedVector &dv)
constexpr char nl
The newline '\n' character (0x0a)
dimensionedScalar sqrt(const dimensionedScalar &ds)
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
dimensionedScalar pow025(const dimensionedScalar &ds)
const T & cref() const
Return const reference to the object or to the contents of a (non-null) managed pointer.
void writeEntry(const word &keyword, Ostream &os) const
Write the field as a dictionary entry.
void writeValueEntry(Ostream &os) const
Write *this field as a "value" entry.
label k
Boltzmann constant.
virtual void write(Ostream &) const
Write.
tmp< scalarField > calcAlphat(const scalarField &prevAlphat) const
Update turbulent thermal diffusivity.
scalar Cmu_
Empirical model coefficient.
Macros for easy insertion into run-time selection tables.
#define forAll(list, i)
Loop across all elements in list.
makePatchTypeField(fvPatchScalarField, alphatFixedDmdtWallBoilingWallFunctionFvPatchScalarField)
static word groupName(StringType base, const word &group)
Create dot-delimited name.group string.
scalar E_
Wall roughness parameter.
dimensionedScalar exp(const dimensionedScalar &ds)
scalar Prt_
Turbulent Prandtl number.
Class to represent a system of phases and model interfacial transfers between them.
static const word propertiesName
Default name of the turbulence properties dictionary.
alphatPhaseChangeJayatillekeWallFunctionFvPatchScalarField(const fvPatch &, const DimensionedField< scalar, volMesh > &)
Construct from patch and internal field.
A FieldMapper for finite-volume patch fields.
static tmp< T > New(Args &&... args)
Construct tmp with forwarding arguments.
Abstract base-class for all alphatWallFunctions supporting phase-change.
tmp< scalarField > yPlusTherm(const scalarField &P, const scalarField &Prat) const
Calculate y+ at the edge of the thermal laminar sublayer.
An Ostream is an abstract base class for all output systems (streams, files, token lists...
virtual tmp< Field< Type > > patchInternalField() const
Return internal field next to patch.
OBJstream os(runTime.globalPath()/outputName)
scalar kappa_
Von Karman constant.
virtual void write(Ostream &) const
Write.
dimensionedScalar pow(const dimensionedScalar &ds, const dimensionedScalar &expt)
This boundary condition provides a thermal wall function for turbulent thermal diffusivity (usuallyal...
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
virtual void updateCoeffs()
Update the coefficients associated with the patch field.
const std::string patch
OpenFOAM patch number as a std::string.
Single incompressible phase derived from the phase-fraction. Used as part of the multiPhaseMixture fo...
static scalar tolerance_
Absolute tolerance.
static label maxIters_
Maximum number of iterations.
volScalarField alphaEff("alphaEff", turbulence->nu()/Pr+alphat)
A class for managing temporary objects.
tmp< faMatrix< Type > > operator==(const faMatrix< Type > &, const faMatrix< Type > &)
static const Foam::dimensionedScalar A("", Foam::dimPressure, 611.21)
Single incompressible phase derived from the phase-fraction. Used as part of the multiPhaseMixture fo...
const Boundary & boundaryField() const noexcept
Return const-reference to the boundary field.
static const Foam::dimensionedScalar B("", Foam::dimless, 18.678)
const word & name() const