chrono::ChMaterialSurfaceSMC Class Reference


Material data for a collision surface for use with smooth (penalty) contact method.

#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 ChContactMethod GetContactMethod () const override
void SetYoungModulus (float val)
 Young's modulus.
float GetYoungModulus () const
void SetPoissonRatio (float val)
float GetPoissonRatio () const
void SetAdhesion (float val)
 Constant cohesion force.
float GetAdhesion () const
void SetAdhesionMultDMT (float val)
 Adhesion multiplier in the Derjaguin-Muller-Toporov model. More...
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 serialization transient data into 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 Member Functions inherited from chrono::ChMaterialSurface
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. In the range [0,1]. Default 0.
float GetRestitution () const

Public Attributes

float young_modulus
 Young's modulus (elastic modulus)
float poisson_ratio
 Poisson ratio.
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
- Public Attributes inherited from chrono::ChMaterialSurface
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.

Additional Inherited Members

- Static Public Member Functions inherited from chrono::ChMaterialSurface
static std::shared_ptr< ChMaterialSurfaceDefaultMaterial (ChContactMethod contact_method)
 Construct and return a contact material of the specified type with default properties.
- Protected Member Functions inherited from chrono::ChMaterialSurface
 ChMaterialSurface (const ChMaterialSurface &other)

Member Function Documentation

◆ SetAdhesionMultDMT()

void chrono::ChMaterialSurfaceSMC::SetAdhesionMultDMT ( float  val)

Adhesion multiplier in the Derjaguin-Muller-Toporov model.

In this model,
   adhesion = adhesionMultDMT * sqrt(R_eff)
given the surface energy, w,
   adhesionMultDMT = 2 * CH_C_PI * w * sqrt(R_eff)
given the equilibrium penetration distance, y_eq,
   adhesionMultDMT = 4.0 / 3.0 * E_eff * powf(y_eq, 1.5)

◆ SetAdhesionSPerko()

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

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 measure of cleanliness S.
For lunar regolith, 
   adhesionSPerko = 3.6e-2 * S^2

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