siconos.mechanics.joints.PrismaticJointR (Python class)

class siconos.mechanics.joints.PrismaticJointR(*args)[source]

Bases: siconos.mechanics.joints.NewtonEulerJointR

This class implements a prismatic joint between one or two Newton/Euler Dynamical system.

From a given axis, we construct two unit othorgonal vectors to the axis V1 and V2 such that (axis,V1,V2) is an orthogonal frame

Generated class (swig), based on C++ header Program listing for file mechanics/src/joints/PrismaticJointR.hpp.

Constructors

PrismaticJointR()

Empty constructor.

The relation may be initialized later by setPoint, setAbsolute, and setBasePositions.

PrismaticJointR(array_like (np.float64, 1D) axis, bool absoluteRef, NewtonEulerDS d1=NewtonEulerDS(), NewtonEulerDS d2=NewtonEulerDS())

Constructor based on one or two dynamical systems and an axis.

Parameters:
  • d1 – first DynamicalSystem linked by the joint.
  • d2 – second DynamicalSystem linked by the joint, or NULL for absolute frame.
  • axis – SiconosVector of size 3 that defines the prismatic axis.
  • absoluteRef – if true, A is in the absolute frame, otherwise A is in d1 frame.
DotJd1d2(double Xdot1, double Ydot1, double Zdot1, double qdot10, double qdot11, double qdot12, double qdot13, double Xdot2, double Ydot2, double Zdot2, double qdot20, double qdot21, double qdot22, double qdot23) → None[source]
DotJd2(double Xdot1, double Ydot1, double Zdot1, double qdot10, double qdot11, double qdot12, double qdot13, double X2, double Y2, double Z2, double qdot20, double qdot21, double qdot22, double qdot23) → None[source]
H1(double X1, double Y1, double Z1, double q10, double q11, double q12, double q13, double X2, double Y2, double Z2, double q20, double q21, double q22, double q23) → double[source]
H2(double X1, double Y1, double Z1, double q10, double q11, double q12, double q13, double X2, double Y2, double Z2, double q20, double q21, double q22, double q23) → double[source]
H3(double X1, double Y1, double Z1, double q10, double q11, double q12, double q13, double X2, double Y2, double Z2, double q20, double q21, double q22, double q23) → double[source]
H4(double X1, double Y1, double Z1, double q10, double q11, double q12, double q13, double X2, double Y2, double Z2, double q20, double q21, double q22, double q23) → double[source]
H5(double X1, double Y1, double Z1, double q10, double q11, double q12, double q13, double X2, double Y2, double Z2, double q20, double q21, double q22, double q23) → double[source]
Jd1(double X1, double Y1, double Z1, double q10, double q11, double q12, double q13) → None[source]
Jd1d2(double X1, double Y1, double Z1, double q10, double q11, double q12, double q13, double X2, double Y2, double Z2, double q20, double q21, double q22, double q23) → None[source]
computeDotJachq(double time, BlockVector workQ, BlockVector workZ, BlockVector workQdot) → None[source]
computeJachq(double time, Interaction inter, BlockVector q0) → None[source]
computeJachqDoF(double time, Interaction inter, BlockVector q0, array_like (np.float64, 2D) jachq, int axis) → None[source]

Compute the jacobian of linear and angular DoF with respect to some q.

computeV1V2FromAxis() → None[source]
computeh(double time, BlockVector q0, array_like (np.float64, 1D) y) → None[source]
computehDoF(double time, BlockVector q0, array_like (np.float64, 1D) y, int axis) → None[source]

Compute the vector of linear and angular positions of the free axes.

displayInitialPosition() → None[source]
numberOfConstraints() → int[source]

Get the number of constraints defined in the joint.

Returns:the number of constraints
numberOfDoF() → int[source]

Return the number of degrees of freedom of this joint.

Returns:the number of degrees of freedom (DoF)
setBasePositions(array_like (np.float64, 1D) q1, array_like (np.float64, 1D) q2=array_like (np.float64, 1D)()) → None[source]

Initialize the joint constants based on the provided base positions.

Parameters:
  • q1 – A SiconosVector of size 7 indicating translation and orientation in inertial coordinates.
  • q2 – An optional SiconosVector of size 7 indicating translation and orientation; if null, the inertial frame will be considered as the second base.
typeOfDoF(int axis) → DoF_Type[source]

Return the type of a degree of freedom of this joint.

Returns:the type of the degree of freedom (DoF)