PhyStar  v0.0.0 thu24
ode Namespace Reference

time scheme of ODEs, non-static(Class or Struct) version More...

Functions

template<classtype T_class, typename T_pfun , allowtype T_y, typename T_ext , realtype T_real>
T_y ExplictClassicRK4 (T_class *const c, const T_pfun pf, const T_y &y, T_ext &ext, const T_real &t, const T_real &dt)
 Explicit 4th-order classical Runge-Kutta Method (non-static version) More...
 
template<classtype T_class, typename T_pfun , allowtype T_y, typename T_ext , realtype T_real>
T_y & ExplictClassicRK4Self (T_class *const c, const T_pfun pf, T_y &y, T_ext &ext, const T_real &t, const T_real &dt)
 Explicit 4th-order classical Runge-Kutta Method (non-static version) self. More...
 
template<classtype T_class, typename T_pfun , allowtype T_y, typename T_ext , realtype T_real>
T_y ExplictKuttaRK3 (T_class *const c, const T_pfun pf, const T_y &y, T_ext &ext, const T_real &t, const T_real &dt)
 Explicit 3rd-order Kutta Method (non-static version) More...
 
template<classtype T_class, typename T_pfun , allowtype T_y, typename T_ext , realtype T_real>
T_y & ExplictKuttaRK3Self (T_class *const c, const T_pfun pf, T_y &y, T_ext &ext, const T_real &t, const T_real &dt)
 Explicit 3rd-order Kutta Method (non-static version) self. More...
 
template<classtype T_class, typename T_pfun , allowtype T_y, typename T_ext , realtype T_real>
T_y ExplictHeunRK3 (T_class *const c, const T_pfun pf, const T_y &y, T_ext &ext, const T_real &t, const T_real &dt)
 Explicit 3rd-order Heun Method (non-static version) More...
 
template<classtype T_class, typename T_pfun , allowtype T_y, typename T_ext , realtype T_real>
T_y & ExplictHeunRK3Self (T_class *const c, const T_pfun pf, T_y &y, T_ext &ext, const T_real &t, const T_real &dt)
 Explicit 3rd-order Heun Method (non-static version) self. More...
 
template<classtype T_class, typename T_pfun , allowtype T_y, typename T_ext , realtype T_real>
T_y ExplictRalstonRK3 (T_class *const c, const T_pfun pf, const T_y &y, T_ext &ext, const T_real &t, const T_real &dt)
 Explicit 3rd-order Ralston Method (non-static version) More...
 
template<classtype T_class, typename T_pfun , allowtype T_y, typename T_ext , realtype T_real>
T_y & ExplictRalstonRK3Self (T_class *const c, const T_pfun pf, T_y &y, T_ext &ext, const T_real &t, const T_real &dt)
 Explicit 3rd-order Ralson Method (non-static version) self. More...
 
template<classtype T_class, typename T_pfun , allowtype T_y, typename T_ext , realtype T_real>
T_y ExplictSSPRK3 (T_class *const c, const T_pfun pf, const T_y &y, T_ext &ext, const T_real &t, const T_real &dt)
 Explicit 3rd-order Strong Stability Preserving Runge-Kutta (SSPRK3) (non-static version) More...
 
template<classtype T_class, typename T_pfun , allowtype T_y, typename T_ext , realtype T_real>
T_y & ExplictSSPRK3Self (T_class *const c, const T_pfun pf, T_y &y, T_ext &ext, const T_real &t, const T_real &dt)
 Explicit 3rd-order Strong Stability Preserving Runge-Kutta (SSPRK3) (non-static version)self. More...
 
template<classtype T_class, typename T_pfun , allowtype T_y, typename T_ext , realtype T_real>
T_y ExplictGenericRK3 (T_class *const c, const T_pfun pf, const T_y &y, T_ext &ext, const T_real &t, const T_real &dt, const T_real a=0.5)
 Explicit 3rd-order Generic (non-static version) More...
 
template<classtype T_class, typename T_pfun , allowtype T_y, typename T_ext , realtype T_real>
T_y & ExplictGenericRK3Self (T_class *const c, const T_pfun pf, T_y &y, T_ext &ext, const T_real &t, const T_real &dt, const T_real a=0.5)
 Explicit 3rd-order Generic Method (non-static version) self. More...
 
template<classtype T_class, typename T_pfun , allowtype T_y, typename T_ext , realtype T_real>
T_y ExplictMidPointRK2 (T_class *const c, const T_pfun pf, const T_y &y, T_ext &ext, const T_real &t, const T_real &dt)
 Explicit 2nd-order midpoint Runge-Kutta (non-static version) More...
 
template<classtype T_class, typename T_pfun , allowtype T_y, typename T_ext , realtype T_real>
T_y & ExplictMidPointRK2Self (T_class *const c, const T_pfun pf, T_y &y, T_ext &ext, const T_real &t, const T_real &dt)
 Explicit 2nd-order Midpoint Method (non-static version) self. More...
 
template<classtype T_class, typename T_pfun , allowtype T_y, typename T_ext , realtype T_real>
T_y ExplictHeunRK2 (T_class *const c, const T_pfun pf, const T_y &y, T_ext &ext, const T_real &t, const T_real &dt)
 Explicit 2nd-order Heun Runge-Kutta (non-static version) More...
 
template<classtype T_class, typename T_pfun , allowtype T_y, typename T_ext , realtype T_real>
T_y & ExplictHeunRK2Self (T_class *const c, const T_pfun pf, T_y &y, T_ext &ext, const T_real &t, const T_real &dt)
 Explicit 2nd-order Heun Method (non-static version) self. More...
 
template<classtype T_class, typename T_pfun , allowtype T_y, typename T_ext , realtype T_real>
T_y ExplictGenericRK2 (T_class *const c, const T_pfun pf, const T_y &y, T_ext &ext, const T_real &t, const T_real &dt, const T_real a=0.5)
 Explicit 2nd-order generic Runge-Kutta (non-static version) More...
 
template<classtype T_class, typename T_pfun , allowtype T_y, typename T_ext , realtype T_real>
T_y & ExplictGenericRK2Self (T_class *const c, const T_pfun pf, T_y &y, T_ext &ext, const T_real &t, const T_real &dt, const T_real a=0.5)
 Explicit 2nd-order Generic Method (non-static version) self. More...
 
template<classtype T_class, typename T_pfun , allowtype T_y, typename T_ext , realtype T_real>
T_y ExplictEuler (T_class *const c, const T_pfun pf, const T_y &y, T_ext &ext, const T_real &t, const T_real &dt)
 Explicit Euler (non-static version) More...
 
template<classtype T_class, typename T_pfun , allowtype T_y, typename T_ext , realtype T_real>
T_y & ExplictEulerSelf (T_class *const c, const T_pfun pf, T_y &y, T_ext &ext, const T_real &t, const T_real &dt)
 Explicit Euler Method (non-static version) self. More...
 
template<classtype T_class, typename T_pfun , allowtype T_y, typename T_ext , realtype T_real>
T_y ExplictAB2 (T_class *const c, const T_pfun pf, const T_y &y1, const T_y &y0, T_ext &ext, const T_real &t, const T_real &dt)
 Explicit 2nd-order Adams-Bashforth (non-static version) More...
 
template<classtype T_class, typename T_pfun , allowtype T_y, typename T_ext , realtype T_real>
T_y ExplictAB2ydy (T_class *const c, const T_pfun pf, T_y &y1, T_y &dy0, T_ext &ext, const T_real &t, const T_real &dt)
 Explicit 2nd-order Adams-Bashforth (non-static version), input y^n and dy^{n-1}... More...
 
template<classtype T_class, typename T_pfun , allowtype T_y, typename T_ext , realtype T_real>
T_y & ExplictAB2ydySelf (T_class *const c, const T_pfun pf, T_y &y1, T_y &dy0, T_ext &ext, const T_real &t, const T_real &dt)
 Explicit 2nd-order Adams-Bashforth (non-static version),self, input y^n and dy^{n-1}... More...
 
