chrono::ChContactNSCrolling Class Reference
Description
Class for non-smooth contact with rolling between two generic ChContactable objects.
It inherits ChContactNSC, which has three reaction forces (N,U,V) and adds three rolling reaction torques.
#include <ChContactNSCrolling.h>
Inheritance diagram for chrono::ChContactNSCrolling:

Collaboration diagram for chrono::ChContactNSCrolling:

Public Member Functions | |
ChContactNSCrolling (ChContactContainer *contact_container, ChContactable *obj_A, ChContactable *obj_B, const ChCollisionInfo &cinfo, const ChContactMaterialCompositeNSC &mat, double min_speed) | |
virtual void | Reset (ChContactable *obj_A, ChContactable *obj_B, const ChCollisionInfo &cinfo, const ChContactMaterialCompositeNSC &mat, double min_speed) override |
Reinitialize this contact for reuse. More... | |
virtual ChVector3d | GetContactTorque () |
Get the contact force, if computed, in contact coordinate system. | |
virtual float | GetRollingFriction () |
Get the contact rolling friction coefficient. | |
virtual void | SetRollingFriction (float mf) |
Set the contact rolling friction coefficient. | |
virtual float | GetSpinningFriction () |
Get the contact spinning friction coefficient. | |
virtual void | SetSpinningFriction (float mf) |
Set the contact spinning friction coefficient. | |
ChConstraint * | GetConstraintRu () |
Access the constraints. | |
ChConstraint * | GetConstraintRv () |
ChConstraint * | GetConstraintRx () |
virtual void | ContIntStateGatherReactions (const unsigned int off_L, ChVectorDynamic<> &L) override |
virtual void | ContIntStateScatterReactions (const unsigned int off_L, const ChVectorDynamic<> &L) override |
virtual void | ContIntLoadResidual_CqL (const unsigned int off_L, ChVectorDynamic<> &R, const ChVectorDynamic<> &L, const double c) override |
virtual void | ContIntLoadConstraint_C (const unsigned int off_L, ChVectorDynamic<> &Qc, const double c, bool do_clamp, double recovery_clamp) override |
virtual void | ContIntToDescriptor (const unsigned int off_L, const ChVectorDynamic<> &L, const ChVectorDynamic<> &Qc) override |
virtual void | ContIntFromDescriptor (const unsigned int off_L, ChVectorDynamic<> &L) override |
virtual void | InjectConstraints (ChSystemDescriptor &descriptor) override |
virtual void | ConstraintsBiReset () override |
virtual void | ConstraintsBiLoad_C (double factor=1., double recovery_clamp=0.1, bool do_clamp=false) override |
virtual void | ConstraintsFetch_react (double factor) override |
![]() | |
ChContactNSC (ChContactContainer *contact_container, ChContactable *obj_A, ChContactable *obj_B, const ChCollisionInfo &cinfo, const ChContactMaterialCompositeNSC &mat, double min_speed) | |
virtual ChVector3d | GetContactForce () const override |
Get the contact force, if computed, in contact coordinate system. | |
virtual double | GetFriction () |
Get the contact friction coefficient. | |
virtual void | SetFriction (double mf) |
Set the contact friction coefficient. | |
ChConstraint * | GetConstraintNx () |
Access the constraints. | |
ChConstraint * | GetConstraintTu () |
ChConstraint * | GetConstraintTv () |
![]() | |
void | Reset_cinfo (ChContactable *obj_A, ChContactable *obj_B, const ChCollisionInfo &cinfo) |
Reinitialize geometric information for this contact for reuse. More... | |
ChContactable * | GetObjA () |
Get the colliding object A, with point P1. | |
ChContactable * | GetObjB () |
Get the colliding object B, with point P2. | |
ChCoordsys | GetContactCoords () const |
Get the contact coordinate system, expressed in absolute frame. More... | |
const ChMatrix33 & | GetContactPlane () const |
Returns the pointer to a contained 3x3 matrix representing the UV and normal directions of the contact. More... | |
const ChVector3d & | GetContactP1 () const |
Get the contact point 1, in absolute coordinates. | |
const ChVector3d & | GetContactP2 () const |
Get the contact point 2, in absolute coordinates. | |
const ChVector3d & | GetContactNormal () const |
Get the contact normal, in absolute coordinates. | |
double | GetContactDistance () const |
Get the contact distance. | |
double | GetEffectiveCurvatureRadius () const |
Get the effective radius of curvature. | |
virtual ChVector3d | GetContactTorque () const |
Get the contact torque, if computed, in contact coordinate system. | |
virtual void | ContIntLoadResidual_F (ChVectorDynamic<> &R, const double c) |
virtual void | ContInjectKRMmatrices (ChSystemDescriptor &mdescriptor) |
virtual void | ContKRMmatricesLoad (double Kfactor, double Rfactor) |
Protected Attributes | |
ChConstraintRollingNormal | Rx |
normal rolling constraint | |
ChConstraintRollingTangential | Ru |
first tangential rolling constraint | |
ChConstraintRollingTangential | Rv |
second tangential rolling constraint | |
ChVector3d | react_torque |
constraint reaction torque | |
float | complianceRoll |
float | complianceSpin |
![]() | |
ChConstraintContactNormal | Nx |
normal constraint | |
ChConstraintContactTangential | Tu |
first tangential sliding constraint | |
ChConstraintContactTangential | Tv |
second tangential sliding constraint | |
float * | reactions_cache |
N,U,V reactions potentially stored in a persistent contact manifold. | |
ChVector3d | react_force |
constraint reaction force | |
double | compliance |
double | complianceT |
double | restitution |
double | dampingf |
double | min_rebounce_speed |
![]() | |
ChContactContainer * | container |
associated contact container | |
ChContactable * | objA |
first ChContactable object in the pair | |
ChContactable * | objB |
second ChContactable object in the pair | |
ChVector3d | p1 |
max penetration point on geo1, after refining, in abs space | |
ChVector3d | p2 |
max penetration point on geo2, after refining, in abs space | |
ChVector3d | normal |
normal, on surface of master reference (geo1) | |
ChMatrix33 | contact_plane |
the plane of contact (X is normal direction) | |
double | norm_dist |
penetration distance (negative if going inside) after refining | |
double | eff_radius |
effective radius of curvature at contact | |
Additional Inherited Members | |
![]() | |
ChContact (ChContactContainer *contact_container, ChContactable *obj_A, ChContactable *obj_B) | |
Constructor & Destructor Documentation
◆ ChContactNSCrolling()
chrono::ChContactNSCrolling::ChContactNSCrolling | ( | ChContactContainer * | contact_container, |
ChContactable * | obj_A, | ||
ChContactable * | obj_B, | ||
const ChCollisionInfo & | cinfo, | ||
const ChContactMaterialCompositeNSC & | mat, | ||
double | min_speed | ||
) |
- Parameters
-
contact_container contact container obj_A contactable object A obj_B contactable object B cinfo data for the collision pair mat composite material min_speed minimum speed for rebounce
Member Function Documentation
◆ Reset()
|
overridevirtual |
Reinitialize this contact for reuse.
- Parameters
-
obj_A contactable object A obj_B contactable object B cinfo data for the collision pair mat composite material min_speed minimum speed for rebounce
Reimplemented from chrono::ChContactNSC.
The documentation for this class was generated from the following files:
- /builds/uwsbel/chrono/src/chrono/physics/ChContactNSCrolling.h
- /builds/uwsbel/chrono/src/chrono/physics/ChContactNSCrolling.cpp