|
| RK4 () |
| RK4 (System t_system) |
Public Member Functions inherited from Sandals::RungeKutta< Real, 4, N, 0 > |
| RungeKutta (const RungeKutta &)=delete |
RungeKutta & | operator= (RungeKutta const &)=delete |
Type | type () const |
bool | is_erk () const |
bool | is_irk () const |
bool | is_dirk () const |
Tableau< Real, S > & | tableau () |
Integer | stages () const |
std::string | name () const |
Integer | order () const |
bool | is_embedded () const |
MatrixS | A () const |
VectorS | b () const |
VectorS | b_embedded () const |
VectorS | c () const |
System | system () |
void | implicit_system (typename ImplicitWrapper< Real, N, M >::FunctionF F, typename ImplicitWrapper< Real, N, M >::FunctionJF JF_x, typename ImplicitWrapper< Real, N, M >::FunctionJF JF_x_dot, typename ImplicitWrapper< Real, N, M >::FunctionH h=ImplicitWrapper< Real, N, M >::DefaultH, typename ImplicitWrapper< Real, N, M >::FunctionJH Jh_x=ImplicitWrapper< Real, N, M >::DefaultJH, typename ImplicitWrapper< Real, N, M >::FunctionID in_domain=ImplicitWrapper< Real, N, M >::DefaultID) |
void | explicit_system (typename ExplicitWrapper< Real, N, M >::FunctionF f, typename ExplicitWrapper< Real, N, M >::FunctionJF Jf_x, typename ExplicitWrapper< Real, N, M >::FunctionH h=ExplicitWrapper< Real, N, M >::DefaultH, typename ExplicitWrapper< Real, N, M >::FunctionJH Jh_x=ExplicitWrapper< Real, N, M >::DefaultJH, typename ExplicitWrapper< Real, N, M >::FunctionID in_domain=ExplicitWrapper< Real, N, M >::DefaultID) |
void | linear_system (typename LinearWrapper< Real, N, M >::FunctionE E, typename LinearWrapper< Real, N, M >::FunctionA A, typename LinearWrapper< Real, N, M >::FunctionB b, typename LinearWrapper< Real, N, M >::FunctionH h=LinearWrapper< Real, N, M >::DefaultH, typename LinearWrapper< Real, N, M >::FunctionJH Jh_x=LinearWrapper< Real, N, M >::DefaultJH, typename LinearWrapper< Real, N, M >::FunctionID in_domain=LinearWrapper< Real, N, M >::DefaultID) |
void | semi_explicit_system (typename SemiExplicitWrapper< Real, N, M >::FunctionA A, typename SemiExplicitWrapper< Real, N, M >::FunctionTA TA_x, typename SemiExplicitWrapper< Real, N, M >::FunctionB b, typename SemiExplicitWrapper< Real, N, M >::FunctionJB Jb_x, typename SemiExplicitWrapper< Real, N, M >::FunctionH h=SemiExplicitWrapper< Real, N, M >::DefaultH, typename SemiExplicitWrapper< Real, N, M >::FunctionJH Jh_x=SemiExplicitWrapper< Real, N, M >::DefaultJH, typename SemiExplicitWrapper< Real, N, M >::FunctionID in_domain=SemiExplicitWrapper< Real, N, M >::DefaultID) |
bool | has_system () |
Real | absolute_tolerance () |
Real | relative_tolerance () |
Real & | safety_factor () |
Real & | min_safety_factor () |
Real & | max_safety_factor () |
Real & | min_step () |
Integer & | max_substeps () |
bool | adaptive_mode () |
void | adaptive (bool t_adaptive) |
void | enable_adaptive_mode () |
void | disable_adaptive_mode () |
bool | verbose_mode () |
void | enable_verbose_mode () |
void | disable_verbose_mode () |
bool | reverse_mode () |
void | reverse (bool t_reverse) |
void | enable_reverse_mode () |
void | disable_reverse_mode () |
Real | projection_tolerance () |
Integer & | max_projection_iterations () |
bool | projection () |
void | enable_projection () |
void | disable_projection () |
Real | estimate_step (VectorN const &x, VectorN const &x_e, Real h_k) const |
std::string | info () const |
bool | erk_explicit_step (VectorN const &x_old, Real t_old, Real h_old, VectorN &x_new, Real &h_new) const |
void | erk_implicit_function (Integer s, VectorN const &x, Real t, Real h, MatrixK const &K, VectorN &fun) const |
void | erk_implicit_jacobian (Integer s, VectorN const &x, Real t, Real h, MatrixK const &K, MatrixN &jac) const |
bool | erk_implicit_step (VectorN const &x_old, Real t_old, Real h_old, VectorN &x_new, Real &h_new) |
void | irk_function (VectorN const &x, Real t, Real h, VectorK const &K, VectorK &fun) const |
void | irk_jacobian (VectorN const &x, Real t, Real h, VectorK const &K, MatrixJ &jac) const |
bool | irk_step (VectorN const &x_old, Real t_old, Real h_old, VectorN &x_new, Real &h_new) |
void | dirk_function (Integer n, VectorN const &x, Real t, Real h, MatrixK const &K, VectorN &fun) const |
void | dirk_jacobian (Integer n, VectorN const &x, Real t, Real h, MatrixK const &K, MatrixN &jac) const |
bool | dirk_step (VectorN const &x_old, Real t_old, Real h_old, VectorN &x_new, Real &h_new) |
bool | step (VectorN const &x_old, Real t_old, Real h_old, VectorN &x_new, Real &h_new) |
bool | advance (VectorN const &x_old, Real t_old, Real h_old, VectorN &x_new, Real &h_new) |
bool | solve (VectorX const &t_mesh, VectorN const &ics, Solution< Real, N, M > &sol) |
bool | adaptive_solve (VectorX const &t_mesh, VectorN const &ics, Solution< Real, N, M > &sol) |
bool | project (VectorN const &x, Real t, VectorN &x_projected) |
bool | project_ics (VectorN const &x, Real t, std::vector< Integer > const &projected_equations, std::vector< Integer > const &projected_invariants, VectorN &x_projected) const |
Real | estimate_order (std::vector< VectorX > const &t_mesh, VectorN const &ics, std::function< MatrixX(VectorX)> &sol) |
template<typename Real,
Integer N,
Integer M = 0>
class Sandals::RK4< Real, N, M >
Class container for the Runge-Kutta order 4 method.
- Template Parameters
-
Real | The scalar number type. |
N | The dimension of the ODE/DAE system. |
M | The dimension of the invariants manifold. |