File control/src/utils/ControlLinearAdditionalTermsED.hpp#
Go to the source code of this file
Functions to add control terms during the integration steps with a TimeStepping scheme.
-
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
Private Functions
-
ACCEPT_SERIALIZATION(ControlLinearAdditionalTermsED)#
-
virtual void init(DynamicalSystemsGraph &DSG0, const NonSmoothDynamicalSystem &nsds, const TimeDiscretisation &td)#