File mechanics/src/joints/JointFrictionR.hpp

Go to the source code of this file

class JointFrictionR : public NewtonEulerR
#include <>

This class implements a friction on a DoF for any NewtonEulerJointR.

Public Functions

JointFrictionR(SP::NewtonEulerJointR joint, unsigned int axis)

Initialize a joint friction for a common case: a single axis with a single friction, either positive or negative.

For use with NewtonImpactNSL.

JointFrictionR(SP::NewtonEulerJointR joint, SP::UnsignedIntVector axes = SP::UnsignedIntVector())

Initialize a multidimensional joint friction, e.g.

the cone friction on a ball joint. For use with NewtonImpactFrictionNSL size 2 or 3.

virtual void computeh(double time, const BlockVector &q0, SiconosVector &y)

to compute the output y = h(t,q,z) of the Relation

Parameters
  • time – current time value

  • q – coordinates of the dynamical systems involved in the relation

  • y – the resulting vector

virtual void computeJachq(double time, Interaction &inter, SP::BlockVector q0)
virtual unsigned int numberOfConstraints()
inline unsigned int axis(unsigned int _index)

Return the joint axis number assigned to a friction axis.

inline SP::NewtonEulerJointR joint()

Return the joint assigned to this friction relation.

inline unsigned int numberOfAxes()

Return the number of joint axes indexed by this relation.

inline virtual ~JointFrictionR()

Protected Functions

ACCEPT_SERIALIZATION(JointFrictionR)
inline JointFrictionR()

Protected Attributes

SP::NewtonEulerJointR _joint
SP::UnsignedIntVector _axis
unsigned int _axisMin
unsigned int _axisMax
SP::SimpleMatrix _jachqTmp