Icarus
Vehicle Simulation as a Transformable Computational Graph, built on Vulcan and Janus
Loading...
Searching...
No Matches
icarus::RK2Integrator< Scalar > Class Template Reference

Heun's method / RK2 integrator (2nd order). More...

#include <RK4Integrator.hpp>

Inheritance diagram for icarus::RK2Integrator< Scalar >:
Collaboration diagram for icarus::RK2Integrator< Scalar >:

Public Member Functions

JanusVector< Scalar > Step (const DerivativeFunc &f, const JanusVector< Scalar > &x, Scalar t, Scalar dt) override
 Advance state by one step.
std::string Name () const override
 Get integrator name for logging.
int Order () const override
 Get integrator order (for error analysis).
IntegratorType Type () const override
 Get integrator type.
Public Member Functions inherited from icarus::Integrator< Scalar >
virtual ~Integrator ()=default
virtual bool IsAdaptive () const
 Check if integrator supports adaptive stepping.

Additional Inherited Members

Public Types inherited from icarus::Integrator< Scalar >
using DerivativeFunc
 Derivative function signature.

Detailed Description

template<typename Scalar>
class icarus::RK2Integrator< Scalar >

Heun's method / RK2 integrator (2nd order).

Two-stage method, useful for comparison studies. Wraps janus::rk2_step() for dual-mode compatibility.

Template Parameters
ScalarNumeric type (double or casadi::MX)

Member Function Documentation

◆ Name()

template<typename Scalar>
std::string icarus::RK2Integrator< Scalar >::Name ( ) const
inlinenodiscardoverridevirtual

Get integrator name for logging.

Implements icarus::Integrator< Scalar >.

◆ Order()

template<typename Scalar>
int icarus::RK2Integrator< Scalar >::Order ( ) const
inlinenodiscardoverridevirtual

Get integrator order (for error analysis).

Implements icarus::Integrator< Scalar >.

◆ Step()

template<typename Scalar>
JanusVector< Scalar > icarus::RK2Integrator< Scalar >::Step ( const DerivativeFunc & f,
const JanusVector< Scalar > & x,
Scalar t,
Scalar dt )
inlineoverridevirtual

Advance state by one step.

Parameters
fDerivative function
xCurrent state vector
tCurrent time
dtRequested time step
Returns
New state at t + dt

Implements icarus::Integrator< Scalar >.

◆ Type()

template<typename Scalar>
IntegratorType icarus::RK2Integrator< Scalar >::Type ( ) const
inlinenodiscardoverridevirtual

Get integrator type.

Implements icarus::Integrator< Scalar >.


The documentation for this class was generated from the following file: