Discontinuous Galerkin Library
#include "dg/algorithm.h"
dg::ConvertsToMultistepTableau< real_type > Struct Template Reference

Convert identifiers to their corresponding dg::MultistepTableau. More...

Public Types

using value_type = real_type
 

Public Member Functions

 ConvertsToMultistepTableau (MultistepTableau< real_type > tableau)
 
 ConvertsToMultistepTableau (enum tableau_identifier id)
 Create MultistepTableau from dg::tableau_identifier. More...
 
 ConvertsToMultistepTableau (std::string name)
 Create MultistepTableau from its name (very useful) More...
 
 ConvertsToMultistepTableau (const char *name)
 Create MultistepTableau from its name (very useful) More...
 
 operator MultistepTableau< real_type > () const
 

Detailed Description

template<class real_type>
struct dg::ConvertsToMultistepTableau< real_type >

Convert identifiers to their corresponding dg::MultistepTableau.

This is a helper class to simplify the interfaces of our timestepper functions and classes. The sole purpose is to implicitly convert either a MultistepTableau or one of the following identifiers to an instance of a MultistepTableau.

Explicit methods

We follow the naming convention as NAME-S-Q

  • NAME is the author or name of the method
  • S is the number of steps in the method
  • Q is the global order of the method
Name Identifier Description
AB-X-X dg::AB_X_X The family of schemes described in Linear multistep methods as Adams-Bashforth

\[ u^{n+1} = u^n + \Delta t\sum_{j=0}^{s-1} b_j f\left(t^n - j \Delta t, u^{n-j}\right) \]

Note
Possible stages are X: 1, 2,..., 5, the order of the method is the same as its stages
The Adams-Bashforth schemes implemented here need less storage but may have a smaller region of absolute stability than for example an extrapolated BDF method of the same order.
eBDF-X-X dg::eBDF_X_X The family of schemes described in Hundsdorfer, W., Ruuth, S. J., & Spiteri, R. J. (2003). Monotonicity-preserving linear multistep methods. SIAM Journal on Numerical Analysis, 41(2), 605-623 as extrapolated BDF where it is found to be TVB (total variation bound). The schemes also appear as Minimal Projecting scheme described in Alfeld, P., Math. Comput. 33.148 1195-1212 (1979)
Note
Possible stages are X: 1 (C=1), 2 (C=0.63), 3 (C=0.39), 4 (C=0.22), 5 (C=0.09), 6 with the order the same as the number of stages
TVB-X-X dg::TVB_X_X The family of schemes described in S.J. Ruuth and W. Hundsdorfer, High-order linear multistep methods with general monotonicity and boundedness properties, Journal of Computational Physics, Volume 209, Issue 1, 2005 as Total variation Bound. These schemes have larger allowable step sizes than the eBDF family,
Note
Possible values for X are 1 (C=1), 2 (C=0.5), 3 (C=0.54), 4 (C=0.46), 5 (C=0.38) 6 (C=0.33). We highlight that TVB-3-3 has 38% larger allowable stepsize than eBDF-3-3 and TVB-4-4 has 109% larger stepsize than eBDF-4-4 (to ensure the TVB property, not stability).
SSP-X-Y dg::SSP_X_Y The family of schemes described in Gottlieb, S. On high order strong stability preserving runge-kutta and multi step time discretizations. J Sci Comput 25, 105–128 (2005) as Strong Stability preserving. We implement the lowest order schemes for each stage and disregard the remaining schemes in the paper since their CFL conditions are worse than the TVB scheme of the same order.
Note
Possible values for X-Y : 1-1 (C=1), 2-2 (C=0.5), 3-2 (C=0.5), 4-2 (C=0.66), 5-3 (C=0.5), 6-3 (C=0.567).
These schemes are noteworthy because the coefficients b_i are all positive except for the 2-2 method and the "4-2" and "6-3" methods allow slightly larger allowable stepsize but increased storage requirements than TVB of same order (2 and 3).
Note
Total variation bound (TVB) means \( || v^n|| \leq M ||v^0||\) where the norm signifies the total variation semi-norm. Total variation diminishing (TVD) means M=1, and strong stability preserving (SSP) is the same as TVD, TVB schemes converge to the correct entropy solutions of hyperbolic conservation laws
the CFL coefficient C is given relative to the forward Euler method: \( \Delta t < C \Delta t_{FE}\).
Attention
The coefficient C is the one that ensures the TVD property of the scheme and is not directly related to the stability region of the scheme Implicit methods

