chrono::ChStressTensor< Real > Class Template Reference

Description

template<class Real = double>
class chrono::ChStressTensor< Real >

Class for stress tensors, in compact Voight notation that is with 6 components in a column.

#include <ChTensors.h>

Inheritance diagram for chrono::ChStressTensor< Real >:
Collaboration diagram for chrono::ChStressTensor< Real >:

Public Member Functions

 ChStressTensor ()
 Constructor (default empty).
 
template<typename OtherDerived >
 ChStressTensor (const Eigen::MatrixBase< OtherDerived > &other)
 Constructor from Eigen expressions.
 
template<typename OtherDerived >
ChStressTensoroperator= (const Eigen::MatrixBase< OtherDerived > &other)
 This method allows assigning Eigen expressions to a ChStressTensor.
 
void ComputePrincipalStresses (double &e1, double &e2, double &e3)
 Compute the principal stresses for the given tensor.
 
void ComputePrincipalStressesDirections (double &e1, double &e2, double &e3, ChVector3< Real > &dir1, ChVector3< Real > &dir2, ChVector3< Real > &dir3)
 Compute the directions of the principal stresses, i.e.
 
- Public Member Functions inherited from chrono::ChVoightTensor< double >
 ChVoightTensor (const Eigen::MatrixBase< OtherDerived > &other)
 Constructor from Eigen expressions.
 
 ChVoightTensor (const ChMatrix33< RealB > &msource)
 Copy constructor, from a typical 3D rank-two stress or strain tensor (as 3x3 matrix).
 
ChVoightTensoroperator= (const Eigen::MatrixBase< OtherDerived > &other)
 This method allows assigning Eigen expressions to a ChVoightTensor.
 
double & XX ()
 
const double & XX () const
 
double & YY ()
 
const double & YY () const
 
double & ZZ ()
 
const double & ZZ () const
 
double & XY ()
 
const double & XY () const
 
double & XZ ()
 
const double & XZ () const
 
double & YZ ()
 
const double & YZ () const
 
void ConvertFromMatrix (const ChMatrix33< RealB > &msource)
 Convert from a typical 3D rank-two stress or strain tensor (a 3x3 matrix).
 
void ConvertToMatrix (ChMatrix33< RealB > &mdest)
 Convert to a typical 3D rank-two stress or strain tensor (a 3x3 matrix).
 
double GetVolumetricPart () const
 Compute the volumetric part of the tensor, that is the trace V =Txx+Tyy+Tzz.
 
void GetDeviatoricPart (ChVoightTensor< double > &mdeviatoric) const
 Compute the deviatoric part of the tensor, storing it in mdeviatoric.
 
double GetInvariant_I1 () const
 Compute the I1 invariant.
 
double GetInvariant_I2 () const
 Compute the I2 invariant.
 
double GetInvariant_I3 () const
 Compute the I3 invariant.
 
double GetInvariant_J1 () const
 Compute the J1 invariant of the deviatoric part (that is always 0).
 
double GetInvariant_J2 () const
 Compute the J2 invariant of the deviatoric part.
 
double GetInvariant_J3 () const
 Compute the J3 invariant of the deviatoric part.
 
void Rotate (ChMatrix33< double > Rot)
 Rotate to another reference coordinate system, overwriting this tensor in place.
 
void ComputeEigenvalues (double &e1, double &e2, double &e3)
 Compute the eigenvalues (closed form method).
 
void ComputeEigenvectors (double &eigval1, double &eigval2, double &eigval3, ChVector3< double > &eigvector1, ChVector3< double > &eigvector2, ChVector3< double > &eigvector3)
 Compute the eigenvectors and the eigenvalues.
 
double GetEquivalentVonMises () const
 FORMULAS THAT ARE USEFUL FOR YELD CRITERIONS:
 
double GetEquivalentMeanHydrostatic () const
 Compute the mean hydrostatic value (aka volumetric, normal).
 
double GetEquivalentOctahedralNormal () const
 Compute the octahedral normal invariant (aka hydrostatic, volumetric).
 
double GetEquivalentOctahedralDeviatoric () const
 Compute the octahedral deviatoric invariant (aka shear).
 

Member Function Documentation

◆ ComputePrincipalStressesDirections()

template<class Real = double>
void chrono::ChStressTensor< Real >::ComputePrincipalStressesDirections ( double & e1,
double & e2,
double & e3,
ChVector3< Real > & dir1,
ChVector3< Real > & dir2,
ChVector3< Real > & dir3 )
inline

Compute the directions of the principal stresses, i.e.

three orthogonal directions for zero shear (diagonal stress).


The documentation for this class was generated from the following file:
  • C:/M/B/src/chrono-9.0.1/src/chrono/core/ChTensors.h