chrono::ChContactNSC< Ta, Tb > Class Template Reference
Description
template<class Ta, class Tb>
class chrono::ChContactNSC< Ta, Tb >
Class for non-smooth contact between two generic ChContactable objects.
Ta and Tb are of ChContactable sub classes.
#include <ChContactNSC.h>
Inheritance diagram for chrono::ChContactNSC< Ta, Tb >:

Collaboration diagram for chrono::ChContactNSC< Ta, Tb >:

Public Types | |
| typedef ChContactTuple< Ta, Tb >::typecarr_a | typecarr_a |
| typedef ChContactTuple< Ta, Tb >::typecarr_b | typecarr_b |
Public Types inherited from chrono::ChContactTuple< Ta, Tb > | |
| typedef Ta::type_variable_tuple_carrier | typecarr_a |
| typedef Tb::type_variable_tuple_carrier | typecarr_b |
Public Member Functions | |
| ChContactNSC (ChContactContainer *mcontainer, Ta *mobjA, Tb *mobjB, const collision::ChCollisionInfo &cinfo, const ChMaterialCompositeNSC &mat) | |
| virtual void | Reset (Ta *mobjA, Tb *mobjB, const collision::ChCollisionInfo &cinfo, const ChMaterialCompositeNSC &mat) |
| Reinitialize this contact for reuse. More... | |
| virtual ChVector | 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 &mdescriptor) 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::ChContactTuple< Ta, Tb > | |
| ChContactTuple (ChContactContainer *mcontainer, Ta *mobjA, Tb *mobjB, const collision::ChCollisionInfo &cinfo) | |
| void | Reset_cinfo (Ta *mobjA, Tb *mobjB, const collision::ChCollisionInfo &cinfo) |
| Reinitialize geometric information for this contact for reuse. More... | |
| Ta * | GetObjA () |
| Get the colliding object A, with point P1. | |
| Tb * | 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 ChVector & | GetContactP1 () const |
| Get the contact point 1, in absolute coordinates. | |
| const ChVector & | GetContactP2 () const |
| Get the contact point 2, in absolute coordinates. | |
| const ChVector & | 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 void | ContIntLoadResidual_F (ChVectorDynamic<> &R, const double c) |
| virtual void | ContInjectKRMmatrices (ChSystemDescriptor &mdescriptor) |
| virtual void | ContKRMmatricesLoad (double Kfactor, double Rfactor) |
Protected Attributes | |
| float * | reactions_cache |
| N,U,V reactions which might be stored in a persistent contact manifold. | |
| ChConstraintTwoTuplesContactN< typecarr_a, typecarr_b > | Nx |
| The three scalar constraints, to be fed into the system solver. More... | |
| ChConstraintTwoTuplesFrictionT< typecarr_a, typecarr_b > | Tu |
| ChConstraintTwoTuplesFrictionT< typecarr_a, typecarr_b > | Tv |
| ChVector | react_force |
| double | compliance |
| double | complianceT |
| double | restitution |
| double | dampingf |
Protected Attributes inherited from chrono::ChContactTuple< Ta, Tb > | |
| ChContactContainer * | container |
| associated contact container | |
| Ta * | objA |
| first ChContactable object in the pair | |
| Tb * | objB |
| second ChContactable object in the pair | |
| ChVector | p1 |
| max penetration point on geo1, after refining, in abs space | |
| ChVector | p2 |
| max penetration point on geo2, after refining, in abs space | |
| ChVector | 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 | |
Constructor & Destructor Documentation
◆ ChContactNSC()
template<class Ta , class Tb >
|
inline |
- Parameters
-
mcontainer contact container mobjA collidable object A mobjB collidable object B cinfo data for the collision pair mat composite material
Member Function Documentation
◆ Reset()
template<class Ta , class Tb >
|
inlinevirtual |
Reinitialize this contact for reuse.
- Parameters
-
mobjA collidable object A mobjB collidable object B cinfo data for the collision pair mat composite material
Reimplemented in chrono::ChContactNSCrolling< Ta, Tb >.
Member Data Documentation
◆ Nx
template<class Ta , class Tb >
|
protected |
The three scalar constraints, to be fed into the system solver.
They contain jacobians data and special functions.
The documentation for this class was generated from the following file:
- /builds/uwsbel/chrono/src/chrono/physics/ChContactNSC.h
Public Types inherited from