26 #ifndef CASADI_INTEGRATOR_HPP
27 #define CASADI_INTEGRATOR_HPP
29 #include "function.hpp"
31 #include "rootfinder.hpp"
32 #include "casadi_enum.hpp"
316 CASADI_EXPORT Function
integrator(
const std::string& name,
const std::string& solver,
318 CASADI_EXPORT Function
integrator(
const std::string& name,
const std::string& solver,
320 CASADI_EXPORT Function
integrator(
const std::string& name,
const std::string& solver,
321 const Function& dae,
const Dict& opts=
Dict());
322 CASADI_EXPORT Function
integrator(
const std::string& name,
const std::string& solver,
323 const SXDict& dae,
double t0,
const std::vector<double>& tout,
const Dict& opts=
Dict());
324 CASADI_EXPORT Function
integrator(
const std::string& name,
const std::string& solver,
325 const MXDict& dae,
double t0,
const std::vector<double>& tout,
const Dict& opts=
Dict());
326 CASADI_EXPORT Function
integrator(
const std::string& name,
const std::string& solver,
327 const Function& dae,
double t0,
const std::vector<double>& tout,
const Dict& opts=
Dict());
329 CASADI_EXPORT Function
integrator(
const std::string& name,
const std::string& solver,
330 const SXDict& dae,
double t0,
double tf,
const Dict& opts=
Dict());
331 CASADI_EXPORT Function
integrator(
const std::string& name,
const std::string& solver,
332 const MXDict& dae,
double t0,
double tf,
const Dict& opts=
Dict());
333 CASADI_EXPORT Function
integrator(
const std::string& name,
const std::string& solver,
334 const Function& dae,
double t0,
double tf,
const Dict& opts=
Dict());
430 CASADI_EXPORT std::string
doc_integrator(
const std::string& name);
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);
804 CASADI_EXPORT casadi_int
dyn_n_in();
872 CASADI_EXPORT std::vector<std::string>
event_in();
906 CASADI_EXPORT std::vector<std::string>
event_out();
std::vector< std::string > dyn_out()
Get the output scheme of a DAE function.
std::vector< std::string > event_in()
Get the input scheme of an event transition function.
bool has_integrator(const std::string &name)
Check if an integrator plugin is available.
std::vector< std::string > dyn_in()
Get the input scheme of a DAE function.
casadi_int integrator_n_out()
Get the number of integrator outputs.
casadi_int dyn_n_in()
Get the number of inputs of a DAE function.
std::vector< std::string > integrator_out()
Get the output scheme of integrators.
std::vector< std::string > event_out()
Get the output scheme of an event transition function.
void load_integrator(const std::string &name)
Explicitly load an integrator plugin.
casadi_int integrator_n_in()
Get the number of integrator inputs.
std::vector< std::string > integrator_in()
Get the input scheme of integrators.
Function integrator(const std::string &name, const std::string &solver, const SXDict &dae, const Dict &opts)
std::string doc_integrator(const std::string &name)
Get the documentation string of an integrator plugin.
casadi_int dyn_n_out()
Get the number of outputs of a DAE function.
std::map< std::string, MX > MXDict
IntegratorOutput
Output arguments of an integrator.
@ INTEGRATOR_ADJ_U
Adjoint sensitivities corresponding to the control vector.
@ INTEGRATOR_ADJ_Z0
Adjoint sensitivities corresponding to the algebraic variable guess.
@ INTEGRATOR_QF
Quadrature state at all output times.
@ INTEGRATOR_ADJ_P
Adjoint sensitivities corresponding to the parameter vector.
@ INTEGRATOR_ZF
Algebraic variable at all output times.
@ INTEGRATOR_XF
Differential state at all output times.
@ INTEGRATOR_NUM_OUT
Number of output arguments of an integrator.
@ INTEGRATOR_ADJ_X0
Adjoint sensitivities corresponding to the initial state.
IntegratorInput
Input arguments of an integrator.
@ INTEGRATOR_U
Piecewise constant control, a new control interval starts at each output time.
@ INTEGRATOR_ADJ_QF
Adjoint seeds corresponding to the quadratures at the output times.
@ INTEGRATOR_ADJ_ZF
Adjoint seeds corresponding to the algebraic variables at the output times.
@ INTEGRATOR_P
Parameters.
@ INTEGRATOR_ADJ_XF
Adjoint seeds corresponding to the states at the output times.
@ INTEGRATOR_Z0
Initial guess for the algebraic variable at the initial time.
@ INTEGRATOR_NUM_IN
Number of input arguments of an integrator.
@ INTEGRATOR_X0
Differential state at the initial time.
EventIn
Inputs of an event transition function.
DynIn
Inputs of the symbolic representation of the DAE.
EventOut
Outputs of an event transition function.
std::map< std::string, SX > SXDict
GenericType::Dict Dict
C++ equivalent of Python's dict or MATLAB's struct.
DynOut
Outputs of the symbolic representation of the DAE.
std::string to_string(TypeFmi2 v)
Helper class: Specify number of entries in an enum.
static const size_t n_enum