Trait nyx_space::propagators::RK

source ·
pub trait RKwhere
    Self: Sized,{
    const ORDER: u8;
    const STAGES: usize;
    const A_COEFFS: &'static [f64];
    const B_COEFFS: &'static [f64];
}
Expand description

The RK trait defines a Runge Kutta integrator.

Required Associated Constants§

source

const 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.

source

const STAGES: usize

Returns the stages of this integrator (as usize because it’s used as indexing)

source

const 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}.

source

const 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§

source§

impl RK for CashKarp45

source§

const ORDER: u8 = 5u8

source§

const STAGES: usize = 6usize

source§

const A_COEFFS: &'static [f64] = _

source§

const B_COEFFS: &'static [f64] = _

source§

impl RK for Dormand45

source§

const ORDER: u8 = 5u8

source§

const STAGES: usize = 7usize

source§

const A_COEFFS: &'static [f64] = _

source§

const B_COEFFS: &'static [f64] = _

source§

impl RK for Dormand78

source§

const ORDER: u8 = 8u8

source§

const STAGES: usize = 13usize

source§

const A_COEFFS: &'static [f64] = _

source§

const B_COEFFS: &'static [f64] = _

source§

impl RK for Fehlberg45

source§

const ORDER: u8 = 5u8

source§

const STAGES: usize = 6usize

source§

const A_COEFFS: &'static [f64] = _

source§

const B_COEFFS: &'static [f64] = _

source§

impl RK for RK2Fixed

source§

const ORDER: u8 = 2u8

source§

const STAGES: usize = 2usize

source§

const A_COEFFS: &'static [f64] = _

source§

const B_COEFFS: &'static [f64] = _

source§

impl RK for RK4Fixed

source§

const ORDER: u8 = 4u8

source§

const STAGES: usize = 4usize

source§

const A_COEFFS: &'static [f64] = _

source§

const B_COEFFS: &'static [f64] = _

source§

impl RK for RK89

source§

const ORDER: u8 = 9u8

source§

const STAGES: usize = 16usize

source§

const A_COEFFS: &'static [f64] = _

source§

const B_COEFFS: &'static [f64] = _

source§

impl RK for Verner56

source§

const ORDER: u8 = 6u8

source§

const STAGES: usize = 8usize

source§

const A_COEFFS: &'static [f64] = _

source§

const B_COEFFS: &'static [f64] = _