chrono::fea::ChContinuumElastic Class Reference

Description

Class for the basic properties of materials in an elastic continuum.

This is a base material with isotropic Hookean elasticity.

#include <ChContinuumMaterial.h>

Inheritance diagram for chrono::fea::ChContinuumElastic:
Collaboration diagram for chrono::fea::ChContinuumElastic:

Public Member Functions

 ChContinuumElastic (double young=1e7, double poisson=0.4, double density=1000)
 
 ChContinuumElastic (const ChContinuumElastic &other)
 
void SetYoungModulus (double E)
 Set the Young elastic modulus, as the ratio of the uniaxial stress over the uniaxial strain, for hookean materials.
 
double GetYoungModulus () const
 Get the Young elastic modulus.
 
void SetPoissonRatio (double v)
 Set the Poisson ratio. More...
 
double GetPoissonRatio () const
 Get the Poisson ratio, as v=-transverse_strain/axial_strain.
 
void SetShearModulus (double G)
 Set the shear modulus G. More...
 
double GetShearModulus () const
 Get the shear modulus G.
 
double GetLameFirstParam () const
 Get Lame first parameter. More...
 
double GetBulkModulus () const
 Get bulk modulus (increase of pressure for decrease of volume).
 
double GetPWaveModulus () const
 Get P-wave modulus. More...
 
void ComputeStressStrainMatrix ()
 Computes elasticity matrix and stores the value in this->StressStrainMatrix. More...
 
ChMatrixDynamicGetStressStrainMatrix ()
 Get the Elasticity matrix.
 
void ComputeElasticStress (ChStressTensor<> &stress, const ChStrainTensor<> &strain) const
 Compute elastic stress from elastic strain. More...
 
void ComputeElasticStrain (ChStrainTensor<> &strain, const ChStressTensor<> &stress) const
 Compute elastic strain from elastic stress. More...
 
void SetRayleighDampingAlpha (double alpha)
 Set the Rayleigh mass-proportional damping factor alpha. More...
 
double GetRayleighDampingAlpha () const
 Set the Rayleigh mass-proportional damping factor alpha.
 
void SetRayleighDampingBeta (double beta)
 Set the Rayleigh stiffness-proportional damping factor beta. More...
 
double GetRayleighDampingBeta () const
 Set the Rayleigh stiffness-proportional damping factor beta.
 
virtual void ArchiveOut (ChArchiveOut &archive_out) override
 
virtual void ArchiveIn (ChArchiveIn &archive_in) override
 
- Public Member Functions inherited from chrono::fea::ChContinuumMaterial
 ChContinuumMaterial (double density=1000)
 
 ChContinuumMaterial (const ChContinuumMaterial &other)
 
void SetDensity (double density)
 Set the density of the material.
 
double GetDensity () const
 Get the density of the material.
 

Additional Inherited Members

- Protected Attributes inherited from chrono::fea::ChContinuumMaterial
double m_density
 

Member Function Documentation

◆ ComputeElasticStrain()

void chrono::fea::ChContinuumElastic::ComputeElasticStrain ( ChStrainTensor<> &  strain,
const ChStressTensor<> &  stress 
) const

Compute elastic strain from elastic stress.

(using column tensors, in Voigt notation)

◆ ComputeElasticStress()

void chrono::fea::ChContinuumElastic::ComputeElasticStress ( ChStressTensor<> &  stress,
const ChStrainTensor<> &  strain 
) const

Compute elastic stress from elastic strain.

(using column tensors, in Voigt notation)

◆ ComputeStressStrainMatrix()

void chrono::fea::ChContinuumElastic::ComputeStressStrainMatrix ( )

Computes elasticity matrix and stores the value in this->StressStrainMatrix.

Note: is performed every time you change a material parameter.

◆ GetLameFirstParam()

double chrono::fea::ChContinuumElastic::GetLameFirstParam ( ) const
inline

Get Lame first parameter.

The second is shear modulus, which can be obtained via GetShearModulus().

◆ GetPWaveModulus()

double chrono::fea::ChContinuumElastic::GetPWaveModulus ( ) const
inline

Get P-wave modulus.

If V=speed of propagation of a P-wave, then (M/density)=V^2.

◆ SetPoissonRatio()

void chrono::fea::ChContinuumElastic::SetPoissonRatio ( double  v)

Set the Poisson ratio.

The Poisson ratio is set as v = -transverse_strain/axial_strain, so that it takes into account the 'squeezing' effect of materials that are pulled. Note: v = 0.5 means perfectly incompressible material, that could give problems with some type of solvers. Setting v also changes G.

◆ SetRayleighDampingAlpha()

void chrono::fea::ChContinuumElastic::SetRayleighDampingAlpha ( double  alpha)
inline

Set the Rayleigh mass-proportional damping factor alpha.

This builds the damping R as R = alpha*M + beta*K

◆ SetRayleighDampingBeta()

void chrono::fea::ChContinuumElastic::SetRayleighDampingBeta ( double  beta)
inline

Set the Rayleigh stiffness-proportional damping factor beta.

This builds the damping R as R = alpha*M + beta*K

◆ SetShearModulus()

void chrono::fea::ChContinuumElastic::SetShearModulus ( double  G)

Set the shear modulus G.

Setting G also changes Poisson ratio v.


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