File kernel/src/simulationTools/ExtraAdditionalTerms.hpp

Go to the source code of this file

base class for struct of functions adding optional integration terms

struct ExtraAdditionalTerms

Public Functions

virtual ~ExtraAdditionalTerms()

Desctructor.

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

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) = 0

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) = 0

initialize elements in the graph for the computations

Parameters
  • DSG0: the graph of DynamicalSystems
  • model: the current Model

Private Functions

ACCEPT_SERIALIZATION(ExtraAdditionalTerms)

serialization hooks