template<classtype T_class, typename T_pfun , allowtype T_y, typename T_ext , realtype T_real>
T_y ExplictAB3 (T_class *const c, const T_pfun pf, const T_y &y2, const T_y &y1, const T_y &y0, T_ext &ext, const T_real &t, const T_real &dt)
 Explicit 3rd-order Adams-Bashforth (non-static version) More...
 
template<classtype T_class, typename T_pfun , allowtype T_y, typename T_ext , realtype T_real>
T_y ExplictAB3ydy (T_class *const c, const T_pfun pf, T_y &y2, T_y &dy1, T_y &dy0, T_ext &ext, const T_real &t, const T_real &dt)
 Explicit 3rd-order Adams-Bashforth (non-static version), input y^n and dy^{n-1}... More...
 
template<classtype T_class, typename T_pfun , allowtype T_y, typename T_ext , realtype T_real>
T_y & ExplictAB3ydySelf (T_class *const c, const T_pfun pf, T_y &y2, T_y &dy1, T_y &dy0, T_ext &ext, const T_real &t, const T_real &dt)
 Explicit 3rd-order Adams-Bashforth (non-static version),self, input y^n and dy^{n-1}... More...
 
template<classtype T_class, typename T_pfun , allowtype T_y, typename T_ext , realtype T_real>
T_y ExplictAB4 (T_class *const c, const T_pfun pf, const T_y &y3, const T_y &y2, const T_y &y1, const T_y &y0, T_ext &ext, const T_real &t, const T_real &dt)
 Explicit 4th-order Adams-Bashforth (non-static version) More...
 
template<classtype T_class, typename T_pfun , allowtype T_y, typename T_ext , realtype T_real>
T_y ExplictAB4ydy (T_class *const c, const T_pfun pf, const T_y &y3, T_y &dy2, T_y &dy1, T_y &dy0, T_ext &ext, const T_real &t, const T_real &dt)
 Explicit 4th-order Adams-Bashforth (non-static version), input y^n and dy^{n-1}... More...
 
template<classtype T_class, typename T_pfun , allowtype T_y, typename T_ext , realtype T_real>
T_y & ExplictAB4ydySelf (T_class *const c, const T_pfun pf, T_y &y3, T_y &dy2, T_y &dy1, T_y &dy0, T_ext &ext, const T_real &t, const T_real &dt)
 Explicit 4th-order Adams-Bashforth (non-static version),self, input y^n and dy^{n-1}... More...
 
template<typename T_pfun , allowtype T_y, typename T_ext , realtype T_real>
T_y ExplictClassicRK4 (const T_pfun pf, const T_y &y, T_ext &ext, const T_real &t, const T_real &dt)
 Explicit 4th-order classical Runge-Kutta Method (static version) More...
 
template<typename T_pfun , allowtype T_y, typename T_ext , realtype T_real>
T_y & ExplictClassicRK4Self (const T_pfun pf, T_y &y, T_ext &ext, const T_real &t, const T_real &dt)
 Explicit 4th-order classical Runge-Kutta Method (static version) self. More...
 
template<typename T_pfun , allowtype T_y, typename T_ext , realtype T_real>
T_y ExplictKuttaRK3 (const T_pfun pf, const T_y &y, T_ext &ext, const T_real &t, const T_real &dt)
 Explicit 3rd-order Kutta Method (static version) More...
 
template<typename T_pfun , allowtype T_y, typename T_ext , realtype T_real>
T_y & ExplictKuttaRK3Self (const T_pfun pf, T_y &y, T_ext &ext, const T_real &t, const T_real &dt)
 Explicit 3rd-order Kutta Method (static version) self. More...
 
template<typename T_pfun , allowtype T_y, typename T_ext , realtype T_real>
T_y ExplictHeunRK3 (const T_pfun pf, const T_y &y, T_ext &ext, const T_real &t, const T_real &dt)
 Explicit 3rd-order Heun Method (static version) self. More...
 
template<typename T_pfun , allowtype T_y, typename T_ext , realtype T_real>
T_y & ExplictHeunRK3Self (const T_pfun pf, T_y &y, T_ext &ext, const T_real &t, const T_real &dt)
 Explicit 3rd-order Ralston Method (static version) More...
 
template<typename T_pfun , allowtype T_y, typename T_ext , realtype T_real>
T_y ExplictRalstonRK3 (const T_pfun pf, const T_y &y, T_ext &ext, const T_real &t, const T_real &dt)
 Explicit 3rd-order Ralson Method (static version) More...
 
template<typename T_pfun , allowtype T_y, typename T_ext , realtype T_real>
T_y & ExplictRalstonRK3Self (const T_pfun pf, T_y &y, T_ext &ext, const T_real &t, const T_real &dt)
 Explicit 3rd-order Ralson Method (static version) self. More...
 
template<typename T_pfun , allowtype T_y, typename T_ext , realtype T_real>
T_y ExplictSSPRK3 (const T_pfun pf, const T_y &y, T_ext &ext, const T_real &t, const T_real &dt)
 Explicit 3rd-order Strong Stability Preserving Runge-Kutta (SSPRK3) (static version) More...
 
template<typename T_pfun , allowtype T_y, typename T_ext , realtype T_real>
T_y & ExplictSSPRK3Self (const T_pfun pf, T_y &y, T_ext &ext, const T_real &t, const T_real &dt)
 Explicit 3rd-order Strong Stability Preserving Runge-Kutta (SSPRK3) (static version)self. More...
 
template<typename T_pfun , allowtype T_y, typename T_ext , realtype T_real>
T_y ExplictGenericRK3 (const T_pfun pf, const T_y &y, T_ext &ext, const T_real &t, const T_real &dt, const T_real a=0.5)
 Explicit 3rd-order Generic (static version) More...
 
template<typename T_pfun , allowtype T_y, typename T_ext , realtype T_real>
T_y & ExplictGenericRK3Self (const T_pfun pf, T_y &y, T_ext &ext, const T_real &t, const T_real &dt, const T_real a=0.5)
 Explicit 3rd-order Generic Method (static version) self. More...
 
template<typename T_pfun , allowtype T_y, typename T_ext , realtype T_real>
T_y ExplictMidPointRK2 (const T_pfun pf, const T_y &y, T_ext &ext, const T_real &t, const T_real &dt)
 Explicit 2nd-order midpoint Runge-Kutta (static version) More...
 
template<typename T_pfun , allowtype T_y, typename T_ext , realtype T_real>
T_y & ExplictGenericRK3Self (const T_pfun pf, T_y &y, T_ext &ext, const T_real &t, const T_real &dt)
 Explicit 2nd-order Midpoint Method (static version) self. More...
 
template<typename T_pfun , allowtype T_y, typename T_ext , realtype T_real>
T_y ExplictHeunRK2 (const T_pfun pf, const T_y &y, T_ext &ext, const T_real &t, const T_real &dt)
 Explicit 2nd-order Heun Runge-Kutta (static version) More...
 
template<typename T_pfun , allowtype T_y, typename T_ext , realtype T_real>
T_y & ExplictHeunRK2Self (const T_pfun pf, T_y &y, T_ext &ext, const T_real &t, const T_real &dt)
 Explicit 2nd-order Heun Method (static version) self. More...
 
template<typename T_pfun , allowtype T_y, typename T_ext , realtype T_real>
T_y ExplictGenericRK2 (const T_pfun pf, const T_y &y, T_ext &ext, const T_real &t, const T_real &dt, const T_real a=0.5)
 Explicit 2nd-order generic Runge-Kutta (static version) More...
 
template<typename T_pfun , allowtype T_y, typename T_ext , realtype T_real>
T_y & ExplictGenericRK2Self (const T_pfun pf, T_y &y, T_ext &ext, const T_real &t, const T_real &dt, const T_real a=0.5)
 Explicit 2nd-order Generic Method (static version) self. More...
 
template<typename T_pfun , allowtype T_y, typename T_ext , realtype T_real>
T_y ExplictEuler (const T_pfun pf, const T_y &y, T_ext &ext, const T_real &t, const T_real &dt)
 Explicit Euler (static version) More...
 