We follow the naming convention as NAME-S-Q

  • NAME is the author or name of the method
  • S is the number of steps in the method
  • Q is the global order of the method
Name Identifier Description
BDF-X-X dg::BDF_X_X The coefficients for backward differences can be found at https://en.wikipedia.org/wiki/Backward_differentiation_formula
Note
Possible values for X: 1, 2, 3, 4, 5, 6
A BDF scheme is simply constructed by discretizing the time derivative with a n-th order backward difference formula and evaluating the right hand side at the new timestep.
Methods with s>6 are not zero-stable so they cannot be used

Implicit-Explicit methods

We follow the naming convention as NAME-S-Q

  • NAME is the author or name of the method
  • S is the number of steps in the method
  • Q is the global order of the method
Name Identifier Description
ImEx-Euler-1-1 dg::IMEX_EULER_1_1 Explicit Euler combined with Implicit Euler
Euler dg::IMEX_EULER_1_1 For convenience
ImEx-Koto-2-2 dg::IMEX_KOTO_2_2 Koto T. Front. Math. China 2009, 4(1): 113-129 A stabilized 2nd order scheme with a large region of stability
ImEx-Adams-X-X dg::IMEX_ADAMS_X_X Hundsdorfer and Ruuth, Journal of Computational Physics 225 (2007)
Note
Possible values for X: 2 (C=0.44), 3 (C=0.16)
ImEx-BDF-X-X dg::IMEX_BDF_X_X The family of schems described in Hundsdorfer and Ruuth, Journal of Computational Physics 225 (2007)
The implicit part is a normal BDF scheme https://en.wikipedia.org/wiki/Backward_differentiation_formula while the explicit part equals the Minimal Projecting method by Alfeld, P., Math. Comput. 33.148 1195-1212 (1979) or extrapolated BDF in Hundsdorfer, W., Ruuth, S. J., & Spiteri, R. J. (2003). Monotonicity-preserving linear multistep methods. SIAM Journal on Numerical Analysis, 41(2), 605-623
Note
Possible values for X: 1 (C=1.00), 2 (C=0.63), 3 (C=0.39), 4 (C=0.22), 5 (C=0.09), 6
Note that X=3 is identical to the "Karniadakis" scheme
Karniadakis dg::IMEX_BDF_3_3 The ImEx-BDF-3-3 scheme is identical to the widely used "Karniadakis" scheme Karniadakis, et al. J. Comput. Phys. 97 (1991)
ImEx-TVB-X-X dg::IMEX_TVB_X_X The family of schems described in < Hundsdorfer and Ruuth, Journal of Computational Physics 225 (2007)
The explicit part is a TVB scheme while the implicit part is optimized to maximize damping of high wavelength
Note
Possible values for X: 3 (C=0.54), 4 (C=0.46), 5 (C=0.38)
Note
the CFL coefficient C is given relative to the forward Euler method: \( \Delta t < C \Delta t_{FE}\).
Attention
The coefficient C is the one that ensures the TVD property of the scheme and is not directly related to the stability region of the scheme
Parameters
real_typeThe type of the coefficients in the MultistepTableau

Member Typedef Documentation

◆ value_type

template<class real_type >
using dg::ConvertsToMultistepTableau< real_type >::value_type = real_type

Constructor & Destructor Documentation

◆ ConvertsToMultistepTableau() [1/4]

template<class real_type >
dg::ConvertsToMultistepTableau< real_type >::ConvertsToMultistepTableau ( MultistepTableau< real_type >  tableau)
inline

Of course a MultistepTableau converts to a MultistepTableau Useful if you constructed your very own coefficients

◆ ConvertsToMultistepTableau() [2/4]

template<class real_type >
dg::ConvertsToMultistepTableau< real_type >::ConvertsToMultistepTableau ( enum tableau_identifier  id)
inline

Create MultistepTableau from dg::tableau_identifier.

The use of this constructor might be a bit awkward because you'll have to write all caps.

Parameters
idthe identifier, for example dg::eBDF_3_3

◆ ConvertsToMultistepTableau() [3/4]

template<class real_type >
dg::ConvertsToMultistepTableau< real_type >::ConvertsToMultistepTableau ( std::string  name)
inline

Create MultistepTableau from its name (very useful)

Explicit methods

We follow the naming convention as NAME-S-Q

  • NAME is the author or name of the method
  • S is the number of steps in the method
  • Q is the global order of the method
