Loading [MathJax]/extensions/TeX/AMSsymbols.js
 Reference documentation for deal.II version 9.6.0
\(\newcommand{\dealvcentcolon}{\mathrel{\mathop{:}}}\) \(\newcommand{\dealcoloneq}{\dealvcentcolon\mathrel{\mkern-1.2mu}=}\) \(\newcommand{\jump}[1]{\left[\!\left[ #1 \right]\!\right]}\) \(\newcommand{\average}[1]{\left\{\!\left\{ #1 \right\}\!\right\}}\)
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages Concepts
TimeStepping Namespace Reference

Classes

class  EmbeddedExplicitRungeKutta
 
class  ExplicitRungeKutta
 
class  ImplicitRungeKutta
 
class  LowStorageRungeKutta
 
class  RungeKutta
 
class  TimeStepping
 

Enumerations

enum  runge_kutta_method {
  FORWARD_EULER , RK_THIRD_ORDER , SSP_THIRD_ORDER , RK_CLASSIC_FOURTH_ORDER ,
  LOW_STORAGE_RK_STAGE3_ORDER3 , LOW_STORAGE_RK_STAGE5_ORDER4 , LOW_STORAGE_RK_STAGE7_ORDER4 , LOW_STORAGE_RK_STAGE9_ORDER5 ,
  BACKWARD_EULER , IMPLICIT_MIDPOINT , CRANK_NICOLSON , SDIRK_TWO_STAGES ,
  HEUN_EULER , BOGACKI_SHAMPINE , DOPRI , FEHLBERG ,
  CASH_KARP , invalid
}
 
enum  embedded_runge_kutta_time_step { DELTA_T , MIN_DELTA_T , MAX_DELTA_T }
 

Detailed Description

Namespace containing the time stepping methods.

Enumeration Type Documentation

◆ runge_kutta_method

The following Runge-Kutta methods are available:

  • Explicit methods (see ExplicitRungeKutta::initialize):
    • FORWARD_EULER (first order)
    • RK_THIRD_ORDER (third order Runge-Kutta)
    • SSP_THIRD_ORDER (third order SSP Runge-Kutta)
    • RK_CLASSIC_FOURTH_ORDER (classical fourth order Runge-Kutta)
  • Low-storage (explicit) Runge-Kutta methods
    • LOW_STORAGE_RK_STAGE3_ORDER3 (Three stages and third order)
    • LOW_STORAGE_RK_STAGE5_ORDER4 (Five stages and fourth order)
    • LOW_STORAGE_RK_STAGE7_ORDER4 (Seven stages and fourth order)
    • LOW_STORAGE_RK_STAGE9_ORDER5 (Nine stages and fifth order)
  • Implicit methods (see ImplicitRungeKutta::initialize):
    • BACKWARD_EULER (first order)
    • IMPLICIT_MIDPOINT (second order)
    • CRANK_NICOLSON (second order)
    • SDIRK_TWO_STAGES (second order)
  • Embedded explicit methods (see EmbeddedExplicitRungeKutta::initialize):
    • HEUN_EULER (second order)
    • BOGACKI_SHAMPINE (third order)
    • DOPRI (Dormand-Prince method, fifth order; this is the method used by ode45 in MATLAB)
    • FEHLBERG (fifth order)
    • CASH_KARP (fifth order)
Enumerator
FORWARD_EULER 

Forward Euler method, first order.

RK_THIRD_ORDER 

Third order Runge-Kutta method.

SSP_THIRD_ORDER 

Third order Strong Stability Preserving (SSP) Runge-Kutta method (SSP time discretizations are also called Total Variation Diminishing (TVD) methods in the literature, see [102]).

RK_CLASSIC_FOURTH_ORDER 

Classical fourth order Runge-Kutta method.

LOW_STORAGE_RK_STAGE3_ORDER3 

Three-stage scheme of order three by Kennedy et al. [130]. Its stability region is significantly smaller than the higher order schemes, but due to three stages only, it is very competitive in terms of the work per stage.

LOW_STORAGE_RK_STAGE5_ORDER4 

Five-stage scheme of order four, defined in the paper by Kennedy et al. [130].

LOW_STORAGE_RK_STAGE7_ORDER4 

Seven-stage scheme of order four defined in the paper by Tselios and Simos [202].

LOW_STORAGE_RK_STAGE9_ORDER5 

Nine-stage scheme of order five defined in the paper by Kennedy et al. [130].

BACKWARD_EULER 

Backward Euler method, first order.

IMPLICIT_MIDPOINT 

Implicit midpoint method, second order.

CRANK_NICOLSON 

Crank-Nicolson method, second order.

SDIRK_TWO_STAGES 

Two stage SDIRK method (short for "singly diagonally implicit Runge-Kutta"), second order.

HEUN_EULER 

Heun's method (improved Euler's method), second order.

BOGACKI_SHAMPINE 

Bogacki–Shampine method, third-order.

DOPRI 

Dormand-Prince method, fifth order; this is the method used by ode45 in MATLAB.

FEHLBERG 

Fehlberg method, fifth order.

CASH_KARP 

Cash–Karp method, fifth order.

invalid 

Invalid.

Definition at line 59 of file time_stepping.h.

◆ embedded_runge_kutta_time_step

Reason for exiting evolve_one_time_step when using an embedded method: DELTA_T, MIN_DELTA_T, MAX_DELTA_T.

Enumerator
DELTA_T 

The time step is in the valid range.

MIN_DELTA_T 

The time step was increased to the minimum acceptable time step.

MAX_DELTA_T 

The time step was reduced to the maximum acceptable time step.

Definition at line 151 of file time_stepping.h.