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 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

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 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

inline virtual ~ExtraAdditionalTerms()#

Desctructor.

Private Functions

ACCEPT_SERIALIZATION(ExtraAdditionalTerms)#