Struct nyx_space::propagators::Fehlberg56 [] [src]

pub struct Fehlberg56 {}

Fehlberg56 is a Runge Kutta Fehlberg integrator.

NOTE: The adaptive step size is identical for all integrators, regardless of the information in this implementation. Moreover, the coefficients used in this embedded implementation are slightly different than the WP definition when comparing the 54 order. WARNING: As evident from the tests, this propagator uses many less iterations and gets a much greater accuracy than the other propagators available for the same options and states. I will need to find another source to confirm the coefficients used here. More specifically, this source proposed another adaptive step size than all other propagators. This is concerning, especially given the differences in final states. I would recommend against using this propagator for the time being.

Trait Implementations

impl RK for Fehlberg56
[src]

[src]

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. Read more

[src]

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

[src]

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}. Read more

[src]

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. Read more

Auto Trait Implementations

impl Send for Fehlberg56

impl Sync for Fehlberg56