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=10000000, double poisson=0.4, double density=1000)
 
 ChContinuumElastic (const ChContinuumElastic &other)
 
void SetYoungModulus (double E)
 Set the Young elastic modulus, in Pa (N/m^2), as the ratio of the uniaxial stress over the uniaxial strain, for hookean materials.
 
double GetYoungModulus () const
 Get the Young elastic modulus, in Pa (N/m^2).
 
void SetPoissonRatio (double v)
 Set the Poisson ratio, as v=-transverse_strain/axial_strain, so takes into account the 'squeezing' effect of materials that are pulled. More...
 
double GetPoissonRatio () const
 Get the Poisson ratio, as v=-transverse_strain/axial_strain.
 
void SetShearModulus (double G)
 Set the shear modulus G, in Pa (N/m^2). More...
 
double GetShearModulus () const
 Get the shear modulus G, in Pa (N/m^2)
 
double GetLameFirstParam () const
 Get Lamé first parameter (the second is shear modulus, so GetShearModulus() )
 
double GetBulkModulus () const
 Get bulk modulus (increase of pressure for decrease of volume), in Pa.
 
double GetPWaveModulus () const
 Get P-wave modulus (if V=speed of propagation of a P-wave, then (M/density)=V^2 )
 
void ComputeStressStrainMatrix ()
 Computes Elasticity matrix and stores the value in this->StressStrainMatrix Note: is performed every time you change a material parameter.
 
ChMatrixDynamicGetStressStrainMatrix ()
 Get the Elasticity matrix.
 
void ComputeElasticStress (ChStressTensor<> &stress, const ChStrainTensor<> &strain) const
 Compute elastic stress from elastic strain (using column tensors, in Voight notation)
 
void ComputeElasticStrain (ChStrainTensor<> &strain, const ChStressTensor<> &stress) const
 Compute elastic strain from elastic stress (using column tensors, in Voight notation)
 
void SetRayleighDampingAlpha (double alpha)
 Set the Rayleigh mass-proportional damping factor alpha, to build damping R as R=alpha*M + beta*K.
 
double GetRayleighDampingAlpha () const
 Set the Rayleigh mass-proportional damping factor alpha, in R=alpha*M + beta*K.
 
void SetRayleighDampingBeta (double beta)
 Set the Rayleigh stiffness-proportional damping factor beta, to build damping R as R=alpha*M + beta*K.
 
double GetRayleighDampingBeta () const
 Set the Rayleigh stiffness-proportional damping factor beta, in R=alpha*M + beta*K.
 
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, in kg/m^2.
 
double GetDensity () const
 Get the density of the material, in kg/m^2.
 

Additional Inherited Members

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

Member Function Documentation

◆ SetPoissonRatio()

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

Set the Poisson ratio, as v=-transverse_strain/axial_strain, so 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.

◆ SetShearModulus()

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

Set the shear modulus G, in Pa (N/m^2).

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