chrono::ChMaterialSurfaceSMC Class Reference

Description

Material data for a surface for use with smooth (penalty) 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 <ChMaterialSurfaceSMC.h>

Inheritance diagram for chrono::ChMaterialSurfaceSMC:
Collaboration diagram for chrono::ChMaterialSurfaceSMC:

Public Member Functions

 ChMaterialSurfaceSMC (const ChMaterialSurfaceSMC &other)
 
virtual ChMaterialSurfaceSMCClone () const override
 "Virtual" copy constructor (covariant return type).
 
virtual ContactMethod GetContactMethod () const override
 
void SetYoungModulus (float val)
 Young's modulus.
 
float GetYoungModulus () const
 
void SetPoissonRatio (float val)
 
float GetPoissonRatio () const
 
void SetSfriction (float val)
 Static sliding friction coefficient. More...
 
float GetSfriction () const
 
void SetKfriction (float val)
 Kinetic sliding friction coefficient.
 
float GetKfriction () const
 
void SetFriction (float val)
 Set both static friction and kinetic friction at once, with same value.
 
void SetRollingFriction (float val)
 Rolling friction coefficient. Usually around 1E-3. Default = 0.
 
float GetRollingFriction () const
 
void SetSpinningFriction (float val)
 Spinning friction coefficient. Usually around 1E-3. Default = 0.
 
float GetSpinningFriction () const
 
void SetRestitution (float val)
 Normal coefficient of restitution.
 
float GetRestitution () const
 
void SetAdhesion (float val)
 Constant cohesion force.
 
float GetAdhesion () const
 
void SetAdhesionMultDMT (float val)
 Adhesion multiplier in the Derjaguin-Muller-Toporov model.
 
float GetAdhesionMultDMT () const
 
void SetAdhesionSPerko (float val)
 Coefficient for Perko adhesion model. More...
 
float GetAdhesionSPerko () const
 
void SetKn (float val)
 Stiffness and damping coefficients.
 
void SetKt (float val)
 
void SetGn (float val)
 
void SetGt (float val)
 
float GetKn () const
 
float GetKt () const
 
float GetGn () const
 
float GetGt () const
 
virtual void StreamOUT (ChStreamOutAscii &mstream)
 Method to allow serializing transient data into in ASCII.
 
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 young_modulus
 Young's modulus (elastic modulus)
 
float poisson_ratio
 Poisson ratio.
 
float static_friction
 Static coefficient of friction.
 
float sliding_friction
 Kinetic coefficient of friction.
 
float rolling_friction
 Rolling coefficient of friction.
 
float spinning_friction
 Spinning coefficient of friction.
 
float restitution
 Coefficient of restitution.
 
float constant_adhesion
 Constant adhesion force, when constant adhesion model is used.
 
float adhesionMultDMT
 Adhesion multiplier used in DMT model.
 
float adhesionSPerko
 Adhesion multiplier used in Perko model.
 
float kn
 user-specified normal stiffness coefficient
 
float kt
 user-specified tangential stiffness coefficient
 
float gn
 user-specified normal damping coefficient
 
float gt
 user-specified tangential damping coefficient
 

Additional Inherited Members

- Public Types inherited from chrono::ChMaterialSurface
enum  ContactMethod { NSC, SMC }
 

Member Function Documentation

◆ SetAdhesionSPerko()

void chrono::ChMaterialSurfaceSMC::SetAdhesionSPerko ( float  val)
inline

Coefficient for Perko adhesion model.

In this model (see Perko et al., 2001), adhesion = adhesionSPerko * R. The coefficient adhesionSPerko is function of the Hamaker constant A and a measurement of cleanliness S. For lunar regolith, adhesionSPerko = 3.6e-2 * S^2.

◆ SetSfriction()

void chrono::ChMaterialSurfaceSMC::SetSfriction ( float  val)
inline

Static sliding friction coefficient.

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


The documentation for this class was generated from the following files:
  • /builds/uwsbel/chrono/src/chrono/physics/ChMaterialSurfaceSMC.h
  • /builds/uwsbel/chrono/src/chrono/physics/ChMaterialSurfaceSMC.cpp