mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
CMULES: Add optional control over support for extrema within bounds
This commit is contained in:
@ -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<scalar>("extremaCoeff", 0.0)
|
||||
);
|
||||
|
||||
const labelUList& owner = mesh.owner();
|
||||
const labelUList& neighb = mesh.neighbour();
|
||||
tmp<volScalarField::DimensionedInternalField> 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);
|
||||
|
||||
Reference in New Issue
Block a user