26 #ifndef CASADI_INTEGRATOR_HPP
27 #define CASADI_INTEGRATOR_HPP
29 #include "function.hpp"
31 #include "rootfinder.hpp"
32 #include "casadi_enum.hpp"
323 const SXDict& dae,
double t0,
const std::vector<double>& tout,
const Dict& opts=
Dict());
325 const MXDict& dae,
double t0,
const std::vector<double>& tout,
const Dict& opts=
Dict());
327 const Function& dae,
double t0,
const std::vector<double>& tout,
const Dict& opts=
Dict());
330 const SXDict& dae,
double t0,
double tf,
const Dict& opts=
Dict());
332 const MXDict& dae,
double t0,
double tf,
const Dict& opts=
Dict());
670 CASADI_EXPORT std::vector<std::string>
dyn_in();
720 CASADI_EXPORT std::vector<std::string>
dyn_out();
749 CASADI_EXPORT std::string
dyn_in(casadi_int ind);
778 CASADI_EXPORT std::string
dyn_out(casadi_int ind);
944 enum IntegratorInput {
964 enum IntegratorOutput {
985 template<>
struct enum_traits<DynIn> {
986 static const size_t n_enum = DYN_NUM_IN;
988 template<>
struct enum_traits<DynOut> {
989 static const size_t n_enum = DYN_NUM_OUT;
991 template<>
struct enum_traits<EventIn> {
992 static const size_t n_enum = EVENT_NUM_IN;
994 template<>
struct enum_traits<EventOut> {
995 static const size_t n_enum = EVENT_NUM_OUT;
1001 CASADI_EXPORT std::string to_string(DynIn v);
1002 CASADI_EXPORT std::string to_string(DynOut v);
1003 CASADI_EXPORT std::string to_string(EventIn v);
1004 CASADI_EXPORT std::string to_string(EventOut v);
CASADI_EXPORT bool has_integrator(const std::string &name)
Check if an integrator 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 of a DAE function.
CASADI_EXPORT std::vector< std::string > event_out()
Get the output scheme of an event transition function.
CASADI_EXPORT std::vector< std::string > dyn_out()
Get the output scheme of a DAE function.
CASADI_EXPORT std::vector< std::string > event_in()
Get the input scheme of an event transition function.
CASADI_EXPORT std::vector< std::string > integrator_in()
Get the input scheme of integrators.
CASADI_EXPORT void load_integrator(const std::string &name)
Explicitly load an integrator plugin.
CASADI_EXPORT casadi_int integrator_n_in()
Get the number of integrator inputs.
CASADI_EXPORT std::vector< std::string > integrator_out()
Get the output scheme of integrators.
CASADI_EXPORT std::vector< std::string > dyn_in()
Get the input scheme of a DAE function.
CASADI_EXPORT std::string doc_integrator(const std::string &name)
Get the documentation string of an integrator plugin.
CASADI_EXPORT casadi_int dyn_n_out()
Get the number of outputs of 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.