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
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
\\ / O peration |
|
\\ / O peration |
|
||||||
\\ / A nd | Copyright (C) 2013 OpenFOAM Foundation
|
\\ / A nd | Copyright (C) 2013-2014 OpenFOAM Foundation
|
||||||
\\/ M anipulation |
|
\\/ M anipulation |
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
License
|
License
|
||||||
@ -107,6 +107,7 @@ void Foam::MULES::correct
|
|||||||
psiMax, psiMin,
|
psiMax, psiMin,
|
||||||
nLimiterIter
|
nLimiterIter
|
||||||
);
|
);
|
||||||
|
|
||||||
correct(rDeltaT, rho, psi, phi, phiCorr, Sp, Su);
|
correct(rDeltaT, rho, psi, phi, phiCorr, Sp, Su);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -172,6 +173,13 @@ void Foam::MULES::limiterCorr
|
|||||||
|
|
||||||
const fvMesh& mesh = psi.mesh();
|
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& owner = mesh.owner();
|
||||||
const labelUList& neighb = mesh.neighbour();
|
const labelUList& neighb = mesh.neighbour();
|
||||||
tmp<volScalarField::DimensionedInternalField> tVsc = mesh.Vsc();
|
tmp<volScalarField::DimensionedInternalField> tVsc = mesh.Vsc();
|
||||||
@ -283,8 +291,8 @@ void Foam::MULES::limiterCorr
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
psiMaxn = min(psiMaxn, psiMax);
|
psiMaxn = min(psiMaxn + extremaCoeff*(psiMax - psiMin), psiMax);
|
||||||
psiMinn = max(psiMinn, psiMin);
|
psiMinn = max(psiMinn - extremaCoeff*(psiMax - psiMin), psiMin);
|
||||||
|
|
||||||
// scalar smooth = 0.5;
|
// scalar smooth = 0.5;
|
||||||
// psiMaxn = min((1.0 - smooth)*psiIf + smooth*psiMaxn, psiMax);
|
// psiMaxn = min((1.0 - smooth)*psiIf + smooth*psiMaxn, psiMax);
|
||||||
|
|||||||
Reference in New Issue
Block a user