Name Identifier Description
AB-X-X dg::AB_X_X The family of schemes described in Linear multistep methods as Adams-Bashforth

\[ u^{n+1} = u^n + \Delta t\sum_{j=0}^{s-1} b_j f\left(t^n - j \Delta t, u^{n-j}\right) \]

Note
Possible stages are X: 1, 2,..., 5, the order of the method is the same as its stages
The Adams-Bashforth schemes implemented here need less storage but may have a smaller region of absolute stability than for example an extrapolated BDF method of the same order.
eBDF-X-X dg::eBDF_X_X The family of schemes described in Hundsdorfer, W., Ruuth, S. J., & Spiteri, R. J. (2003). Monotonicity-preserving linear multistep methods. SIAM Journal on Numerical Analysis, 41(2), 605-623 as extrapolated BDF where it is found to be TVB (total variation bound). The schemes also appear as Minimal Projecting scheme described in Alfeld, P., Math. Comput. 33.148 1195-1212 (1979)
Note
Possible stages are X: 1 (C=1), 2 (C=0.63), 3 (C=0.39), 4 (C=0.22), 5 (C=0.09), 6 with the order the same as the number of stages
TVB-X-X dg::TVB_X_X The family of schemes described in S.J. Ruuth and W. Hundsdorfer, High-order linear multistep methods with general monotonicity and boundedness properties, Journal of Computational Physics, Volume 209, Issue 1, 2005 as Total variation Bound. These schemes have larger allowable step sizes than the eBDF family,
Note
Possible values for X are 1 (C=1), 2 (C=0.5), 3 (C=0.54), 4 (C=0.46), 5 (C=0.38) 6 (C=0.33). We highlight that TVB-3-3 has 38% larger allowable stepsize than eBDF-3-3 and TVB-4-4 has 109% larger stepsize than eBDF-4-4 (to ensure the TVB property, not stability).
SSP-X-Y dg::SSP_X_Y The family of schemes described in Gottlieb, S. On high order strong stability preserving runge-kutta and multi step time discretizations. J Sci Comput 25, 105–128 (2005) as Strong Stability preserving. We implement the lowest order schemes for each stage and disregard the remaining schemes in the paper since their CFL conditions are worse than the TVB scheme of the same order.
Note
Possible values for X-Y : 1-1 (C=1), 2-2 (C=0.5), 3-2 (C=0.5), 4-2 (C=0.66), 5-3 (C=0.5), 6-3 (C=0.567).
These schemes are noteworthy because the coefficients b_i are all positive except for the 2-2 method and the "4-2" and "6-3" methods allow slightly larger allowable stepsize but increased storage requirements than TVB of same order (2 and 3).
Note
Total variation bound (TVB) means \( || v^n|| \leq M ||v^0||\) where the norm signifies the total variation semi-norm. Total variation diminishing (TVD) means M=1, and strong stability preserving (SSP) is the same as TVD, TVB schemes converge to the correct entropy solutions of hyperbolic conservation laws
the CFL coefficient C is given relative to the forward Euler method: \( \Delta t < C \Delta t_{FE}\).
Attention
The coefficient C is the one that ensures the TVD property of the scheme and is not directly related to the stability region of the scheme Implicit methods

We follow the naming convention as NAME-S-Q

  • NAME is the author or name of the method
  • S is the number of steps in the method
  • Q is the global order of the method
Name Identifier Description
BDF-X-X dg::BDF_X_X The coefficients for backward differences can be found at https://en.wikipedia.org/wiki/Backward_differentiation_formula
Note
Possible values for X: 1, 2, 3, 4, 5, 6
A BDF scheme is simply constructed by discretizing the time derivative with a n-th order backward difference formula and evaluating the right hand side at the new timestep.
Methods with s>6 are not zero-stable so they cannot be used

Implicit-Explicit methods

We follow the naming convention as NAME-S-Q

  • NAME is the author or name of the method
  • S is the number of steps in the method
  • Q is the global order of the method
