CrankNicolsonDdtScheme: Add documentation

This commit is contained in:
Henry
2015-02-22 15:25:32 +00:00
parent fa346ae539
commit 5ee73b2e9b

View File

@ -25,9 +25,37 @@ Class
Foam::fv::CrankNicolsonDdtScheme
Description
Second-oder CrankNicolson implicit ddt using the current and
Second-oder Crank-Nicolson implicit ddt using the current and
previous time-step fields as well as the previous time-step ddt.
The Crank-Nicolson scheme is often unstable for complex flows in complex
geometries and it is necessary to "off-centre" the scheme to stabilize it
while retaining greater temporal accuracy than the first-order
Euler-implicit scheme. Off-centering is specified via the mandatory
coefficient in the range [0,1] following the scheme name e.g.
\verbatim
ddtSchemes
{
default CrankNicolson 0.9;
}
\endverbatim
With a coefficient of 1 the scheme is fully centred and second-order,
with a coefficient of 0 the scheme is equivalent to Euler-implicit.
A coefficient of 0.9 has been found to be suitable for a range of cases for
which higher-order accuracy in time is needed and provides similar accuracy
and stability to the backward scheme. However, the backward scheme has
been found to be more robust and provides formal second-order accuracy in
time.
The advantage of the Crank-Nicolson scheme over backward is that only the
new and old-time values are needed, the additional terms relating to the
fluxes and sources are evaluated at the mid-point of the time-step which
provides the opportunity to limit the fluxes in such a way as to ensure
boundedness while maintaining greater accuracy in time compared to the
Euler-implicit scheme. This approach is now used with MULES in the
interFoam family of solvers. Boundedness cannot be guaranteed with the
backward scheme.
SourceFiles
CrankNicolsonDdtScheme.C
@ -173,7 +201,7 @@ public:
(
"CrankNicolsonDdtScheme(const fvMesh& mesh, Istream& is)",
is
) << "coefficient = " << ocCoeff_
) << "Off-centreing coefficient = " << ocCoeff_
<< " should be >= 0 and <= 1"
<< exit(FatalIOError);
}