template<typename T_pfun , allowtype T_y, typename T_ext , realtype T_real>
T_y & ExplictEulerSelf (const T_pfun pf, T_y &y, T_ext &ext, const T_real &t, const T_real &dt)
 Explicit Euler Method (static version) self. More...
 
template<typename T_pfun , allowtype T_y, typename T_ext , realtype T_real>
T_y ExplictAB2 (const T_pfun pf, const T_y &y1, const T_y &y0, T_ext &ext, const T_real &t, const T_real &dt)
 Explicit 2nd-order Adams-Bashforth (static version) More...
 
template<typename T_pfun , allowtype T_y, typename T_ext , realtype T_real>
T_y ExplictAB2ydy (const T_pfun pf, T_y &y1, T_y &dy0, T_ext &ext, const T_real &t, const T_real &dt)
 Explicit 2nd-order Adams-Bashforth (static version), input y^n and dy^{n-1}... More...
 
template<typename T_pfun , allowtype T_y, typename T_ext , realtype T_real>
T_y & ExplictAB2ydySelf (const T_pfun pf, T_y &y1, T_y &dy0, T_ext &ext, const T_real &t, const T_real &dt)
 Explicit 2nd-order Adams-Bashforth (static version),self, input y^n and dy^{n-1}... More...
 
template<typename T_pfun , allowtype T_y, typename T_ext , realtype T_real>
T_y ExplictAB3 (const T_pfun pf, const T_y &y2, const T_y &y1, const T_y &y0, T_ext &ext, const T_real &t, const T_real &dt)
 Explicit 3rd-order Adams-Bashforth (static version) More...
 
template<typename T_pfun , allowtype T_y, typename T_ext , realtype T_real>
T_y ExplictAB3ydy (const T_pfun pf, T_y &y2, T_y &dy1, T_y &dy0, T_ext &ext, const T_real &t, const T_real &dt)
 Explicit 3rd-order Adams-Bashforth (static version), input y^n and dy^{n-1}... More...
 
template<typename T_pfun , allowtype T_y, typename T_ext , realtype T_real>
T_y & ExplictAB3ydySelf (const T_pfun pf, T_y &y2, T_y &dy1, T_y &dy0, T_ext &ext, const T_real &t, const T_real &dt)
 Explicit 3rd-order Adams-Bashforth (static version),self, input y^n and dy^{n-1}... More...
 
template<typename T_pfun , allowtype T_y, typename T_ext , realtype T_real>
T_y ExplictAB4 (const T_pfun pf, const T_y &y3, const T_y &y2, const T_y &y1, const T_y &y0, T_ext &ext, const T_real &t, const T_real &dt)
 Explicit 4th-order Adams-Bashforth (static version) More...
 
template<typename T_pfun , allowtype T_y, typename T_ext , realtype T_real>
T_y ExplictAB4ydy (const T_pfun pf, const T_y &y3, T_y &dy2, T_y &dy1, T_y &dy0, T_ext &ext, const T_real &t, const T_real &dt)
 Explicit 4th-order Adams-Bashforth (static version), input y^n and dy^{n-1}... More...
 
template<typename T_pfun , allowtype T_y, typename T_ext , realtype T_real>
T_y & ExplictAB4ydySelf (const T_pfun pf, T_y &y3, T_y &dy2, T_y &dy1, T_y &dy0, T_ext &ext, const T_real &t, const T_real &dt)
 Explicit 4th-order Adams-Bashforth (static version),self, input y^n and dy^{n-1}... More...
 

Variables

template<typename T >
concept allowtype
 
template<typename T >
concept realtype = std::is_floating_point<T>::value
 
template<typename T >
concept classtype = std::is_class<T>::value
 

Detailed Description

time scheme of ODEs, non-static(Class or Struct) version

time scheme of ODEs, static version

Function Documentation

◆ ExplictAB2() [1/2]

template<typename T_pfun , allowtype T_y, typename T_ext , realtype T_real>
T_y ode::ExplictAB2 ( const T_pfun  pf,
const T_y &  y1,
const T_y &  y0,
T_ext &  ext,
const T_real &  t,
const T_real &  dt 
)

Explicit 2nd-order Adams-Bashforth (static version)

Template Parameters
T_pfuntype of pointer of function
T_ytype of y^n
T_exttype of extra parameters
T_realtype of real
Parameters
pfpointer of function
y1y^n const
y0y^{n-1} const
extextra parameters
ttime
dttime step
Returns
T_y y^{n+1}

◆ ExplictAB2() [2/2]

template<classtype T_class, typename T_pfun , allowtype T_y, typename T_ext , realtype T_real>
T_y ode::ExplictAB2 ( T_class *const  c,
const T_pfun  pf,
const T_y &  y1,
const T_y &  y0,
T_ext &  ext,
const T_real &  t,
const T_real &  dt 
)

Explicit 2nd-order Adams-Bashforth (non-static version)

Template Parameters
T_classclass or structure
T_pfuntype of pointer of member function of class or strucutre
T_ytype of y^n
T_exttype of extra parameters
T_realtype of real
Parameters
cclass
pfpointer of member function of class or strucutre
y1y^n const
y0y^{n-1} const
extextra parameters
ttime
dttime step
Returns
T_y y^{n+1}

◆ ExplictAB2ydy() [1/2]

template<typename T_pfun , allowtype T_y, typename T_ext , realtype T_real>
T_y ode::ExplictAB2ydy ( const T_pfun  pf,
T_y &  y1,
T_y &  dy0,
T_ext &  ext,
const T_real &  t,
const T_real &  dt 
)

Explicit 2nd-order Adams-Bashforth (static version), input y^n and dy^{n-1}...

Template Parameters
T_pfuntype of pointer of function
T_ytype of y^n
T_exttype of extra parameters
T_realtype of real
Parameters
pfpointer of function
y1y^n const
dy0y^{n-1}, will be updated by dy1 after calculating
extextra parameters
ttime
dttime step
Returns
T_y y^{n+1}

◆ ExplictAB2ydy() [2/2]

template<classtype T_class, typename T_pfun , allowtype T_y, typename T_ext , realtype T_real>
T_y ode::ExplictAB2ydy ( T_class *const  c,
const T_pfun  pf,
T_y &  y1,
T_y &  dy0,
T_ext &  ext,
const T_real &  t,
const T_real &  dt 
)

Explicit 2nd-order Adams-Bashforth (non-static version), input y^n and dy^{n-1}...

Template Parameters
T_classclass or structure
T_pfuntype of pointer of member function of class or strucutre
T_ytype of y^n
T_exttype of extra parameters
T_realtype of real
Parameters
cclass
pfpointer of member function of class or strucutre
y1y^n const
dy0y^{n-1}, will be updated by dy1 after calculating
extextra parameters
ttime
dttime step
Returns
T_y y^{n+1}

◆ ExplictAB2ydySelf() [1/2]

template<typename T_pfun , allowtype T_y, typename T_ext , realtype T_real>
T_y& ode::ExplictAB2ydySelf ( const T_pfun  pf,
T_y &  y1,
T_y &  dy0,
T_ext &  ext,
const T_real &  t,
const T_real &  dt 
)

Explicit 2nd-order Adams-Bashforth (static version),self, input y^n and dy^{n-1}...

Template Parameters
T_pfuntype of pointer of function
T_ytype of y^n
T_exttype of extra parameters
T_realtype of real
Parameters
pfpointer of function
y1y^n, will be updated by y2 after calculating
dy0y^{n-1}, will be updated by dy1 after calculating
extextra parameters
ttime
dttime step
Returns
T_y y^{n+1}

◆ ExplictAB2ydySelf() [2/2]

template<classtype T_class, typename T_pfun , allowtype T_y, typename T_ext , realtype T_real>
T_y& ode::ExplictAB2ydySelf ( T_class *const  c,
const T_pfun  pf,
T_y &  y1,
T_y &  dy0,
T_ext &  ext,
const T_real &  t,
const T_real &  dt 
)

