File control/src/utils/ControlZOHAdditionalTerms.hpp

Go to the source code of this file

Functions to add control terms during the integration steps.

struct ControlZOHAdditionalTerms : public ExtraAdditionalTerms

Public Functions

virtual void addJacobianRhsContribution(DynamicalSystemsGraph &DSG0, const DynamicalSystemsGraph::VDescriptor &dsgVD, const double h, SiconosMatrix &jacRhs)

add contribution to JacRhs for instance if \(\dot{x} = f(x) + g(x)u\)

Parameters
  • DSG0: the graph of DynamicalSystems
  • dsgVD: a DynamicalSystem in the DS graph
  • h: the current timestep
  • jacRhs: the jacobian to modify

virtual void addSmoothTerms(DynamicalSystemsGraph &DSG0, const DynamicalSystemsGraph::VDescriptor &dsgVD, const double h, SiconosVector &xfree)

add smooth term to xfree (like the control input, the error correction for an observer)

Parameters
  • DSG0: the graph of DynamicalSystems
  • dsgVD: a DynamicalSystem in the DS graph
  • h: the current timestep
  • xfree: the free state to modify

virtual void init(DynamicalSystemsGraph &DSG0, const NonSmoothDynamicalSystem &nsds, const TimeDiscretisation &td)

initialize elements in the graph for the computations

Parameters
  • DSG0: the graph of DynamicalSystems
  • nsds: current nonsmooth dynamical system
  • td: current time discretisation

Private Functions

ACCEPT_SERIALIZATION(ControlZOHAdditionalTerms)

serialization hooks