siconos.kernel.NewtonEulerFrom1DLocalFrameR (Python class)

class siconos.kernel.NewtonEulerFrom1DLocalFrameR[source]

Bases: siconos.kernel.NewtonEulerR

NewtonEulerFrom1DLocalFrameR.

This class is an interface for a relation with impact. It implements the computation of the jacoboian of h from the points of contacts and the normal. Use this class consists in overloading the method computeh, by setting the member pc1, pc2, nc and y. The matrix jachq is used both for the building of the OSNSP (with T) and for the predictor of activation of deactivation of the Interaction.

Generated class (swig), based on C++ header Program listing for file kernel/src/modelingTools/NewtonEulerFrom1DLocalFrameR.hpp.

Constructors

NewtonEulerFrom1DLocalFrameR()

constructorx

Attributes:

_isOnContact (bool) – V.A.

boolean _isOnCOntact ?? Why is it public members ? seems parametrize the projection algorithm the projection is done on the surface \(y=0\) or on \(y \geq 0\)

computeJachq(double time, Interaction inter, BlockVector q0) → None[source]

compute the jacobian of h w.r.t.

q

Parameters:
  • time – current time
  • inter – the interaction using this relation
  • q0 – the container of the block vector to the dynamical system
computeJachqT(Interaction inter, BlockVector q0) → None[source]
computeh(double time, BlockVector q0, array_like (np.float64, 1D) y) → None[source]

to compute y = h(q,v,t) using plug-in mechanism

Parameters:
  • time – current time
  • q0 – the position
  • y – the output
distance() → double[source]

Return the distance between pc1 and pc, with sign according to normal.

initialize(Interaction inter) → None[source]

initialize components specific to derived classes.

Parameters:inter – Interaction associated with the Relation
nc() -> array_like (np.float64, 1D)[source]
pc1() -> array_like (np.float64, 1D)[source]
pc2() -> array_like (np.float64, 1D)[source]
relNc() -> array_like (np.float64, 1D)[source]
relPc1() -> array_like (np.float64, 1D)[source]
relPc2() -> array_like (np.float64, 1D)[source]
setRelNc(array_like (np.float64, 1D) nnc) → None[source]

Set the coordinates of inside normal vector at the contact point in ds2 frame.

It will be used to compute _Nc during computeh().

Parameters:nnc – new coordinates
setRelPc1(array_like (np.float64, 1D) npc) → None[source]

Set the coordinates of first contact point in ds1 frame.

It will be used to compute _Pc1 during computeh().

Parameters:npc – new coordinates
setRelPc2(array_like (np.float64, 1D) npc) → None[source]

Set the coordinates of second contact point in ds2 frame It will be used to compute _Pc2 during computeh().

Parameters:npc – new coordinates