Explicit 2nd-order Adams-Bashforth (non-static version),self, input y^n and dy^{n-1}...

Template Parameters
T_classclass or structure
T_pfuntype of pointer of member function of class or strucutre
T_ytype of y^n
T_exttype of extra parameters
T_realtype of real
Parameters
cclass
pfpointer of member function of class or strucutre
y1y^n, will be updated by y2 after calculating
dy0y^{n-1}, will be updated by dy1 after calculating
extextra parameters
ttime
dttime step
Returns
T_y y^{n+1}

◆ ExplictAB3() [1/2]

template<typename T_pfun , allowtype T_y, typename T_ext , realtype T_real>
T_y ode::ExplictAB3 ( const T_pfun  pf,
const T_y &  y2,
const T_y &  y1,
const T_y &  y0,
T_ext &  ext,
const T_real &  t,
const T_real &  dt 
)

Explicit 3rd-order Adams-Bashforth (static version)

Template Parameters
T_pfuntype of pointer of function
T_ytype of y^n
T_exttype of extra parameters
T_realtype of real
Parameters
pfpointer of function
y2y^n const
y1y^{n-1} const
y0y^{n-2} const
extextra parameters
ttime
dttime step
Returns
T_y y^{n+1}

◆ ExplictAB3() [2/2]

template<classtype T_class, typename T_pfun , allowtype T_y, typename T_ext , realtype T_real>
T_y ode::ExplictAB3 ( T_class *const  c,
const T_pfun  pf,
const T_y &  y2,
const T_y &  y1,
const T_y &  y0,
T_ext &  ext,
const T_real &  t,
const T_real &  dt 
)

Explicit 3rd-order Adams-Bashforth (non-static version)

Template Parameters
T_classclass or structure
T_pfuntype of pointer of member function of class or strucutre
T_ytype of y^n
T_exttype of extra parameters
T_realtype of real
Parameters
cclass
pfpointer of member function of class or strucutre
y2y^n const
y1y^{n-1} const
y0y^{n-2} const
extextra parameters
ttime
dttime step
Returns
T_y y^{n+1}

◆ ExplictAB3ydy() [1/2]

template<typename T_pfun , allowtype T_y, typename T_ext , realtype T_real>
T_y ode::ExplictAB3ydy ( const T_pfun  pf,
T_y &  y2,
T_y &  dy1,
T_y &  dy0,
T_ext &  ext,
const T_real &  t,
const T_real &  dt 
)

Explicit 3rd-order Adams-Bashforth (static version), input y^n and dy^{n-1}...

Template Parameters
T_pfuntype of pointer of function
T_ytype of y^n
T_exttype of extra parameters
T_realtype of real
Parameters
pfpointer of function
y2y^n const
dy1y^{n-1}, will be updated by dy2 after calculating
dy0y^{n-2}, will be updated by dy1 after calculating
extextra parameters
ttime
dttime step
Returns
T_y y^{n+1}

◆ ExplictAB3ydy() [2/2]

template<classtype T_class, typename T_pfun , allowtype T_y, typename T_ext , realtype T_real>
T_y ode::ExplictAB3ydy ( T_class *const  c,
const T_pfun  pf,
T_y &  y2,
T_y &  dy1,
T_y &  dy0,
T_ext &  ext,
const T_real &  t,
const T_real &  dt 
)

Explicit 3rd-order Adams-Bashforth (non-static version), input y^n and dy^{n-1}...

Template Parameters
T_classclass or structure
T_pfuntype of pointer of member function of class or strucutre
T_ytype of y^n
T_exttype of extra parameters
T_realtype of real
Parameters
cclass
pfpointer of member function of class or strucutre
y2y^n const
dy1y^{n-1}, will be updated by dy2 after calculating
dy0y^{n-2}, will be updated by dy1 after calculating
extextra parameters
ttime
dttime step
Returns
T_y y^{n+1}

◆ ExplictAB3ydySelf() [1/2]

template<typename T_pfun , allowtype T_y, typename T_ext , realtype T_real>
T_y& ode::ExplictAB3ydySelf ( const T_pfun  pf,
T_y &  y2,
T_y &  dy1,
T_y &  dy0,
T_ext &  ext,
const T_real &  t,
const T_real &  dt 
)

Explicit 3rd-order Adams-Bashforth (static version),self, input y^n and dy^{n-1}...

Template Parameters
T_pfuntype of pointer of function
T_ytype of y^n
T_exttype of extra parameters
T_realtype of real
Parameters
pfpointer of function
y2y^n, will be updated by y3 after calculating
dy1y^{n-1}, will be updated by dy2 after calculating
dy0y^{n-2}, will be updated by dy1 after calculating
extextra parameters
ttime
dttime step
Returns
T_y y^{n+1}

◆ ExplictAB3ydySelf() [2/2]

template<classtype T_class, typename T_pfun , allowtype T_y, typename T_ext , realtype T_real>
T_y& ode::ExplictAB3ydySelf ( T_class *const  c,
const T_pfun  pf,
T_y &  y2,
T_y &  dy1,
T_y &  dy0,
T_ext &  ext,
const T_real &  t,
const T_real &  dt 
)

Explicit 3rd-order Adams-Bashforth (non-static version),self, input y^n and dy^{n-1}...

Template Parameters
T_classclass or structure
T_pfuntype of pointer of member function of class or strucutre
T_ytype of y^n
T_exttype of extra parameters
T_realtype of real
Parameters
cclass
pfpointer of member function of class or strucutre
y2y^n, will be updated by y3 after calculating
dy1y^{n-1}, will be updated by dy2 after calculating
dy0y^{n-2}, will be updated by dy1 after calculating
extextra parameters
ttime
dttime step
Returns
T_y y^{n+1}

◆ ExplictAB4() [1/2]

template<typename T_pfun , allowtype T_y, typename T_ext , realtype T_real>
T_y ode::ExplictAB4 ( const T_pfun  pf,
const T_y &  y3,
const T_y &  y2,
const T_y &  y1,
const T_y &  y0,
T_ext &  ext,
const T_real &  t,
const T_real &  dt 
)

Explicit 4th-order Adams-Bashforth (static version)

Template Parameters
T_pfuntype of pointer of function
T_ytype of y^n
T_exttype of extra parameters
T_realtype of real
Parameters
pfpointer of function
y3y^n const
y2y^{n-1} const
y1y^{n-2} const
y0y^{n-3} const
extextra parameters
ttime
dttime step
Returns
T_y y^{n+1}

◆ ExplictAB4() [2/2]

template<classtype T_class, typename T_pfun , allowtype T_y, typename T_ext , realtype T_real>
T_y ode::ExplictAB4 ( T_class *const  c,
const T_pfun  pf,
const T_y &  y3,
const T_y &  y2,
const T_y &  y1,
const T_y &  y0,
T_ext &  ext,
const T_real &  t,
const T_real &  dt 
)

Explicit 4th-order Adams-Bashforth (non-static version)

Template Parameters
T_classclass or structure
T_pfuntype of pointer of member function of class or strucutre
T_ytype of y^n
T_exttype of extra parameters
T_realtype of real
Parameters
cclass
pfpointer of member function of class or strucutre
y3y^n const
y2y^{n-1} const
y1y^{n-2} const
y0y^{n-3} const
extextra parameters
ttime
dttime step
Returns
T_y y^{n+1}

◆ ExplictAB4ydy() [1/2]

template<typename T_pfun , allowtype T_y, typename T_ext , realtype T_real>
T_y ode::ExplictAB4ydy ( const T_pfun  pf,
const T_y &  y3,
T_y &  dy2,
T_y &  dy1,
T_y &  dy0,
T_ext &  ext,
const T_real &  t,
const T_real &  dt 
)

Explicit 4th-order Adams-Bashforth (static version), input y^n and dy^{n-1}...

Template Parameters
T_pfuntype of pointer of function
T_ytype of y^n
T_exttype of extra parameters
T_realtype of real
Parameters
pfpointer of function
y3y^n const
dy2y^{n-1}, will be updated by dy3 after calculating
dy1y^{n-2}, will be updated by dy2 after calculating
dy0y^{n-3}, will be updated by dy1 after calculating
extextra parameters
ttime
dttime step
Returns
T_y y^{n+1}

