diff --git a/src/finiteVolume/fvMatrices/solvers/MULES/CMULESTemplates.C b/src/finiteVolume/fvMatrices/solvers/MULES/CMULESTemplates.C index e41c9bec11..090c096d61 100644 --- a/src/finiteVolume/fvMatrices/solvers/MULES/CMULESTemplates.C +++ b/src/finiteVolume/fvMatrices/solvers/MULES/CMULESTemplates.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2013 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2013-2014 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -107,6 +107,7 @@ void Foam::MULES::correct psiMax, psiMin, nLimiterIter ); + correct(rDeltaT, rho, psi, phi, phiCorr, Sp, Su); } @@ -172,6 +173,13 @@ void Foam::MULES::limiterCorr const fvMesh& mesh = psi.mesh(); + const dictionary& MULEScontrols = mesh.solverDict(psi.name()); + + scalar extremaCoeff + ( + MULEScontrols.lookupOrDefault("extremaCoeff", 0.0) + ); + const labelUList& owner = mesh.owner(); const labelUList& neighb = mesh.neighbour(); tmp tVsc = mesh.Vsc(); @@ -283,8 +291,8 @@ void Foam::MULES::limiterCorr } } - psiMaxn = min(psiMaxn, psiMax); - psiMinn = max(psiMinn, psiMin); + psiMaxn = min(psiMaxn + extremaCoeff*(psiMax - psiMin), psiMax); + psiMinn = max(psiMinn - extremaCoeff*(psiMax - psiMin), psiMin); // scalar smooth = 0.5; // psiMaxn = min((1.0 - smooth)*psiIf + smooth*psiMaxn, psiMax);