Class NumericalOrbitDynamics

Inheritance Relationships

Base Type

Derived Types

Class Documentation

class NumericalOrbitDynamics : public lupnt::IOrbitDynamics

Subclassed by lupnt::CartesianTwoBodyDynamics, lupnt::J2CartTwoBodyDynamics, lupnt::J2KeplerianDynamics, lupnt::MoonMeanDynamics, lupnt::NBodyDynamics< T >

Public Functions

NumericalOrbitDynamics(ODE odefunc = nullptr, IntegratorType integ = default_integrator)
void SetTimeStep(Real dt)
Real GetTimeStep() const
void SetODEFunction(ODE odefunc)
inline void SetIntegratorParams(IntegratorParams params)
virtual Vec6 Propagate(const Vec6 &x0, Real t0, Real tf, Mat6d *stm = nullptr) override
virtual MatX6 Propagate(const Vec6 &x0, Real t0, const VecX &tf, bool progress = false) override
virtual Vec6 ComputeRates(Real t, const Vec6 &x) const = 0
virtual OrbitState PropagateState(const OrbitState &state, Real t0, Real tf, Mat6d *stm = nullptr) override = 0
VecX Propagate(const VecX &x0, Real t0, Real tf, MatXd *stm = nullptr) override
Vec6 Propagate(const Vec6 &x0, Real t0, Real tf, Mat6d *stm = nullptr) = 0
MatX6 Propagate(const Vec6 &x0, Real t0, const VecX &tf, bool progress = false) = 0
MatX6 Propagate(const MatX6 &x0, Real t0, Real tf)