◆ ExplictAB4ydy() [2/2]

template<classtype T_class, typename T_pfun , allowtype T_y, typename T_ext , realtype T_real>
T_y ode::ExplictAB4ydy ( T_class *const  c,
const T_pfun  pf,
const T_y &  y3,
T_y &  dy2,
T_y &  dy1,
T_y &  dy0,
T_ext &  ext,
const T_real &  t,
const T_real &  dt 
)

Explicit 4th-order Adams-Bashforth (non-static version), input y^n and dy^{n-1}...

Template Parameters
T_classclass or structure
T_pfuntype of pointer of member function of class or strucutre
T_ytype of y^n
T_exttype of extra parameters
T_realtype of real
Parameters
cclass
pfpointer of member function of class or strucutre
y3y^n const
dy2y^{n-1}, will be updated by dy3 after calculating
dy1y^{n-2}, will be updated by dy2 after calculating
dy0y^{n-3}, will be updated by dy1 after calculating
extextra parameters
ttime
dttime step
Returns
T_y y^{n+1}

◆ ExplictAB4ydySelf() [1/2]

template<typename T_pfun , allowtype T_y, typename T_ext , realtype T_real>
T_y& ode::ExplictAB4ydySelf ( const T_pfun  pf,
T_y &  y3,
T_y &  dy2,
T_y &  dy1,
T_y &  dy0,
T_ext &  ext,
const T_real &  t,
const T_real &  dt 
)

Explicit 4th-order Adams-Bashforth (static version),self, input y^n and dy^{n-1}...

Template Parameters
T_pfuntype of pointer of function
T_ytype of y^n
T_exttype of extra parameters
T_realtype of real
Parameters
pfpointer of function
y3y^n, will be updated by y4 after calculating
dy2y^{n-1}, will be updated by dy3 after calculating
dy1y^{n-2}, will be updated by dy2 after calculating
dy0y^{n-3}, will be updated by dy1 after calculating
extextra parameters
ttime
dttime step
Returns
T_y y^{n+1}

◆ ExplictAB4ydySelf() [2/2]

template<classtype T_class, typename T_pfun , allowtype T_y, typename T_ext , realtype T_real>
T_y& ode::ExplictAB4ydySelf ( T_class *const  c,
const T_pfun  pf,
T_y &  y3,
T_y &  dy2,
T_y &  dy1,
T_y &  dy0,
T_ext &  ext,
const T_real &  t,
const T_real &  dt 
)

Explicit 4th-order Adams-Bashforth (non-static version),self, input y^n and dy^{n-1}...

Template Parameters
T_classclass or structure
T_pfuntype of pointer of member function of class or strucutre
T_ytype of y^n
T_exttype of extra parameters
T_realtype of real
Parameters
cclass
pfpointer of member function of class or strucutre
y3y^n, will be updated by y4 after calculating
dy2y^{n-1}, will be updated by dy3 after calculating
dy1y^{n-2}, will be updated by dy2 after calculating
dy0y^{n-3}, will be updated by dy1 after calculating
extextra parameters
ttime
dttime step
Returns
T_y y^{n+1}

◆ ExplictClassicRK4() [1/2]

template<typename T_pfun , allowtype T_y, typename T_ext , realtype T_real>
T_y ode::ExplictClassicRK4 ( const T_pfun  pf,
const T_y &  y,
T_ext &  ext,
const T_real &  t,
const T_real &  dt 
)

Explicit 4th-order classical Runge-Kutta Method (static version)

Template Parameters
T_pfuntype of pointer of function
T_ytype of y^n
T_exttype of extra parameters
T_realtype of real
Parameters
pfpointer of function
yy^n const
extextra parameters
ttime
dttime step
Returns
T_y y^{n+1}

◆ ExplictClassicRK4() [2/2]

template<classtype T_class, typename T_pfun , allowtype T_y, typename T_ext , realtype T_real>
T_y ode::ExplictClassicRK4 ( T_class *const  c,
const T_pfun  pf,
const T_y &  y,
T_ext &  ext,
const T_real &  t,
const T_real &  dt 
)

Explicit 4th-order classical Runge-Kutta Method (non-static version)

Template Parameters
T_classclass or structure
T_pfuntype of pointer of member function of class or strucutre
T_ytype of y^n
T_exttype of extra parameters
T_realtype of real
Parameters
cclass
pfpointer of member function of class or strucutre
yy^n const
extextra parameters
ttime
dttime step
Returns
T_y y^{n+1}

◆ ExplictClassicRK4Self() [1/2]

template<typename T_pfun , allowtype T_y, typename T_ext , realtype T_real>
T_y& ode::ExplictClassicRK4Self ( const T_pfun  pf,
T_y &  y,
T_ext &  ext,
const T_real &  t,
const T_real &  dt 
)

Explicit 4th-order classical Runge-Kutta Method (static version) self.

Template Parameters
T_pfuntype of pointer of function
T_ytype of y^n
T_exttype of extra parameters
T_realtype of real
Parameters
pfpointer of function
yy^n, will be overwirted by y^{n+1}
extextra parameters
ttime
dttime step
Returns
T_y y^{n+1},

◆ ExplictClassicRK4Self() [2/2]

template<classtype T_class, typename T_pfun , allowtype T_y, typename T_ext , realtype T_real>
T_y& ode::ExplictClassicRK4Self ( T_class *const  c,
const T_pfun  pf,
T_y &  y,
T_ext &  ext,
const T_real &  t,
const T_real &  dt 
)

Explicit 4th-order classical Runge-Kutta Method (non-static version) self.

Template Parameters
T_classclass or structure
T_pfuntype of pointer of member function of class or strucutre
T_ytype of y^n
T_exttype of extra parameters
T_realtype of real
Parameters
cclass
pfpointer of member function of class or strucutre
yy^n, will be overwirted by y^{n+1}
extextra parameters
ttime
dttime step
Returns
T_y y^{n+1},

◆ ExplictEuler() [1/2]

template<typename T_pfun , allowtype T_y, typename T_ext , realtype T_real>
T_y ode::ExplictEuler ( const T_pfun  pf,
const T_y &  y,
T_ext &  ext,
const T_real &  t,
const T_real &  dt 
)

Explicit Euler (static version)

Template Parameters
T_pfuntype of pointer of function
T_ytype of y^n
T_exttype of extra parameters
T_realtype of real
Parameters
pfpointer of function
yy^n const
extextra parameters
ttime
dttime step
Returns
T_y y^{n+1}

◆ ExplictEuler() [2/2]

template<classtype T_class, typename T_pfun , allowtype T_y, typename T_ext , realtype T_real>
T_y ode::ExplictEuler ( T_class *const  c,
const T_pfun  pf,
const T_y &  y,
T_ext &  ext,
const T_real &  t,
const T_real &  dt 
)

Explicit Euler (non-static version)

Template Parameters
T_classclass or structure
T_pfuntype of pointer of member function of class or strucutre
T_ytype of y^n
T_exttype of extra parameters
T_realtype of real
Parameters
cclass
pfpointer of member function of class or strucutre
yy^n const
extextra parameters
ttime
dttime step
Returns
T_y y^{n+1}

◆ ExplictEulerSelf() [1/2]

template<typename T_pfun , allowtype T_y, typename T_ext , realtype T_real>
T_y& ode::ExplictEulerSelf ( const T_pfun  pf,
T_y &  y,
T_ext &  ext,
const T_real &  t,
const T_real &  dt 
)

Explicit Euler Method (static version) self.

Template Parameters
T_pfuntype of pointer of function
T_ytype of y^n
T_exttype of extra parameters
T_realtype of real
Parameters
pfpointer of function
yy^n, will be overwirted by y^{n+1}
extextra parameters
ttime
dttime step
Returns
T_y y^{n+1}

◆ ExplictEulerSelf() [2/2]

