Description
template<class Real = double>
class chrono::ChVoigtTensor< Real >
Base class for storing 3x3 symmetric tensors as vectors, with the compact Voigt notation.
This is often useful for storing a 3D stress or a strain. This tensor representation uses 6 components in a column, corresponding to the 3x3 tensor indexes in this order: 11 22 33 23 13 12. NOTE 1: ordering matters! there are some books that use a different ordering for the last 3 elements. NOTE 2: for stress tensors, S={S_11 S_22 S_33 S_23 S_13 S_12}, but for "engineering" strain tensors, same order but E={E_11 E_22 E_33 2*E_23 2*E_13 2*E_12} with the 2* factor that preserves the work-conjugacy if doing w=S^T * E, where the 2* factor is automatically managed by ChStrainEngTensor subclass thanks to having made the GetXY() GetXZ() GetYZ() functions as virtual.
#include <ChTensors.h>
Inherits ChVectorN< double, 6 >.
Public Member Functions | |
| template<typename OtherDerived > | |
| ChVoigtTensor (const Eigen::MatrixBase< OtherDerived > &other) | |
| Constructor from Eigen expressions. | |
| template<class RealB > | |
| ChVoigtTensor (const ChMatrix33< RealB > &msource) | |
| Copy constructor, from a typical 3D rank-two stress or strain tensor (as 3x3 matrix). | |
| template<typename OtherDerived > | |
| ChVoigtTensor & | operator= (const Eigen::MatrixBase< OtherDerived > &other) |
| This method allows assigning Eigen expressions to a ChVoigtTensor. | |
| Real & | XX () |
| const Real & | XX () const |
| Real & | YY () |
| const Real & | YY () const |
| Real & | ZZ () |
| const Real & | ZZ () const |
| virtual Real | GetYZ () const =0 |
| virtual void | SetYZ (const Real d)=0 |
| virtual Real | GetXZ () const =0 |
| virtual void | SetXZ (const Real d)=0 |
| virtual Real | GetXY () const =0 |
| virtual void | SetXY (const Real d)=0 |
| template<class RealB > | |
| void | ConvertFromMatrix (const ChMatrix33< RealB > &msource) |
| Convert from a typical 3D rank-two symmetric tensor (a 3x3 matrix), ex. stress or strain. | |
| template<class RealB > | |
| void | ConvertToMatrix (ChMatrix33< RealB > &mdest) const |
| Convert to a typical 3D rank-two symmetric tensor (a 3x3 matrix), ex. stress or strain. | |
| Real | GetVolumetricPart () const |
| Compute the volumetric part of the tensor, that is the trace V =Txx+Tyy+Tzz. | |
| void | GetDeviatoricPart (ChVoigtTensor< Real > &mdeviatoric) const |
| Compute the deviatoric part of the tensor, storing it in mdeviatoric. | |
| Real | GetInvariant_I1 () const |
| Compute the I1 invariant. | |
| Real | GetInvariant_I2 () const |
| Compute the I2 invariant. | |
| Real | GetInvariant_I3 () const |
| Compute the I3 invariant. | |
| Real | GetInvariant_J1 () const |
| Compute the J1 invariant of the deviatoric part (that is always 0). | |
| Real | GetInvariant_J2 () const |
| Compute the J2 invariant of the deviatoric part. | |
| Real | GetInvariant_J3 () const |
| Compute the J3 invariant of the deviatoric part. | |
| void | Rotate (ChMatrix33< Real > 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< Real > &eigvector1, ChVector3< Real > &eigvector2, ChVector3< Real > &eigvector3) |
| Compute the eigenvectors and the eigenvalues. | |
| double | GetEquivalentVonMises () const |
| FORMULAS THAT ARE USEFUL FOR YELD CRITERIONS: More... | |
| 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
◆ GetEquivalentVonMises()
|
inline |
FORMULAS THAT ARE USEFUL FOR YELD CRITERIONS:
Compute the Von Mises equivalent.
The documentation for this class was generated from the following file:
- /builds/uwsbel/chrono/src/chrono/core/ChTensors.h