chrono::ChMaterialSurfaceSMC Class Reference

Description

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)
inline

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)
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 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