template<classtype T_class, typename T_pfun , allowtype T_y, typename T_ext , realtype T_real>
T_y& ode::ExplictEulerSelf ( T_class *const  c,
const T_pfun  pf,
T_y &  y,
T_ext &  ext,
const T_real &  t,
const T_real &  dt 
)

Explicit Euler Method (non-static version) self.

Template Parameters
T_classclass or structure
T_pfuntype of pointer of member function of class or strucutre
T_ytype of y^n
T_exttype of extra parameters
T_realtype of real
Parameters
cclass
pfpointer of member function of class or strucutre
yy^n, will be overwirted by y^{n+1}
extextra parameters
ttime
dttime step
Returns
T_y y^{n+1}

◆ ExplictGenericRK2() [1/2]

template<typename T_pfun , allowtype T_y, typename T_ext , realtype T_real>
T_y ode::ExplictGenericRK2 ( const T_pfun  pf,
const T_y &  y,
T_ext &  ext,
const T_real &  t,
const T_real &  dt,
const T_real  a = 0.5 
)

Explicit 2nd-order generic Runge-Kutta (static version)

Template Parameters
T_pfuntype of pointer of function
T_ytype of y^n
T_exttype of extra parameters
T_realtype of real
Parameters
pfpointer of function
yy^n const
extextra parameters
ttime
dttime step
a\neq 0, default:0.5
Returns
T_y y^{n+1}

◆ ExplictGenericRK2() [2/2]

template<classtype T_class, typename T_pfun , allowtype T_y, typename T_ext , realtype T_real>
T_y ode::ExplictGenericRK2 ( T_class *const  c,
const T_pfun  pf,
const T_y &  y,
T_ext &  ext,
const T_real &  t,
const T_real &  dt,
const T_real  a = 0.5 
)

Explicit 2nd-order generic Runge-Kutta (non-static version)

Template Parameters
T_classclass or structure
T_pfuntype of pointer of member function of class or strucutre
T_ytype of y^n
T_exttype of extra parameters
T_realtype of real
Parameters
cclass
pfpointer of member function of class or strucutre
yy^n const
extextra parameters
ttime
dttime step
a\neq 0, default:0.5
Returns
T_y y^{n+1}

◆ ExplictGenericRK2Self() [1/2]

template<typename T_pfun , allowtype T_y, typename T_ext , realtype T_real>
T_y& ode::ExplictGenericRK2Self ( const T_pfun  pf,
T_y &  y,
T_ext &  ext,
const T_real &  t,
const T_real &  dt,
const T_real  a = 0.5 
)

Explicit 2nd-order Generic Method (static version) self.

Template Parameters
T_pfuntype of pointer of function
T_ytype of y^n
T_exttype of extra parameters
T_realtype of real
Parameters
pfpointer of function
yy^n, will be overwirted by y^{n+1}
extextra parameters
ttime
dttime step
a\neq 0, default:0.5
Returns
T_y y^{n+1}

◆ ExplictGenericRK2Self() [2/2]

template<classtype T_class, typename T_pfun , allowtype T_y, typename T_ext , realtype T_real>
T_y& ode::ExplictGenericRK2Self ( T_class *const  c,
const T_pfun  pf,
T_y &  y,
T_ext &  ext,
const T_real &  t,
const T_real &  dt,
const T_real  a = 0.5 
)

Explicit 2nd-order Generic Method (non-static version) self.

Template Parameters
T_classclass or structure
T_pfuntype of pointer of member function of class or strucutre
T_ytype of y^n
T_exttype of extra parameters
T_realtype of real
Parameters
cclass
pfpointer of member function of class or strucutre
yy^n, will be overwirted by y^{n+1}
extextra parameters
ttime
dttime step
a\neq 0, default:0.5
Returns
T_y y^{n+1}

◆ ExplictGenericRK3() [1/2]

template<typename T_pfun , allowtype T_y, typename T_ext , realtype T_real>
T_y ode::ExplictGenericRK3 ( const T_pfun  pf,
const T_y &  y,
T_ext &  ext,
const T_real &  t,
const T_real &  dt,
const T_real  a = 0.5 
)

Explicit 3rd-order Generic (static version)

Template Parameters
T_pfuntype of pointer of function
T_ytype of y^n
T_exttype of extra parameters
T_realtype of real
Parameters
pfpointer of function
yy^n const
extextra parameters
ttime
dttime step
a\neq 0, 2/3,1, default:0.5
Returns
T_y y^{n+1}

◆ ExplictGenericRK3() [2/2]

template<classtype T_class, typename T_pfun , allowtype T_y, typename T_ext , realtype T_real>
T_y ode::ExplictGenericRK3 ( T_class *const  c,
const T_pfun  pf,
const T_y &  y,
T_ext &  ext,
const T_real &  t,
const T_real &  dt,
const T_real  a = 0.5 
)

Explicit 3rd-order Generic (non-static version)

Template Parameters
T_classclass or structure
T_pfuntype of pointer of member function of class or strucutre
T_ytype of y^n
T_exttype of extra parameters
T_realtype of real
Parameters
cclass
pfpointer of member function of class or strucutre
yy^n const
extextra parameters
ttime
dttime step
a\neq 0, 2/3,1, default:0.5
Returns
T_y y^{n+1}

◆ ExplictGenericRK3Self() [1/3]

template<typename T_pfun , allowtype T_y, typename T_ext , realtype T_real>
T_y& ode::ExplictGenericRK3Self ( const T_pfun  pf,
T_y &  y,
T_ext &  ext,
const T_real &  t,
const T_real &  dt 
)

Explicit 2nd-order Midpoint Method (static version) self.

Template Parameters
T_pfuntype of pointer of function
T_ytype of y^n
T_exttype of extra parameters
T_realtype of real
Parameters
pfpointer of function
yy^n, will be overwirted by y^{n+1}
extextra parameters
ttime
dttime step
Returns
T_y y^{n+1}

◆ ExplictGenericRK3Self() [2/3]

template<typename T_pfun , allowtype T_y, typename T_ext , realtype T_real>
T_y& ode::ExplictGenericRK3Self ( const T_pfun  pf,
T_y &  y,
T_ext &  ext,
const T_real &  t,
const T_real &  dt,
const T_real  a = 0.5 
)

Explicit 3rd-order Generic Method (static version) self.

Template Parameters
T_pfuntype of pointer of function
T_ytype of y^n
T_exttype of extra parameters
T_realtype of real
Parameters
pfpointer of function
yy^n, will be overwirted by y^{n+1}
extextra parameters
ttime
dttime step
a\neq 0, 2/3,1, default:0.5
Returns
T_y y^{n+1}

◆ ExplictGenericRK3Self() [3/3]

template<classtype T_class, typename T_pfun , allowtype T_y, typename T_ext , realtype T_real>
T_y& ode::ExplictGenericRK3Self ( T_class *const  c,
const T_pfun  pf,
T_y &  y,
T_ext &  ext,
const T_real &  t,
const T_real &  dt,
const T_real  a = 0.5 
)

Explicit 3rd-order Generic Method (non-static version) self.

Template Parameters
T_classclass or structure
T_pfuntype of pointer of member function of class or strucutre
T_ytype of y^n
T_exttype of extra parameters
T_realtype of real
Parameters
cclass
pfpointer of member function of class or strucutre
yy^n, will be overwirted by y^{n+1}
extextra parameters
ttime
dttime step
a\neq 0, 2/3,1, default:0.5
Returns
T_y y^{n+1}

◆ ExplictHeunRK2() [1/2]

template<typename T_pfun , allowtype T_y, typename T_ext , realtype T_real>
T_y ode::ExplictHeunRK2 ( const T_pfun  pf,
const T_y &  y,
T_ext &  ext,
const T_real &  t,
const T_real &  dt 
)

Explicit 2nd-order Heun Runge-Kutta (static version)

Template Parameters
T_pfuntype of pointer of function
T_ytype of y^n
T_exttype of extra parameters
T_realtype of real
Parameters
pfpointer of function
yy^n const
extextra parameters
ttime
dttime step
Returns
T_y y^{n+1}

