mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
MULES: Adjust limiter only at boundaries for which the field value is fixed
Resolves bug-report https://bugs.openfoam.org/view.php?id=2470
This commit is contained in:
@ -249,7 +249,7 @@ void Foam::MULES::limiterCorr
|
||||
psiMinn[pfCelli] = min(psiMinn[pfCelli], psiPNf[pFacei]);
|
||||
}
|
||||
}
|
||||
else
|
||||
else if (psiPf.fixesValue())
|
||||
{
|
||||
forAll(phiCorrPf, pFacei)
|
||||
{
|
||||
|
||||
@ -195,6 +195,11 @@ void Foam::MULES::limiter
|
||||
MULEScontrols.lookupOrDefault<scalar>("smoothLimiter", 0)
|
||||
);
|
||||
|
||||
const scalar extremaCoeff
|
||||
(
|
||||
MULEScontrols.lookupOrDefault<scalar>("extremaCoeff", 0)
|
||||
);
|
||||
|
||||
const scalarField& psi0 = psi.oldTime();
|
||||
|
||||
const labelUList& owner = mesh.owner();
|
||||
@ -286,7 +291,7 @@ void Foam::MULES::limiter
|
||||
psiMinn[pfCelli] = min(psiMinn[pfCelli], psiPNf[pFacei]);
|
||||
}
|
||||
}
|
||||
else
|
||||
else if (psiPf.fixesValue())
|
||||
{
|
||||
forAll(phiCorrPf, pFacei)
|
||||
{
|
||||
@ -316,8 +321,8 @@ void Foam::MULES::limiter
|
||||
}
|
||||
}
|
||||
|
||||
psiMaxn = min(psiMaxn, psiMax);
|
||||
psiMinn = max(psiMinn, psiMin);
|
||||
psiMaxn = min(psiMaxn + extremaCoeff*(psiMax - psiMin), psiMax);
|
||||
psiMinn = max(psiMinn - extremaCoeff*(psiMax - psiMin), psiMin);
|
||||
|
||||
if (smoothLimiter > SMALL)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user