CrankNicolsonDdtScheme: Add documentation
This commit is contained in:
@ -25,9 +25,37 @@ Class
|
|||||||
Foam::fv::CrankNicolsonDdtScheme
|
Foam::fv::CrankNicolsonDdtScheme
|
||||||
|
|
||||||
Description
|
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.
|
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
|
SourceFiles
|
||||||
CrankNicolsonDdtScheme.C
|
CrankNicolsonDdtScheme.C
|
||||||
|
|
||||||
@ -173,7 +201,7 @@ public:
|
|||||||
(
|
(
|
||||||
"CrankNicolsonDdtScheme(const fvMesh& mesh, Istream& is)",
|
"CrankNicolsonDdtScheme(const fvMesh& mesh, Istream& is)",
|
||||||
is
|
is
|
||||||
) << "coefficient = " << ocCoeff_
|
) << "Off-centreing coefficient = " << ocCoeff_
|
||||||
<< " should be >= 0 and <= 1"
|
<< " should be >= 0 and <= 1"
|
||||||
<< exit(FatalIOError);
|
<< exit(FatalIOError);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user