|
Icarus
Vehicle Simulation as a Transformable Computational Graph, built on Vulcan and Janus
|
Interface for adaptive step integrators. More...
#include <Integrator.hpp>


Public Member Functions | |
| virtual AdaptiveStepResult< Scalar > | AdaptiveStep (const DerivativeFunc &f, const JanusVector< Scalar > &x, Scalar t, Scalar dt)=0 |
| Advance with error control. | |
| bool | IsAdaptive () const override |
| Check if integrator supports adaptive stepping. | |
| virtual void | SetAbsTol (Scalar tol)=0 |
| Set absolute tolerance. | |
| virtual void | SetRelTol (Scalar tol)=0 |
| Set relative tolerance. | |
| virtual Scalar | GetAbsTol () const =0 |
| Get current absolute tolerance. | |
| virtual Scalar | GetRelTol () const =0 |
| Get current relative tolerance. | |
| Public Member Functions inherited from icarus::Integrator< Scalar > | |
| virtual | ~Integrator ()=default |
| virtual JanusVector< Scalar > | Step (const DerivativeFunc &f, const JanusVector< Scalar > &x, Scalar t, Scalar dt)=0 |
| Advance state by one step. | |
| virtual std::string | Name () const =0 |
| Get integrator name for logging. | |
| virtual int | Order () const =0 |
| Get integrator order (for error analysis). | |
| virtual IntegratorType | Type () const =0 |
| Get integrator type. | |
Additional Inherited Members | |
| Public Types inherited from icarus::Integrator< Scalar > | |
| using | DerivativeFunc |
| Derivative function signature. | |
Interface for adaptive step integrators.
Extends base Integrator with error-controlled stepping.
| Scalar | Numeric type (double or casadi::MX) |
|
pure virtual |
Advance with error control.
May take a smaller step than requested to meet tolerance.
| f | Derivative function |
| x | Current state vector |
| t | Current time |
| dt | Requested time step |
Implemented in icarus::RK45Integrator< Scalar >.
|
nodiscardpure virtual |
Get current absolute tolerance.
Implemented in icarus::RK45Integrator< Scalar >.
|
nodiscardpure virtual |
Get current relative tolerance.
Implemented in icarus::RK45Integrator< Scalar >.
|
inlinenodiscardoverridevirtual |
Check if integrator supports adaptive stepping.
Reimplemented from icarus::Integrator< Scalar >.
|
pure virtual |
Set absolute tolerance.
Implemented in icarus::RK45Integrator< Scalar >.
|
pure virtual |
Set relative tolerance.
Implemented in icarus::RK45Integrator< Scalar >.