HQP
1.9.6
|
Explicit, fixed step size integrator implementing the Euler algorithm. More...
#include <Omu_IntEuler.h>
Public Member Functions | |
Omu_IntEuler () | |
constructor | |
~Omu_IntEuler () | |
destructor | |
Implementation of predefined methods. | |
| |
const char * | name () |
Name of a specific integrator. More... | |
void | ode_solve (double tstart, VECP y, const VECP u, double tend) |
Interface to be implemented by derived ODE solvers. More... | |
Public Member Functions inherited from Omu_IntODE | |
Omu_IntODE () | |
constructor | |
~Omu_IntODE () | |
destructor | |
void | syseq (double t, const VECP y, const VECP u, VECP f) |
Callback routine for evaluating the model by derived ODE solvers. More... | |
void | init (int k, const Omu_StateVec &xc, const Omu_Vec &q, const Omu_DependentVec &Fc, bool sa) |
Initialize integrator, like adaptation of array dimensions and test of pre-conditions, like explicit ODE. More... | |
void | solve (int kk, double tstart, double tend, const Omu_VariableVec &x, const Omu_VariableVec &u, Omu_Program *sys, Omu_DependentVec &Ft, Omu_StateVec &xt) |
Solve differential equations over one sample period. More... | |
Public Member Functions inherited from Omu_Integrator | |
Omu_Integrator () | |
constructor | |
virtual | ~Omu_Integrator () |
destructor | |
virtual void | setup_stages (const Omu_Program *sys) |
Setup stages for integrator. More... | |
virtual void | setup_struct (int k, const Omu_VariableVec &x, const Omu_VariableVec &u, const Omu_DependentVec &Ft) |
Setup struct for one stage k. More... | |
virtual void | init_stage (int k, const Omu_VariableVec &x, const Omu_VariableVec &u, const Omu_DependentVec &Ft, bool sa=false) |
Initialize solution of differential equations for stage k. More... | |
virtual void | solve (int kk, double tstart, double tend, Omu_StateVec &xc, Omu_StateVec &dxc, Omu_Vec &q, Omu_DependentVec &Fc) |
Solve differential equations over one sample period. More... | |
virtual void | residual (int kk, double t, const Omu_StateVec &xc, const Omu_StateVec &dxc, const Omu_Vec &q, Omu_DependentVec &Fc) |
Callback to evaluate residuals of continuous-time equations. More... | |
int | K () const |
get number of stages for which integrator has been set up | |
Additional Inherited Members | |
Protected Member Functions inherited from Omu_IntODE | |
void | init_stage (int k, const Omu_States &x, const Omu_Vector &u, bool sa=false) |
Initialize solution of differential equations for stage k. More... | |
Protected Member Functions inherited from Omu_Integrator | |
virtual void | solve (int kk, double tstart, double tend, const Omu_States &x, const Omu_Vector &u, Omu_Program *sys, VECP xt, MATP Sx=MNULL, MATP Su=MNULL) |
Solve differential equations over sample period. More... | |
Protected Attributes inherited from Omu_Integrator | |
Omu_Program * | _sys |
Pointer to problem definition that is valid during solve. | |
int | _K |
number of stages for which integrator was set up | |
int | _k |
index of current stage | |
int | _kk |
index of current sample period | |
int | _nxt |
total number of DAE states | |
int | _nd |
number of discrete-time states | |
int | _nv |
number of expansion variables | |
int | _na |
number of algebraic states (no time derivative) | |
int | _nx |
number of states treated by optimizer (nx=nxt-nv) | |
int | _nu |
number of control parameters | |
int | _nq |
number of sensitivity parameters (nq=nx+nu) | |
bool | _sa |
Indicate if sensitivity analysis is required together with solution of differential equations. | |
bool | _serr |
Boolean to indicate if sensitivities should be considered for error tolerance (default: false). | |
int | _n |
Number of continuous-time states during integration (nxt-nd: total number minus discrete-time states). | |
int | _m |
Number of control parameters during integration (nd+nu: discrete-time states and actual control parameters). | |
If_List | _ifList |
container for interface elements | |
double | _stepsize |
Constant stepsize to be taken by integator. More... | |
double | _min_stepsize |
Minimal stepsize to be taken by integator. More... | |
double | _rtol |
Relative integration error tolerance (only for variable stepsize). | |
double | _atol |
Absolute integration error tolerance (only for variable stepsize). | |
int | _res_evals |
number of residual evaluations | |
int | _sen_evals |
number of sensitivity evaluations | |
int | _jac_evals |
number of Jacobian evaluations | |
Explicit, fixed step size integrator implementing the Euler algorithm.
If _stepsize is not specified, then the integrator takes one step per sample period.
|
inlinevirtual |
Name of a specific integrator.
Implements Omu_Integrator.
Interface to be implemented by derived ODE solvers.
y contains the initial solution and the result for values and sensitivities (dim(y)=_n=_nxt-_nd without sensitivities, dim(y)=_n*(1+_nxt-_nv+_nu) with sensitivities). u contains discrete-time states and control parameters (dim(u)=_m=_nd+_nu).
Implements Omu_IntODE.