Name Identifier Description
ImEx-Euler-1-1 dg::IMEX_EULER_1_1 Explicit Euler combined with Implicit Euler
Euler dg::IMEX_EULER_1_1 For convenience
ImEx-Koto-2-2 dg::IMEX_KOTO_2_2 Koto T. Front. Math. China 2009, 4(1): 113-129 A stabilized 2nd order scheme with a large region of stability
ImEx-Adams-X-X dg::IMEX_ADAMS_X_X Hundsdorfer and Ruuth, Journal of Computational Physics 225 (2007)
Note
Possible values for X: 2 (C=0.44), 3 (C=0.16)
ImEx-BDF-X-X dg::IMEX_BDF_X_X The family of schems described in Hundsdorfer and Ruuth, Journal of Computational Physics 225 (2007)
The implicit part is a normal BDF scheme https://en.wikipedia.org/wiki/Backward_differentiation_formula while the explicit part equals the Minimal Projecting method by Alfeld, P., Math. Comput. 33.148 1195-1212 (1979) or extrapolated BDF in Hundsdorfer, W., Ruuth, S. J., & Spiteri, R. J. (2003). Monotonicity-preserving linear multistep methods. SIAM Journal on Numerical Analysis, 41(2), 605-623
Note
Possible values for X: 1 (C=1.00), 2 (C=0.63), 3 (C=0.39), 4 (C=0.22), 5 (C=0.09), 6
Note that X=3 is identical to the "Karniadakis" scheme
Karniadakis dg::IMEX_BDF_3_3 The ImEx-BDF-3-3 scheme is identical to the widely used "Karniadakis" scheme Karniadakis, et al. J. Comput. Phys. 97 (1991)
ImEx-TVB-X-X dg::IMEX_TVB_X_X The family of schems described in < Hundsdorfer and Ruuth, Journal of Computational Physics 225 (2007)
The explicit part is a TVB scheme while the implicit part is optimized to maximize damping of high wavelength
Note
Possible values for X: 3 (C=0.54), 4 (C=0.46), 5 (C=0.38)
Note
the CFL coefficient C is given relative to the forward Euler method: \( \Delta t < C \Delta t_{FE}\).
Attention
The coefficient C is the one that ensures the TVD property of the scheme and is not directly related to the stability region of the scheme
Parameters
nameThe name of the tableau as stated in the Name column above, as a string, for example "eBDF-3-3"

◆ ConvertsToMultistepTableau() [4/4]

template<class real_type >
dg::ConvertsToMultistepTableau< real_type >::ConvertsToMultistepTableau ( const char *  name)
inline

Create MultistepTableau from its name (very useful)

Explicit methods

We follow the naming convention as NAME-S-Q

  • NAME is the author or name of the method
  • S is the number of steps in the method
  • Q is the global order of the method
Name Identifier Description
AB-X-X dg::AB_X_X The family of schemes described in Linear multistep methods as Adams-Bashforth

\[ u^{n+1} = u^n + \Delta t\sum_{j=0}^{s-1} b_j f\left(t^n - j \Delta t, u^{n-j}\right) \]

Note
Possible stages are X: 1, 2,..., 5, the order of the method is the same as its stages
The Adams-Bashforth schemes implemented here need less storage but may have a smaller region of absolute stability than for example an extrapolated BDF method of the same order.
eBDF-X-X dg::eBDF_X_X The family of schemes described in Hundsdorfer, W., Ruuth, S. J., & Spiteri, R. J. (2003). Monotonicity-preserving linear multistep methods. SIAM Journal on Numerical Analysis, 41(2), 605-623 as extrapolated BDF where it is found to be TVB (total variation bound). The schemes also appear as Minimal Projecting scheme described in Alfeld, P., Math. Comput. 33.148 1195-1212 (1979)
Note
Possible stages are X: 1 (C=1), 2 (C=0.63), 3 (C=0.39), 4 (C=0.22), 5 (C=0.09), 6 with the order the same as the number of stages
TVB-X-X dg::TVB_X_X The family of schemes described in S.J. Ruuth and W. Hundsdorfer, High-order linear multistep methods with general monotonicity and boundedness properties, Journal of Computational Physics, Volume 209, Issue 1, 2005 as Total variation Bound. These schemes have larger allowable step sizes than the eBDF family,
Note
Possible values for X are 1 (C=1), 2 (C=0.5), 3 (C=0.54), 4 (C=0.46), 5 (C=0.38) 6 (C=0.33). We highlight that TVB-3-3 has 38% larger allowable stepsize than eBDF-3-3 and TVB-4-4 has 109% larger stepsize than eBDF-4-4 (to ensure the TVB property, not stability).
SSP-X-Y dg::SSP_X_Y The family of schemes described in Gottlieb, S. On high order strong stability preserving runge-kutta and multi step time discretizations. J Sci Comput 25, 105–128 (2005) as Strong Stability preserving. We implement the lowest order schemes for each stage and disregard the remaining schemes in the paper since their CFL conditions are worse than the TVB scheme of the same order.
Note
Possible values for X-Y : 1-1 (C=1), 2-2 (C=0.5), 3-2 (C=0.5), 4-2 (C=0.66), 5-3 (C=0.5), 6-3 (C=0.567).
These schemes are noteworthy because the coefficients b_i are all positive except for the 2-2 method and the "4-2" and "6-3" methods allow slightly larger allowable stepsize but increased storage requirements than TVB of same order (2 and 3).
Note
Total variation bound (TVB) means \( || v^n|| \leq M ||v^0||\) where the norm signifies the total variation semi-norm. Total variation diminishing (TVD) means M=1, and strong stability preserving (SSP) is the same as TVD, TVB schemes converge to the correct entropy solutions of hyperbolic conservation laws
the CFL coefficient C is given relative to the forward Euler method: \( \Delta t < C \Delta t_{FE}\).
Attention
The coefficient C is the one that ensures the TVD property of the scheme and is not directly related to the stability region of the scheme Implicit methods

