siconos.kernel.MoreauJeanBilbaoOSI (Python class)

class siconos.kernel.MoreauJeanBilbaoOSI[source]

Bases: siconos.kernel.OneStepIntegrator

Constructors

MoreauJeanBilbaoOSI()
addInteractionInIndexSet(Interaction inter, int i) → bool[source]

Apply the rule to one Interaction to know if it should be included in the IndexSet of level i.

Parameters:
  • inter – the Interaction to test
  • i – level of the IndexSet
Returns:

Boolean

computeFreeOutput(InteractionsGraph::VDescriptor vertex_inter, OneStepNSProblem *osnsp) → None[source]

integrates the Interaction linked to this integrator, without taking non-smooth effects into account

Parameters:
  • vertex_inter – vertex of the interaction graph
  • osnsp – pointer to OneStepNSProblem
computeFreeState() → None[source]

Perform the integration of the dynamical systems linked to this integrator without taking into account the nonsmooth input ( _p)

computeResidu() → double[source]

return the maximum of all norms for the “MoreauJeanOSI-discretized” residus of DS

Returns:a double
compute_parameters(double time_step, double omega, double sigma, double theta, double sigma_star) → None[source]
display() → None[source]

print the data to the screen

initializeWorkVectorsForDS(double t, DynamicalSystem ds) → None[source]

initialization of the work vectors and matrices (properties) related to one dynamical system on the graph and needed by the osi

Parameters:
  • t – time of initialization
  • ds – the dynamical system
initializeWorkVectorsForInteraction(Interaction inter, InteractionProperties interProp, DynamicalSystemsGraph DSG) → None[source]

initialization of the work vectors and matrices (properties) related to one interaction on the graph and needed by the osi

Parameters:
  • inter – the interaction
  • interProp – the properties on the graph
  • DSG – the dynamical systems graph
initialize_nonsmooth_problems() → None[source]

Initialization process of the nonsmooth problems linked to this OSI.

integrate(double tinit, double tend, double tout, int idid) → None[source]

integrate the system, between tinit and tend (->iout=true), with possible stop at tout (->iout=false)

Parameters:
  • tinit – initial time
  • tend – end time
  • tout – real end time
  • idid – flag used in EventDriven schemes
iteration_matrix(DynamicalSystem ds) -> array_like (np.float64, 2D)[source]

get iteration_matrix (pointer link) corresponding to DynamicalSystem ds

Parameters:ds – a pointer to DynamicalSystem
Returns:pointer to a SiconosMatrix
numberOfIndexSets() → int[source]

get the number of index sets required for the simulation

Returns:unsigned int
prepareNewtonIteration(double time) → None[source]
removeInteractionFromIndexSet(Interaction inter, int i) → bool[source]

Apply the rule to one Interaction to know if it should be removed from the IndexSet of level i.

Parameters:
  • inter – the Interaction to test
  • i – level of the IndexSet
Returns:

Boolean

updatePosition(DynamicalSystem ds) → None[source]

update the state of the dynamical systems

Parameters:ds – the dynamical to update
updateState(int level) → None[source]

update the state of the DynamicalSystem attached to this Integrator

Parameters:level – level of interest for the dynamics level is set to 0 by default since in all time-stepping schemes we update all the state whatever the value of level is.