Struct ControlLinearAdditionalTermsED#

Defined in Program listing for file control/src/utils/ControlLinearAdditionalTermsED.hpp

struct ControlLinearAdditionalTermsED : public ExtraAdditionalTerms

Public Functions

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 – nonsmooth dynamical system

  • td – time discretisation

virtual void addSmoothTerms(DynamicalSystemsGraph &DSG0, const DynamicalSystemsGraph::VDescriptor &dsgVD, const double t, SiconosVector &xdot)

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

  • t – the current time

  • xdot – the “numerical” derivative of x (or right-hand side of the ODE)

virtual void addJacobianRhsContribution(DynamicalSystemsGraph &DSG0, const DynamicalSystemsGraph::VDescriptor &dsgVD, const double t, 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

  • t – the current timestep

  • jacRhs – the jacobian to modify