chrono::ChContactMaterialSMC Class Reference


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

#include <ChContactMaterialSMC.h>

Inheritance diagram for chrono::ChContactMaterialSMC:
Collaboration diagram for chrono::ChContactMaterialSMC:

Public Member Functions

 ChContactMaterialSMC (const ChContactMaterialSMC &other)
virtual ChContactMaterialSMCClone () 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 ArchiveOut (ChArchiveOut &archive_out) override
 Method to allow serialization of transient data to archives.
virtual void ArchiveIn (ChArchiveIn &archive_in) override
 Method to allow deserialization of transient data from archives.
- Public Member Functions inherited from chrono::ChContactMaterial
void SetStaticFriction (float val)
 Set the static friction coefficient. More...
float GetStaticFriction () const
 Get the static friction coefficient.
void SetSlidingFriction (float val)
 Set the sliding (kinetic) friction coefficient.
float GetSlidingFriction () const
 Get the sliding friction coefficient.
void SetFriction (float val)
 Set both static friction and sliding friction at once, with same value.
void SetRollingFriction (float val)
 Set the rolling friction coefficient (default: 0). More...
float GetRollingFriction () const
 Get the rolling friction coefficient.
void SetSpinningFriction (float val)
 Set the spinning friction coefficient (default: 0). More...
float GetSpinningFriction () const
 Get the roliung friction coefficient.
void SetRestitution (float val)
 Set the ormal coefficient of restitution (default: 0). More...
float GetRestitution () const
 Get the coefficient of restitution.

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::ChContactMaterial
float static_friction
 static coefficient of friction
float sliding_friction
 sliding 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::ChContactMaterial
static std::shared_ptr< ChContactMaterialDefaultMaterial (ChContactMethod contact_method)
 Construct and return a contact material of the specified type with default properties.
- Protected Member Functions inherited from chrono::ChContactMaterial
 ChContactMaterial (const ChContactMaterial &other)

Member Function Documentation

◆ SetAdhesionMultDMT()

void chrono::ChContactMaterialSMC::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_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::ChContactMaterialSMC::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/ChContactMaterialSMC.h
  • /builds/uwsbel/chrono/src/chrono/physics/ChContactMaterialSMC.cpp