Skip to main content

rkmk_step

Function rkmk_step 

Source
pub fn rkmk_step<Field, Tab, T>(
    rate: &mut impl FnMut(Quantity<T>, &Field::Point) -> Result<Derivative<Field::Increment, T>, String>,
    point: &Field::Point,
    t: Quantity<T>,
    dt: Quantity<T>,
    scratch: &mut Vec<Field::Increment>,
) -> Result<Field::Point, IntegrationError>
where Field: Integrable, Tab: ButcherTableau, Field::Point: Clone, Field::Increment: Clone + Differentiable<T>, T: Copy, Quantity<T>: Mul<Scalar, Output = Quantity<T>>, for<'a> &'a Derivative<Field::Increment, T>: Mul<Quantity<T>, Output = Field::Increment>,
Expand description

Advances point one RKMK step from t to t + dt with the Tab tableau — super::integrate_rkmk without the history, and with the stage-slope buffer scratch passed in so a stepping loop allocates nothing per step. scratch may start empty; its contents are overwritten.