We follow the naming convention as NAME-S-Q

  • NAME is the author or name of the method
  • S is the number of steps in the method
  • Q is the global order of the method
Name Identifier Description
BDF-X-X dg::BDF_X_X The coefficients for backward differences can be found at https://en.wikipedia.org/wiki/Backward_differentiation_formula
Note
Possible values for X: 1, 2, 3, 4, 5, 6
A BDF scheme is simply constructed by discretizing the time derivative with a n-th order backward difference formula and evaluating the right hand side at the new timestep.
Methods with s>6 are not zero-stable so they cannot be used

Implicit-Explicit methods

We follow the naming convention as NAME-S-Q

  • NAME is the author or name of the method
  • S is the number of steps in the method
  • Q is the global order of the method
Name Identifier Description
ImEx-Euler-1-1 dg::IMEX_EULER_1_1 Explicit Euler combined with Implicit Euler
Euler dg::IMEX_EULER_1_1 For convenience
ImEx-Koto-2-2 dg::IMEX_KOTO_2_2 Koto T. Front. Math. China 2009, 4(1): 113-129 A stabilized 2nd order scheme with a large region of stability
ImEx-Adams-X-X dg::IMEX_ADAMS_X_X Hundsdorfer and Ruuth, Journal of Computational Physics 225 (2007)
Note
Possible values for X: 2 (C=0.44), 3 (C=0.16)
ImEx-BDF-X-X dg::IMEX_BDF_X_X The family of schems described in Hundsdorfer and Ruuth, Journal of Computational Physics 225 (2007)
The implicit part is a normal BDF scheme https://en.wikipedia.org/wiki/Backward_differentiation_formula while the explicit part equals the Minimal Projecting method by Alfeld, P., Math. Comput. 33.148 1195-1212 (1979) or extrapolated BDF in Hundsdorfer, W., Ruuth, S. J., & Spiteri, R. J. (2003). Monotonicity-preserving linear multistep methods. SIAM Journal on Numerical Analysis, 41(2), 605-623
Note
Possible values for X: 1 (C=1.00), 2 (C=0.63), 3 (C=0.39), 4 (C=0.22), 5 (C=0.09), 6
Note that X=3 is identical to the "Karniadakis" scheme
Karniadakis dg::IMEX_BDF_3_3 The ImEx-BDF-3-3 scheme is identical to the widely used "Karniadakis" scheme Karniadakis, et al. J. Comput. Phys. 97 (1991)
ImEx-TVB-X-X dg::IMEX_TVB_X_X The family of schems described in < Hundsdorfer and Ruuth, Journal of Computational Physics 225 (2007)
The explicit part is a TVB scheme while the implicit part is optimized to maximize damping of high wavelength
Note
Possible values for X: 3 (C=0.54), 4 (C=0.46), 5 (C=0.38)
Note
the CFL coefficient C is given relative to the forward Euler method: \( \Delta t < C \Delta t_{FE}\).
Attention
The coefficient C is the one that ensures the TVD property of the scheme and is not directly related to the stability region of the scheme
Parameters
nameThe name of the tableau as stated in the Name column above, as a string, for example "eBDF-3-3"

Member Function Documentation

◆ operator MultistepTableau< real_type >()

template<class real_type >
dg::ConvertsToMultistepTableau< real_type >::operator MultistepTableau< real_type > ( ) const
inline

Convert to MultistepTableau

which means an object can be directly assigned to a MultistepTableau


The documentation for this struct was generated from the following file: