nutWallFunctionFvPatchScalarField::yPlusLam: Improved ypl calculation

to ensure nut is always positive
This commit is contained in:
Henry Weller
2023-05-15 14:19:18 +01:00
parent 3479c6a37f
commit 6928511a3d

View File

@ -2,7 +2,7 @@
========= | ========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration | Website: https://openfoam.org \\ / O peration | Website: https://openfoam.org
\\ / A nd | Copyright (C) 2011-2021 OpenFOAM Foundation \\ / A nd | Copyright (C) 2011-2023 OpenFOAM Foundation
\\/ M anipulation | \\/ M anipulation |
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
License License
@ -155,13 +155,28 @@ Foam::scalar Foam::nutWallFunctionFvPatchScalarField::yPlusLam
const scalar E const scalar E
) )
{ {
scalar ypl = 11.0; const scalar ypl0 = 12.0;
scalar ypl = ypl0;
for (int i=0; i<10; i++) for (int i=0; i<10; i++)
{ {
ypl = log(max(E*ypl, 1))/kappa; ypl = log(max(E*ypl, 1))/kappa;
} }
// If ypl is greater than the starting value recalculate from a larger value
// to ensure the result is slightly larger rather than slightly smaller
// than exact value
if (ypl > ypl0)
{
ypl += 1;
for (int i=0; i<10; i++)
{
ypl = log(max(E*ypl, 1))/kappa;
}
}
return ypl; return ypl;
} }