numerical-collection-cpp 0.10.0
A collection of algorithms in numerical analysis implemented in C++
|
Class of 4th order SDIRK (singly diagonally implicit Runge-Kutta) formula in [9]. More...
#include <num_collect/ode/runge_kutta/sdirk4_formula.h>
Public Types | |
using | base_type |
Type of base class. | |
using | problem_type |
Type of problem. | |
using | scalar_type |
Type of scalars. | |
using | this_type = sdirk4_formula<Problem, FormulaSolver> |
Type of this class. | |
using | variable_type |
Type of variables. | |
Public Types inherited from num_collect::ode::runge_kutta::implicit_formula_base< Derived, Problem, FormulaSolver > | |
using | base_type = formula_base<Derived, Problem> |
Type of base class. | |
using | formula_solver_type = FormulaSolver |
Type of solver of formula. | |
using | problem_type |
Type of problem. | |
using | scalar_type |
Type of scalars. | |
using | variable_type |
Type of variables. | |
Public Types inherited from num_collect::ode::formula_base< Derived, Problem > | |
using | problem_type = Problem |
Type of problem. | |
using | scalar_type = typename problem_type::scalar_type |
Type of scalars. | |
using | variable_type = typename problem_type::variable_type |
Type of variables. | |
Public Member Functions | |
void | step (scalar_type time, scalar_type step_size, const variable_type ¤t, variable_type &estimate) |
Compute the next variable. | |
void | step_embedded (scalar_type time, scalar_type step_size, const variable_type ¤t, variable_type &estimate, variable_type &error) |
Compute the next variable and weak estimate of it with embedded formula. | |
Public Member Functions inherited from num_collect::ode::runge_kutta::implicit_formula_base< Derived, Problem, FormulaSolver > | |
implicit_formula_base (const problem_type &problem=problem_type()) | |
Constructor. | |
auto | formula_solver () -> formula_solver_type & |
Get solver of formula. | |
auto | formula_solver () const -> const formula_solver_type & |
Get solver of formula. | |
auto | logger () const noexcept -> const num_collect::logging::logger & |
Access to the logger. | |
auto | logger () noexcept -> num_collect::logging::logger & |
Access to the logger. | |
auto | tolerances (const error_tolerances< variable_type > &val) -> Derived & |
Set the error tolerances. | |
Public Member Functions inherited from num_collect::ode::formula_base< Derived, Problem > | |
formula_base (const problem_type &problem=problem_type()) | |
Constructor. | |
auto | problem () -> problem_type & |
Get the problem. | |
auto | problem () const -> const problem_type & |
Get the problem. | |
void | step (scalar_type time, scalar_type step_size, const variable_type ¤t, variable_type &estimate) |
Compute the next variable. | |
Static Public Attributes | |
static constexpr index_type | lesser_order = 3 |
Order of lesser coefficients of this formula. | |
static constexpr auto | log_tag |
Log tag. | |
static constexpr index_type | order = 4 |
Order of this formula. | |
static constexpr index_type | stages = 5 |
Number of stages of this formula. | |
Coefficients in Butcher array. | |
| |
static constexpr scalar_type | ad = coeff(1, 4) |
static constexpr scalar_type | a21 = coeff(1, 2) |
static constexpr scalar_type | a31 = coeff(17, 50) |
static constexpr scalar_type | a32 = coeff(-1, 25) |
static constexpr scalar_type | a41 = coeff(371, 1360) |
static constexpr scalar_type | a42 = coeff(-137, 2720) |
static constexpr scalar_type | a43 = coeff(15, 544) |
static constexpr scalar_type | a51 = coeff(25, 24) |
static constexpr scalar_type | a52 = coeff(-49, 48) |
static constexpr scalar_type | a53 = coeff(125, 16) |
static constexpr scalar_type | a54 = coeff(-85, 12) |
static constexpr scalar_type | b1 = coeff(1, 4) |
static constexpr scalar_type | b2 = coeff(3, 4) |
static constexpr scalar_type | b3 = coeff(11, 20) |
static constexpr scalar_type | b4 = coeff(1, 2) |
static constexpr scalar_type | b5 = coeff(1) |
static constexpr scalar_type | c1 = a51 |
static constexpr scalar_type | c2 = a52 |
static constexpr scalar_type | c3 = a53 |
static constexpr scalar_type | c4 = a54 |
static constexpr scalar_type | c5 = ad |
static constexpr scalar_type | cw1 = coeff(59, 48) |
static constexpr scalar_type | cw2 = coeff(-17, 96) |
static constexpr scalar_type | cw3 = coeff(225, 32) |
static constexpr scalar_type | cw4 = coeff(-85, 12) |
static constexpr scalar_type | cw5 = coeff(0) |
static constexpr scalar_type | ce1 = c1 - cw1 |
static constexpr scalar_type | ce2 = c2 - cw2 |
static constexpr scalar_type | ce3 = c3 - cw3 |
static constexpr scalar_type | ce5 = c5 - cw5 |
Protected Member Functions | |
auto | formula_solver () -> formula_solver_type & |
Get solver of formula. | |
auto | formula_solver () const -> const formula_solver_type & |
Get solver of formula. | |
Protected Member Functions inherited from num_collect::ode::runge_kutta::implicit_formula_base< Derived, Problem, FormulaSolver > | |
auto | derived () const noexcept -> const Derived & |
Access derived object. | |
auto | derived () noexcept -> Derived & |
Access derived object. | |
Protected Member Functions inherited from num_collect::ode::formula_base< Derived, Problem > | |
auto | derived () const noexcept -> const Derived & |
Access derived object. | |
auto | derived () noexcept -> Derived & |
Access derived object. | |
Private Attributes | |
Intermediate variables. | |
variable_type | k1_ {} |
variable_type | k2_ {} |
variable_type | k3_ {} |
variable_type | k4_ {} |
variable_type | k5_ {} |
variable_type | z1_ {} |
variable_type | z2_ {} |
variable_type | z3_ {} |
variable_type | z4_ {} |
variable_type | z5_ {} |
Additional Inherited Members | |
Static Protected Member Functions inherited from num_collect::ode::formula_base< Derived, Problem > | |
template<typename T > | |
static constexpr auto | coeff (T val) -> scalar_type |
Convert coefficients. | |
template<typename T1 , typename T2 > | |
static constexpr auto | coeff (T1 num, T2 den) -> scalar_type |
Create coefficients. | |
Class of 4th order SDIRK (singly diagonally implicit Runge-Kutta) formula in [9].
Problem | Type of problem. |
FormulaSolver | Type of solver of formula. |
Definition at line 43 of file sdirk4_formula.h.
using num_collect::ode::runge_kutta::sdirk4_formula< Problem, FormulaSolver >::base_type |
Type of base class.
Definition at line 51 of file sdirk4_formula.h.
using num_collect::ode::formula_base< Derived, Problem >::problem_type |
Type of problem.
Definition at line 44 of file formula_base.h.
using num_collect::ode::formula_base< Derived, Problem >::scalar_type |
Type of scalars.
Definition at line 45 of file formula_base.h.
using num_collect::ode::runge_kutta::sdirk4_formula< Problem, FormulaSolver >::this_type = sdirk4_formula<Problem, FormulaSolver> |
Type of this class.
Definition at line 48 of file sdirk4_formula.h.
using num_collect::ode::formula_base< Derived, Problem >::variable_type |
Type of variables.
Definition at line 46 of file formula_base.h.
|
inlinenodiscardprotected |
Get solver of formula.
Definition at line 68 of file implicit_formula_base.h.
|
inlinenodiscardprotected |
Get solver of formula.
Definition at line 77 of file implicit_formula_base.h.
|
inline |
Compute the next variable.
[in] | time | Current time. |
[in] | step_size | Step size. |
[in] | current | Current variable. |
[out] | estimate | Estimate of the next variable. |
Definition at line 132 of file sdirk4_formula.h.
|
inline |
Compute the next variable and weak estimate of it with embedded formula.
[in] | time | Current time. |
[in] | step_size | Step size. |
[in] | current | Current variable. |
[out] | estimate | Estimate of the next variable. |
[out] | error | Estimate of error. |
Definition at line 184 of file sdirk4_formula.h.
|
staticconstexpr |
Coefficient in Butcher array.
Definition at line 95 of file sdirk4_formula.h.
|
staticconstexpr |
Coefficient in Butcher array.
Definition at line 96 of file sdirk4_formula.h.
|
staticconstexpr |
Coefficient in Butcher array.
Definition at line 97 of file sdirk4_formula.h.
|
staticconstexpr |
Coefficient in Butcher array.
Definition at line 98 of file sdirk4_formula.h.
|
staticconstexpr |
Coefficient in Butcher array.
Definition at line 99 of file sdirk4_formula.h.
|
staticconstexpr |
Coefficient in Butcher array.
Definition at line 100 of file sdirk4_formula.h.
|
staticconstexpr |
Coefficient in Butcher array.
Definition at line 101 of file sdirk4_formula.h.
|
staticconstexpr |
Coefficient in Butcher array.
Definition at line 102 of file sdirk4_formula.h.
|
staticconstexpr |
Coefficient in Butcher array.
Definition at line 103 of file sdirk4_formula.h.
|
staticconstexpr |
Coefficient in Butcher array.
Definition at line 104 of file sdirk4_formula.h.
|
staticconstexpr |
Coefficient in Butcher array.
Definition at line 94 of file sdirk4_formula.h.
|
staticconstexpr |
Coefficient in Butcher array.
Definition at line 106 of file sdirk4_formula.h.
|
staticconstexpr |
Coefficient in Butcher array.
Definition at line 107 of file sdirk4_formula.h.
|
staticconstexpr |
Coefficient in Butcher array.
Definition at line 108 of file sdirk4_formula.h.
|
staticconstexpr |
Coefficient in Butcher array.
Definition at line 109 of file sdirk4_formula.h.
|
staticconstexpr |
Coefficient in Butcher array.
Definition at line 110 of file sdirk4_formula.h.
|
staticconstexpr |
Coefficient in Butcher array.
Definition at line 112 of file sdirk4_formula.h.
|
staticconstexpr |
Coefficient in Butcher array.
Definition at line 113 of file sdirk4_formula.h.
|
staticconstexpr |
Coefficient in Butcher array.
Definition at line 114 of file sdirk4_formula.h.
|
staticconstexpr |
Coefficient in Butcher array.
Definition at line 115 of file sdirk4_formula.h.
|
staticconstexpr |
Coefficient in Butcher array.
Definition at line 116 of file sdirk4_formula.h.
|
staticconstexpr |
Coefficient in Butcher array.
Definition at line 124 of file sdirk4_formula.h.
|
staticconstexpr |
Coefficient in Butcher array.
Definition at line 125 of file sdirk4_formula.h.
|
staticconstexpr |
Coefficient in Butcher array.
Definition at line 126 of file sdirk4_formula.h.
|
staticconstexpr |
Coefficient in Butcher array.
Definition at line 128 of file sdirk4_formula.h.
|
staticconstexpr |
Coefficient in Butcher array.
Definition at line 118 of file sdirk4_formula.h.
|
staticconstexpr |
Coefficient in Butcher array.
Definition at line 119 of file sdirk4_formula.h.
|
staticconstexpr |
Coefficient in Butcher array.
Definition at line 120 of file sdirk4_formula.h.
|
staticconstexpr |
Coefficient in Butcher array.
Definition at line 121 of file sdirk4_formula.h.
|
staticconstexpr |
Coefficient in Butcher array.
Definition at line 122 of file sdirk4_formula.h.
|
private |
Intermediate variable.
Definition at line 199 of file sdirk4_formula.h.
|
private |
Intermediate variable.
Definition at line 200 of file sdirk4_formula.h.
|
private |
Intermediate variable.
Definition at line 201 of file sdirk4_formula.h.
|
private |
Intermediate variable.
Definition at line 202 of file sdirk4_formula.h.
|
private |
Intermediate variable.
Definition at line 203 of file sdirk4_formula.h.
|
staticconstexpr |
Order of lesser coefficients of this formula.
Definition at line 77 of file sdirk4_formula.h.
|
staticconstexpr |
Log tag.
Definition at line 80 of file sdirk4_formula.h.
|
staticconstexpr |
Order of this formula.
Definition at line 74 of file sdirk4_formula.h.
|
staticconstexpr |
Number of stages of this formula.
Definition at line 71 of file sdirk4_formula.h.
|
private |
Intermediate variable.
Definition at line 204 of file sdirk4_formula.h.
|
private |
Intermediate variable.
Definition at line 205 of file sdirk4_formula.h.
|
private |
Intermediate variable.
Definition at line 206 of file sdirk4_formula.h.
|
private |
Intermediate variable.
Definition at line 207 of file sdirk4_formula.h.
|
private |
Intermediate variable.
Definition at line 208 of file sdirk4_formula.h.