Class RKF45

Inheritance Relationships

Base Type

Class Documentation

class RKF45 : public lupnt::IRKF

Runge-Kutta-Fehlberg 4(5) adaptive-step integrator.

Concrete IRKF instantiation selected by NumericalOrbitDynamics::SetIntegrator via IntegratorType::RKF45; suited to propagations where step size should automatically shrink/grow to meet IntegratorParams::abstol/reltol.

Public Functions

inline RKF45()
virtual void Update(const ODE &f, Real t, const State &x, Real dt, State &x_new_low, State &x_new_high) override

Compute the RKF45 embedded 4th/5th-order solution pair (6-stage Butcher tableau) for one step of size dt.

One step of Runge-Kutta-Fehlberg 45 Integration.

https://en.wikipedia.org/wiki/RungeE2%80%93KuttaE2%80%93Fehlberg_method

Parameters:
  • f – Right-hand side dx/dt = f(t, x)

  • t – Current time [s]

  • x – Current state

  • dt – Step size [s]

  • x_new_low – Output: 4th-order solution at t + dt

  • x_new_high – Output: 5th-order solution at t + dt

  • f – The ODE function to propagate

  • tTime

  • x – The state to propagate

  • dt – Timestep