◆ ExplictHeunRK2() [2/2]

template<classtype T_class, typename T_pfun , allowtype T_y, typename T_ext , realtype T_real>
T_y ode::ExplictHeunRK2 ( T_class *const  c,
const T_pfun  pf,
const T_y &  y,
T_ext &  ext,
const T_real &  t,
const T_real &  dt 
)

Explicit 2nd-order Heun Runge-Kutta (non-static version)

Template Parameters
T_classclass or structure
T_pfuntype of pointer of member function of class or strucutre
T_ytype of y^n
T_exttype of extra parameters
T_realtype of real
Parameters
cclass
pfpointer of member function of class or strucutre
yy^n const
extextra parameters
ttime
dttime step
Returns
T_y y^{n+1}

◆ ExplictHeunRK2Self() [1/2]

template<typename T_pfun , allowtype T_y, typename T_ext , realtype T_real>
T_y& ode::ExplictHeunRK2Self ( const T_pfun  pf,
T_y &  y,
T_ext &  ext,
const T_real &  t,
const T_real &  dt 
)

Explicit 2nd-order Heun Method (static version) self.

Template Parameters
T_pfuntype of pointer of function
T_ytype of y^n
T_exttype of extra parameters
T_realtype of real
Parameters
pfpointer of function
yy^n, will be overwirted by y^{n+1}
extextra parameters
ttime
dttime step
Returns
T_y y^{n+1}

◆ ExplictHeunRK2Self() [2/2]

template<classtype T_class, typename T_pfun , allowtype T_y, typename T_ext , realtype T_real>
T_y& ode::ExplictHeunRK2Self ( T_class *const  c,
const T_pfun  pf,
T_y &  y,
T_ext &  ext,
const T_real &  t,
const T_real &  dt 
)

Explicit 2nd-order Heun Method (non-static version) self.

Template Parameters
T_classclass or structure
T_pfuntype of pointer of member function of class or strucutre
T_ytype of y^n
T_exttype of extra parameters
T_realtype of real
Parameters
cclass
pfpointer of member function of class or strucutre
yy^n, will be overwirted by y^{n+1}
extextra parameters
ttime
dttime step
Returns
T_y y^{n+1}

◆ ExplictHeunRK3() [1/2]

template<typename T_pfun , allowtype T_y, typename T_ext , realtype T_real>
T_y ode::ExplictHeunRK3 ( const T_pfun  pf,
const T_y &  y,
T_ext &  ext,
const T_real &  t,
const T_real &  dt 
)

Explicit 3rd-order Heun Method (static version) self.

Template Parameters
T_pfuntype of pointer of function
T_ytype of y^n
T_exttype of extra parameters
T_realtype of real
Parameters
pfpointer of function
yy^n, will be overwirted by y^{n+1}
extextra parameters
ttime
dttime step
Returns
T_y y^{n+1}

◆ ExplictHeunRK3() [2/2]

template<classtype T_class, typename T_pfun , allowtype T_y, typename T_ext , realtype T_real>
T_y ode::ExplictHeunRK3 ( T_class *const  c,
const T_pfun  pf,
const T_y &  y,
T_ext &  ext,
const T_real &  t,
const T_real &  dt 
)

Explicit 3rd-order Heun Method (non-static version)

Template Parameters
T_classclass or structure
T_pfuntype of pointer of member function of class or strucutre
T_ytype of y^n
T_exttype of extra parameters
T_realtype of real
Parameters
cclass
pfpointer of member function of class or strucutre
yy^n const
extextra parameters
ttime
dttime step
Returns
T_y y^{n+1}

◆ ExplictHeunRK3Self() [1/2]

template<typename T_pfun , allowtype T_y, typename T_ext , realtype T_real>
T_y& ode::ExplictHeunRK3Self ( const T_pfun  pf,
T_y &  y,
T_ext &  ext,
const T_real &  t,
const T_real &  dt 
)

Explicit 3rd-order Ralston Method (static version)

Template Parameters
T_pfuntype of pointer of function
T_ytype of y^n
T_exttype of extra parameters
T_realtype of real
Parameters
pfpointer of function
yy^n const
extextra parameters
ttime
dttime step
Returns
T_y y^{n+1}

◆ ExplictHeunRK3Self() [2/2]

template<classtype T_class, typename T_pfun , allowtype T_y, typename T_ext , realtype T_real>
T_y& ode::ExplictHeunRK3Self ( T_class *const  c,
const T_pfun  pf,
T_y &  y,
T_ext &  ext,
const T_real &  t,
const T_real &  dt 
)

Explicit 3rd-order Heun Method (non-static version) self.

Template Parameters
T_classclass or structure
T_pfuntype of pointer of member function of class or strucutre
T_ytype of y^n
T_exttype of extra parameters
T_realtype of real
Parameters
cclass
pfpointer of member function of class or strucutre
yy^n, will be overwirted by y^{n+1}
extextra parameters
ttime
dttime step
Returns
T_y y^{n+1}

◆ ExplictKuttaRK3() [1/2]

template<typename T_pfun , allowtype T_y, typename T_ext , realtype T_real>
T_y ode::ExplictKuttaRK3 ( const T_pfun  pf,
const T_y &  y,
T_ext &  ext,
const T_real &  t,
const T_real &  dt 
)

Explicit 3rd-order Kutta Method (static version)

Template Parameters
T_pfuntype of pointer of function
T_ytype of y^n
T_exttype of extra parameters
T_realtype of real
Parameters
pfpointer of function
yy^n const
extextra parameters
ttime
dttime step
Returns
T_y y^{n+1}

◆ ExplictKuttaRK3() [2/2]

template<classtype T_class, typename T_pfun , allowtype T_y, typename T_ext , realtype T_real>
T_y ode::ExplictKuttaRK3 ( T_class *const  c,
const T_pfun  pf,
const T_y &  y,
T_ext &  ext,
const T_real &  t,
const T_real &  dt 
)

Explicit 3rd-order Kutta Method (non-static version)

Template Parameters
T_classclass or structure
T_pfuntype of pointer of member function of class or strucutre
T_ytype of y^n
T_exttype of extra parameters
T_realtype of real
Parameters
cclass
pfpointer of member function of class or strucutre
yy^n const
extextra parameters
ttime
dttime step
Returns
T_y y^{n+1}

◆ ExplictKuttaRK3Self() [1/2]

template<typename T_pfun , allowtype T_y, typename T_ext , realtype T_real>
T_y& ode::ExplictKuttaRK3Self ( const T_pfun  pf,
T_y &  y,
T_ext &  ext,
const T_real &  t,
const T_real &  dt 
)

Explicit 3rd-order Kutta Method (static version) self.

Template Parameters
T_pfuntype of pointer of function
T_ytype of y^n
T_exttype of extra parameters
T_realtype of real
Parameters
pfpointer of function
yy^n, will be overwirted by y^{n+1}
extextra parameters
ttime
dttime step
Returns
T_y y^{n+1}

◆ ExplictKuttaRK3Self() [2/2]

template<classtype T_class, typename T_pfun , allowtype T_y, typename T_ext , realtype T_real>
T_y& ode::ExplictKuttaRK3Self ( T_class *const  c,
const T_pfun  pf,
T_y &  y,
T_ext &  ext,
const T_real &  t,
const T_real &  dt 
)

Explicit 3rd-order Kutta Method (non-static version) self.

Template Parameters
T_classclass or structure
T_pfuntype of pointer of member function of class or strucutre
T_ytype of y^n
T_exttype of extra parameters
T_realtype of real
Parameters
cclass
pfpointer of member function of class or strucutre
yy^n, will be overwirted by y^{n+1}
extextra parameters
ttime
dttime step
Returns
T_y y^{n+1}

◆ ExplictMidPointRK2() [1/2]

template<typename T_pfun , allowtype T_y, typename T_ext , realtype T_real>
T_y ode::ExplictMidPointRK2 ( const T_pfun  pf,
const T_y &  y,
T_ext &  ext,
const T_real &  t,
const T_real &  dt 
)

