Trait nyx_space::propagators::RK
[−]
[src]
pub trait RK where
Self: Sized, { fn order() -> u8; fn stages() -> usize; fn a_coeffs() -> &'static [f64]; fn b_coeffs() -> &'static [f64]; }
The RK
trait defines a Runge Kutta integrator.
Required Methods
fn order() -> u8
Returns the order of this integrator (as u8 because there probably isn't an order greater than 255). The order is used for the adaptive step size only to compute the error between estimates.
fn stages() -> usize
Returns the stages of this integrator (as usize because it's used as indexing)
fn a_coeffs() -> &'static [f64]
Returns a pointer to a list of f64 corresponding to the A coefficients of the Butcher table for that RK.
This module only supports implicit integrators, and as such, Self.a_coeffs().len()
must be of
size (order+1)*(order)/2.
Warning: this RK trait supposes that the implementation is consistent, i.e. c_i = \sum_j a_{ij}.
fn b_coeffs() -> &'static [f64]
Returns a pointer to a list of f64 corresponding to the b_i and b^*_i coefficients of the
Butcher table for that RK. Self.a_coeffs().len()
must be of size (order+1)*2.
Implementors
impl RK for CashKarp45
impl RK for RK4Fixed
impl RK for RK89
impl RK for Dormand45
impl RK for Dormand78
impl RK for Fehlberg45
impl RK for Fehlberg56
impl RK for Verner56