26 #ifndef CASADI_INTEGRATOR_HPP
27 #define CASADI_INTEGRATOR_HPP
29 #include "function.hpp"
31 #include "rootfinder.hpp"
32 #include "casadi_enum.hpp"
93 const SXDict& dae,
double t0,
const std::vector<double>& tout,
const Dict& opts=
Dict());
95 const MXDict& dae,
double t0,
const std::vector<double>& tout,
const Dict& opts=
Dict());
97 const Function& dae,
double t0,
const std::vector<double>& tout,
const Dict& opts=
Dict());
100 const SXDict& dae,
double t0,
double tf,
const Dict& opts=
Dict());
102 const MXDict& dae,
double t0,
double tf,
const Dict& opts=
Dict());
150 CASADI_EXPORT std::vector<std::string>
dyn_in();
155 CASADI_EXPORT std::vector<std::string>
dyn_out();
160 CASADI_EXPORT std::string
dyn_in(casadi_int ind);
165 CASADI_EXPORT std::string
dyn_out(casadi_int ind);
223 enum IntegratorInput {
243 enum IntegratorOutput {
264 template<>
struct enum_traits<DynIn> {
265 static const size_t n_enum = DYN_NUM_IN;
267 template<>
struct enum_traits<DynOut> {
268 static const size_t n_enum = DYN_NUM_OUT;
270 template<>
struct enum_traits<EventIn> {
271 static const size_t n_enum = EVENT_NUM_IN;
273 template<>
struct enum_traits<EventOut> {
274 static const size_t n_enum = EVENT_NUM_OUT;
280 CASADI_EXPORT std::string to_string(DynIn v);
281 CASADI_EXPORT std::string to_string(DynOut v);
282 CASADI_EXPORT std::string to_string(EventIn v);
283 CASADI_EXPORT std::string to_string(EventOut v);
CASADI_EXPORT bool has_integrator(const std::string &name)
Check if a particular plugin is available.
CASADI_EXPORT casadi_int integrator_n_out()
Get the number of integrator outputs.
CASADI_EXPORT casadi_int dyn_n_in()
Get the number of inputs for a DAE function.
CASADI_EXPORT std::vector< std::string > event_out()
Get output scheme of an event transition functions.
CASADI_EXPORT std::vector< std::string > dyn_out()
Get output scheme of a DAE function.
CASADI_EXPORT std::vector< std::string > event_in()
Get input scheme of an event transition function.
CASADI_EXPORT std::vector< std::string > integrator_in()
Get input scheme of integrators.
CASADI_EXPORT void load_integrator(const std::string &name)
Explicitly load a plugin dynamically.
CASADI_EXPORT casadi_int integrator_n_in()
Get the number of integrator inputs.
CASADI_EXPORT std::vector< std::string > integrator_out()
Get integrator output scheme of integrators.
CASADI_EXPORT std::vector< std::string > dyn_in()
Get input scheme of a DAE function.
CASADI_EXPORT std::string doc_integrator(const std::string &name)
Get the documentation string for a plugin.
CASADI_EXPORT casadi_int dyn_n_out()
Get the number of outputs for a DAE function.
CASADI_EXPORT Function integrator(const std::string &name, const std::string &solver, const SXDict &dae, const Dict &opts=Dict())
std::map< std::string, MX > MXDict
std::map< std::string, SX > SXDict
GenericType::Dict Dict
C++ equivalent of Python's dict or MATLAB's struct.