File kernel/src/simulationTools/MatrixIntegrator.hpp#

Go to the source code of this file

class MatrixIntegrator

Public Functions

MatrixIntegrator(const DynamicalSystem &ds, const NonSmoothDynamicalSystem &nsds, const TimeDiscretisation &td, const SP::SiconosMatrix E)

Constructor to compute \(\int exp(A\tau)E\amthrm{d}\tau\).

Parameters:
  • ds – the DynamicalSystem

  • nsds – current nonsmooth dynamical system

  • td – current time discretisation

  • E – a matrix

MatrixIntegrator(const DynamicalSystem &ds, const NonSmoothDynamicalSystem &nsds, const TimeDiscretisation &td, SP::PluggedObject plugin, const unsigned int p)

Constructor to compute \(\int exp(A\tau)E(\tau)\mathrm{d}\tau\).

Parameters:
  • ds – the DynamicalSystem

  • nsds – current nonsmooth dynamical system

  • td – current time discretisation

  • plugin – the plugin to compute \(E(t)\)

  • p – the number of column in E

MatrixIntegrator(const DynamicalSystem &ds, const NonSmoothDynamicalSystem &nsds, const TimeDiscretisation &td)

Constructor to compute \(\int exp(A\tau)\mathrm{d}\tau\).

Parameters:
  • ds – the DynamicalSystem

  • nsds – current nonsmooth dynamical system

  • td – current time discretisation

void integrate()

Computes the next value of _mat.

inline const SiconosMatrix &mat() const

Get the value of _mat, solution of the ODE.

Returns:

a reference to _mat

inline bool isConst()

Check whether the solution of the ODE is time-invariant.

Protected Functions

void commonInit(const DynamicalSystem &ds, const NonSmoothDynamicalSystem &nsds, const TimeDiscretisation &td)#
inline MatrixIntegrator()#

Default constructor.

Protected Attributes

SP::SiconosMatrix _mat#

The matrix solution to the ODE.

SP::SiconosMatrix _E#

The entry Matrix E.

SP::PluggedObject _plugin#

The entry Matrix E, in the plugin form.

SP::SubPluggedObject _spo#

Plugin to compute the value of a column of E.

bool _isConst#

flag to indicate where the Matrix _mat is constant

SP::DynamicalSystem _DS#

DynamicalSystem to integrate.

SP::NonSmoothDynamicalSystem _nsds#

NonSmoothDynamicalSystem for integration.

SP::TimeDiscretisation _TD#

TimeDiscretisation for integration.

SP::EventDriven _sim#

Simulation (of EventDriven type)

SP::LsodarOSI _OSI#

OneStepIntegrator of type LsodarOSI.

Private Functions

ACCEPT_SERIALIZATION(MatrixIntegrator)#