ENH: prevent natural-logarithm domain errors in nut wall functions (#1730)

This commit is contained in:
Kutalmis Bercin 2020-06-17 16:34:20 +01:00 committed by Andrew Heather
parent d576ab6e6f
commit 7668f381c8
3 changed files with 9 additions and 4 deletions

View File

@ -66,7 +66,8 @@ Foam::nutUWallFunctionFvPatchScalarField::calcNut() const
// Inertial sublayer contribution
const scalar nutLog =
nuw[facei]*(yPlus[facei]*kappa_/log(E_*yPlus[facei]) - 1.0);
nuw[facei]
*(yPlus[facei]*kappa_/log(max(E_*yPlus[facei], 1 + 1e-4)) - 1.0);
nutw[facei] = blend(nutVis, nutLog, yPlus[facei]);
}

View File

@ -180,8 +180,11 @@ Foam::nutWallFunctionFvPatchScalarField::nutWallFunctionFvPatchScalarField
),
UName_(dict.getOrDefault<word>("U", word::null)),
Cmu_(dict.getOrDefault<scalar>("Cmu", 0.09)),
kappa_(dict.getOrDefault<scalar>("kappa", 0.41)),
E_(dict.getOrDefault<scalar>("E", 9.8)),
kappa_
(
dict.getCheckOrDefault<scalar>("kappa", 0.41, scalarMinMax::ge(SMALL))
),
E_(dict.getCheckOrDefault<scalar>("E", 9.8, scalarMinMax::ge(SMALL))),
yPlusLam_(yPlusLam(kappa_, E_))
{
checkType();

View File

@ -71,7 +71,8 @@ calcNut() const
const scalar nutVis = 0.0;
// Inertial sublayer contribution
const scalar nutLog = nuw[facei]*(yPlus*kappa_/log(E_*yPlus) - 1.0);
const scalar nutLog =
nuw[facei]*(yPlus*kappa_/log(max(E_*yPlus, 1 + 1e-4)) - 1.0);
nutw[facei] = blend(nutVis, nutLog, yPlus);
}