chrono::ChContactNSC Class Reference
  Description
Class for non-smooth contact between two generic ChContactable objects.
#include <ChContactNSC.h>
Inheritance diagram for chrono::ChContactNSC:

Collaboration diagram for chrono::ChContactNSC:

| Public Member Functions | |
| ChContactNSC (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) | 
| Reinitialize this contact for reuse.  More... | |
| 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 () | 
| 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 | 
|  Public Member Functions inherited from chrono::ChContact | |
| 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 | |
| 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 | 
|  Protected Attributes inherited from chrono::ChContact | |
| 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 | |
|  Protected Member Functions inherited from chrono::ChContact | |
| ChContact (ChContactContainer *contact_container, ChContactable *obj_A, ChContactable *obj_B) | |
Constructor & Destructor Documentation
◆ ChContactNSC()
| chrono::ChContactNSC::ChContactNSC | ( | 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()
| 
 | virtual | 
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 in chrono::ChContactNSCrolling.
The documentation for this class was generated from the following files:
- /builds/uwsbel/chrono/src/chrono/physics/ChContactNSC.h
- /builds/uwsbel/chrono/src/chrono/physics/ChContactNSC.cpp
