chrono::ChMaterialSurfaceNSC Class Reference

## Description

Material data for a surface for use with non-smooth (complementarity) contact method.

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

#include <ChMaterialSurfaceNSC.h>

Inheritance diagram for chrono::ChMaterialSurfaceNSC:
Collaboration diagram for chrono::ChMaterialSurfaceNSC:

## Public Member Functions

ChMaterialSurfaceNSC (const ChMaterialSurfaceNSC &other)

virtual ChMaterialSurfaceNSCClone () 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::ChMaterialSurface
enum  ContactMethod { NSC, SMC }

## Member Function Documentation

 float chrono::ChMaterialSurfaceNSC::GetCohesion ( )

The cohesion max.

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

 float chrono::ChMaterialSurfaceNSC::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::ChMaterialSurfaceNSC::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::ChMaterialSurfaceNSC::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::ChMaterialSurfaceNSC::GetComplianceT ( )

Compliance of the contact, in tangential direction.

Measuring unit: m/N Default =0.

 float chrono::ChMaterialSurfaceNSC::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::ChMaterialSurfaceNSC::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::ChMaterialSurfaceNSC::GetRestitution ( )

The normal restitution coefficient, for collisions.

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

 float chrono::ChMaterialSurfaceNSC::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::ChMaterialSurfaceNSC::GetSfriction ( )

The static friction coefficient.

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

 float chrono::ChMaterialSurfaceNSC::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.