Reference documentation for deal.II version Git 11de1224af 2020-11-24 16:17:24 -0500
\(\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\}}\)
Classes | Enumerations
TimeStepping Namespace Reference

Classes

class  EmbeddedExplicitRungeKutta
 
class  ExplicitRungeKutta
 
class  ImplicitRungeKutta
 
class  RungeKutta
 
class  TimeStepping
 

Enumerations

enum  runge_kutta_method {
  FORWARD_EULER, RK_THIRD_ORDER, SSP_THIRD_ORDER, RK_CLASSIC_FOURTH_ORDER,
  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)
  • 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 [39]).

RK_CLASSIC_FOURTH_ORDER 

Classical fourth order Runge-Kutta method.

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 55 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 125 of file time_stepping.h.