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]);
|
psiMinn[pfCelli] = min(psiMinn[pfCelli], psiPNf[pFacei]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else if (psiPf.fixesValue())
|
||||||
{
|
{
|
||||||
forAll(phiCorrPf, pFacei)
|
forAll(phiCorrPf, pFacei)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -195,6 +195,11 @@ void Foam::MULES::limiter
|
|||||||
MULEScontrols.lookupOrDefault<scalar>("smoothLimiter", 0)
|
MULEScontrols.lookupOrDefault<scalar>("smoothLimiter", 0)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
const scalar extremaCoeff
|
||||||
|
(
|
||||||
|
MULEScontrols.lookupOrDefault<scalar>("extremaCoeff", 0)
|
||||||
|
);
|
||||||
|
|
||||||
const scalarField& psi0 = psi.oldTime();
|
const scalarField& psi0 = psi.oldTime();
|
||||||
|
|
||||||
const labelUList& owner = mesh.owner();
|
const labelUList& owner = mesh.owner();
|
||||||
@ -286,7 +291,7 @@ void Foam::MULES::limiter
|
|||||||
psiMinn[pfCelli] = min(psiMinn[pfCelli], psiPNf[pFacei]);
|
psiMinn[pfCelli] = min(psiMinn[pfCelli], psiPNf[pFacei]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else if (psiPf.fixesValue())
|
||||||
{
|
{
|
||||||
forAll(phiCorrPf, pFacei)
|
forAll(phiCorrPf, pFacei)
|
||||||
{
|
{
|
||||||
@ -316,8 +321,8 @@ void Foam::MULES::limiter
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
psiMaxn = min(psiMaxn, psiMax);
|
psiMaxn = min(psiMaxn + extremaCoeff*(psiMax - psiMin), psiMax);
|
||||||
psiMinn = max(psiMinn, psiMin);
|
psiMinn = max(psiMinn - extremaCoeff*(psiMax - psiMin), psiMin);
|
||||||
|
|
||||||
if (smoothLimiter > SMALL)
|
if (smoothLimiter > SMALL)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user