Explicit 2nd-order midpoint Runge-Kutta (static version)

Template Parameters
T_pfuntype of pointer of function
T_ytype of y^n
T_exttype of extra parameters
T_realtype of real
Parameters
pfpointer of function
yy^n const
extextra parameters
ttime
dttime step
Returns
T_y y^{n+1}

◆ ExplictMidPointRK2() [2/2]

template<classtype T_class, typename T_pfun , allowtype T_y, typename T_ext , realtype T_real>
T_y ode::ExplictMidPointRK2 ( T_class *const  c,
const T_pfun  pf,
const T_y &  y,
T_ext &  ext,
const T_real &  t,
const T_real &  dt 
)

Explicit 2nd-order midpoint Runge-Kutta (non-static version)

Template Parameters
T_classclass or structure
T_pfuntype of pointer of member function of class or strucutre
T_ytype of y^n
T_exttype of extra parameters
T_realtype of real
Parameters
cclass
pfpointer of member function of class or strucutre
yy^n const
extextra parameters
ttime
dttime step
Returns
T_y y^{n+1}

◆ ExplictMidPointRK2Self()

template<classtype T_class, typename T_pfun , allowtype T_y, typename T_ext , realtype T_real>
T_y& ode::ExplictMidPointRK2Self ( T_class *const  c,
const T_pfun  pf,
T_y &  y,
T_ext &  ext,
const T_real &  t,
const T_real &  dt 
)

Explicit 2nd-order Midpoint Method (non-static version) self.

Template Parameters
T_classclass or structure
T_pfuntype of pointer of member function of class or strucutre
T_ytype of y^n
T_exttype of extra parameters
T_realtype of real
Parameters
cclass
pfpointer of member function of class or strucutre
yy^n, will be overwirted by y^{n+1}
extextra parameters
ttime
dttime step
Returns
T_y y^{n+1}

◆ ExplictRalstonRK3() [1/2]

template<typename T_pfun , allowtype T_y, typename T_ext , realtype T_real>
T_y ode::ExplictRalstonRK3 ( const T_pfun  pf,
const T_y &  y,
T_ext &  ext,
const T_real &  t,
const T_real &  dt 
)

Explicit 3rd-order Ralson Method (static version)

Template Parameters
T_pfuntype of pointer of function
T_ytype of y^n
T_exttype of extra parameters
T_realtype of real
Parameters
pfpointer of function
yy^n, const
extextra parameters
ttime
dttime step
Returns
T_y y^{n+1}

◆ ExplictRalstonRK3() [2/2]

template<classtype T_class, typename T_pfun , allowtype T_y, typename T_ext , realtype T_real>
T_y ode::ExplictRalstonRK3 ( T_class *const  c,
const T_pfun  pf,
const T_y &  y,
T_ext &  ext,
const T_real &  t,
const T_real &  dt 
)

Explicit 3rd-order Ralston Method (non-static version)

Template Parameters
T_classclass or structure
T_pfuntype of pointer of member function of class or strucutre
T_ytype of y^n
T_exttype of extra parameters
T_realtype of real
Parameters
cclass
pfpointer of member function of class or strucutre
yy^n const
extextra parameters
ttime
dttime step
Returns
T_y y^{n+1}

◆ ExplictRalstonRK3Self() [1/2]

template<typename T_pfun , allowtype T_y, typename T_ext , realtype T_real>
T_y& ode::ExplictRalstonRK3Self ( const T_pfun  pf,
T_y &  y,
T_ext &  ext,
const T_real &  t,
const T_real &  dt 
)

Explicit 3rd-order Ralson Method (static version) self.

Template Parameters
T_pfuntype of pointer of function
T_ytype of y^n
T_exttype of extra parameters
T_realtype of real
Parameters
pfpointer of function
yy^n, will be overwirted by y^{n+1}
extextra parameters
ttime
dttime step
Returns
T_y y^{n+1}

◆ ExplictRalstonRK3Self() [2/2]

template<classtype T_class, typename T_pfun , allowtype T_y, typename T_ext , realtype T_real>
T_y& ode::ExplictRalstonRK3Self ( T_class *const  c,
const T_pfun  pf,
T_y &  y,
T_ext &  ext,
const T_real &  t,
const T_real &  dt 
)

Explicit 3rd-order Ralson Method (non-static version) self.

Template Parameters
T_classclass or structure
T_pfuntype of pointer of member function of class or strucutre
T_ytype of y^n
T_exttype of extra parameters
T_realtype of real
Parameters
cclass
pfpointer of member function of class or strucutre
yy^n, will be overwirted by y^{n+1}
extextra parameters
ttime
dttime step
Returns
T_y y^{n+1}

◆ ExplictSSPRK3() [1/2]

template<typename T_pfun , allowtype T_y, typename T_ext , realtype T_real>
T_y ode::ExplictSSPRK3 ( const T_pfun  pf,
const T_y &  y,
T_ext &  ext,
const T_real &  t,
const T_real &  dt 
)

Explicit 3rd-order Strong Stability Preserving Runge-Kutta (SSPRK3) (static version)

Template Parameters
T_pfuntype of pointer of function
T_ytype of y^n
T_exttype of extra parameters
T_realtype of real
Parameters
pfpointer of function
yy^n const
extextra parameters
ttime
dttime step
Returns
T_y y^{n+1}

◆ ExplictSSPRK3() [2/2]

template<classtype T_class, typename T_pfun , allowtype T_y, typename T_ext , realtype T_real>
T_y ode::ExplictSSPRK3 ( T_class *const  c,
const T_pfun  pf,
const T_y &  y,
T_ext &  ext,
const T_real &  t,
const T_real &  dt 
)

Explicit 3rd-order Strong Stability Preserving Runge-Kutta (SSPRK3) (non-static version)

Template Parameters
T_classclass or structure
T_pfuntype of pointer of member function of class or strucutre
T_ytype of y^n
T_exttype of extra parameters
T_realtype of real
Parameters
cclass
pfpointer of member function of class or strucutre
yy^n const
extextra parameters
ttime
dttime step
Returns
T_y y^{n+1}

◆ ExplictSSPRK3Self() [1/2]

template<typename T_pfun , allowtype T_y, typename T_ext , realtype T_real>
T_y& ode::ExplictSSPRK3Self ( const T_pfun  pf,
T_y &  y,
T_ext &  ext,
const T_real &  t,
const T_real &  dt 
)

Explicit 3rd-order Strong Stability Preserving Runge-Kutta (SSPRK3) (static version)self.

Template Parameters
T_pfuntype of pointer of function
T_ytype of y^n
T_exttype of extra parameters
T_realtype of real
Parameters
pfpointer of function
yy^n, will be overwrited by y^{n+1}
extextra parameters
ttime
dttime step
Returns
T_y y^{n+1}

◆ ExplictSSPRK3Self() [2/2]

template<classtype T_class, typename T_pfun , allowtype T_y, typename T_ext , realtype T_real>
T_y& ode::ExplictSSPRK3Self ( T_class *const  c,
const T_pfun  pf,
T_y &  y,
T_ext &  ext,
const T_real &  t,
const T_real &  dt 
)

Explicit 3rd-order Strong Stability Preserving Runge-Kutta (SSPRK3) (non-static version)self.

Template Parameters
T_classclass or structure
T_pfuntype of pointer of member function of class or strucutre
T_ytype of y^n
T_exttype of extra parameters
T_realtype of real
Parameters
cclass
pfpointer of member function of class or strucutre
yy^n, will be overwrited by y^{n+1}
extextra parameters
ttime
dttime step
Returns
T_y y^{n+1}

Variable Documentation

◆ allowtype

template<typename T >
concept ode::allowtype
Initial value:
= !requires(T a)
{
a.resizeAndPreserve(0);
}
requires(N_dim==3||N_dim==2) struct PPContactModel
compute particle constant parameters
Definition: PPContactModel.hpp:30

◆ classtype

template<typename T >
concept ode::classtype = std::is_class<T>::value

◆ realtype

template<typename T >
concept ode::realtype = std::is_floating_point<T>::value