chrono::ChMaterialSurface Class Reference

Description

Material data for a surface: friction, compliance, etc.

This data is used to define surface properties owned by ChBody rigid bodies and similar things; it carries information that is used to make contacts.

#include <ChMaterialSurface.h>

Inheritance diagram for chrono::ChMaterialSurface:
Collaboration diagram for chrono::ChMaterialSurface:

Public Member Functions

 ChMaterialSurface (const ChMaterialSurface &other)
 
virtual ChMaterialSurfaceClone () const override
 "Virtual" copy constructor (covariant return type).
 
virtual ContactMethod GetContactMethod () const override
 
float GetSfriction ()
 The static friction coefficient. More...
 
void SetSfriction (float mval)
 
float GetKfriction ()
 The sliding ('kinetic')friction coefficient. More...
 
void SetKfriction (float mval)
 
void SetFriction (float mval)
 Set both static friction and kinetic friction at once, with same value.
 
float GetRollingFriction ()
 The rolling friction (rolling parameter, it has the dimension of a length). More...
 
void SetRollingFriction (float mval)
 
float GetSpinningFriction ()
 The spinning friction (it has the dimension of a length). More...
 
void SetSpinningFriction (float mval)
 
float GetRestitution ()
 The normal restitution coefficient, for collisions. More...
 
void SetRestitution (float mval)
 
float GetCohesion ()
 The cohesion max. More...
 
void SetCohesion (float mval)
 
float GetDampingF ()
 The damping in contact, as a factor 'f': damping is a multiple of stiffness [K], that is: [R]=f*[K] Measuring unit: time, s. More...
 
void SetDampingF (float mval)
 
float GetCompliance ()
 Compliance of the contact, in normal direction. More...
 
void SetCompliance (float mval)
 
float GetComplianceT ()
 Compliance of the contact, in tangential direction. More...
 
void SetComplianceT (float mval)
 
float GetComplianceRolling ()
 Rolling compliance of the contact, if using a nonzero rolling friction. More...
 
void SetComplianceRolling (float mval)
 
float GetComplianceSpinning ()
 Spinning compliance of the contact, if using a nonzero rolling friction. More...
 
void SetComplianceSpinning (float mval)
 
virtual void ArchiveOUT (ChArchiveOut &marchive) override
 Method to allow serialization of transient data to archives.
 
virtual void ArchiveIN (ChArchiveIn &marchive) override
 Method to allow deserialization of transient data from archives.
 

Public Attributes

float static_friction
 
float sliding_friction
 
float rolling_friction
 
float spinning_friction
 
float restitution
 
float cohesion
 
float dampingf
 
float compliance
 
float complianceT
 
float complianceRoll
 
float complianceSpin
 

Additional Inherited Members

- Public Types inherited from chrono::ChMaterialSurfaceBase
enum  ContactMethod { DVI, DEM }
 

Member Function Documentation

float chrono::ChMaterialSurface::GetCohesion ( )

The cohesion max.

force for normal pulling traction in contacts. Measuring unit: N Default =0.

float chrono::ChMaterialSurface::GetCompliance ( )

Compliance of the contact, in normal direction.

It is the inverse of the stiffness [K] , so for zero value one has a perfectly rigid contact. Measuring unit: m/N Default =0.

float chrono::ChMaterialSurface::GetComplianceRolling ( )

Rolling compliance of the contact, if using a nonzero rolling friction.

(If there is no rolling friction, this has no effect.) Measuring unit: rad/Nm Default =0.

float chrono::ChMaterialSurface::GetComplianceSpinning ( )

Spinning compliance of the contact, if using a nonzero rolling friction.

(If there is no spinning friction, this has no effect.) Measuring unit: rad/Nm Default =0.

float chrono::ChMaterialSurface::GetComplianceT ( )

Compliance of the contact, in tangential direction.

Measuring unit: m/N Default =0.

float chrono::ChMaterialSurface::GetDampingF ( )

The damping in contact, as a factor 'f': damping is a multiple of stiffness [K], that is: [R]=f*[K] Measuring unit: time, s.

Default =0.

float chrono::ChMaterialSurface::GetKfriction ( )

The sliding ('kinetic')friction coefficient.

Default 0.6 Usually in 0..1 range, rarely above. Note: currently the static friction will be used instead, anyway, because of an issue in the solver.

float chrono::ChMaterialSurface::GetRestitution ( )

The normal restitution coefficient, for collisions.

Should be in 0..1 range. Default =0.

float chrono::ChMaterialSurface::GetRollingFriction ( )

The rolling friction (rolling parameter, it has the dimension of a length).

Rolling resistant torque is Tr <= (normal force) * (this parameter) Usually a very low value. Measuring unit: m Default =0. Note! a non-zero value will make the simulation 2x slower! Also, the GPU solver currently does not support rolling friction. Default: 0.

float chrono::ChMaterialSurface::GetSfriction ( )

The static friction coefficient.

Usually in 0..1 range, rarely above. Default 0.6

float chrono::ChMaterialSurface::GetSpinningFriction ( )

The spinning friction (it has the dimension of a length).

Spinning resistant torque is Ts <= (normal force) * (this parameter) Usually a very low value. Measuring unit: m Default =0. Note! a non-zero value will make the simulation 2x slower! Also, the GPU solver currently does not support spinning friction. Default: 0.