Description
template<class Real = double>
class chrono::ChStrainEngTensor< Real >
Class for "engineering" strain tensors, in compact Voigt notation that is with 6 components in a column.
NOTE : for "engineering" strain tensors, same order of strain tensors but assuming engineering strain convention, we store the vector with the tensorial shear strain doubled, as in: E={E_11 E_22 E_33 2*E_23 2*E_13 2*E_12} The 2* factor that preserves the work-conjugacy if doing w=S^T * E. NOTE! the 2* factor is automatically managed by ChStrainEngTensor thanks to having made the GetXY() GetXZ() GetYZ() functions as virtual. Therefore the 2* factor that preserves the work-conjugacy if doing w=S^T * E, and this ChStrainEngTensor is work conjugate to ChStressTensor.
#include <ChTensors.h>


Public Member Functions | |
| ChStrainEngTensor () | |
| Constructor (default empty). | |
| template<typename OtherDerived > | |
| ChStrainEngTensor (const Eigen::MatrixBase< OtherDerived > &other) | |
| Constructor from Eigen expressions. | |
| template<typename OtherDerived > | |
| ChStrainEngTensor & | operator= (const Eigen::MatrixBase< OtherDerived > &other) |
| This method allows assigning Eigen expressions to a ChStrainEngTensor. | |
| virtual Real | GetYZ () const override |
| virtual void | SetYZ (const Real d) override |
| virtual Real | GetXZ () const override |
| virtual void | SetXZ (const Real d) override |
| virtual Real | GetXY () const override |
| virtual void | SetXY (const Real d) override |
| void | ComputePrincipalStrains (double &e1, double &e2, double &e3) |
| Compute the principal strains for the given tensor. | |
| void | ComputePrincipalStrainsDirections (double &e1, double &e2, double &e3, ChVector3< Real > &dir1, ChVector3< Real > &dir2, ChVector3< Real > &dir3) |
| Compute the directions of the principal strain, i.e. More... | |
Public Member Functions inherited from chrono::ChVoigtTensor< double > | |
| ChVoigtTensor (const Eigen::MatrixBase< OtherDerived > &other) | |
| Constructor from Eigen expressions. | |
| ChVoigtTensor (const ChMatrix33< RealB > &msource) | |
| Copy constructor, from a typical 3D rank-two stress or strain tensor (as 3x3 matrix). | |
| ChVoigtTensor & | operator= (const Eigen::MatrixBase< OtherDerived > &other) |
| This method allows assigning Eigen expressions to a ChVoigtTensor. | |
| double & | XX () |
| const double & | XX () const |
| double & | YY () |
| const double & | YY () const |
| double & | ZZ () |
| const double & | ZZ () const |
| virtual double | GetYZ () const=0 |
| virtual void | SetYZ (const double d)=0 |
| virtual double | GetXZ () const=0 |
| virtual void | SetXZ (const double d)=0 |
| virtual double | GetXY () const=0 |
| virtual void | SetXY (const double d)=0 |
| void | ConvertFromMatrix (const ChMatrix33< RealB > &msource) |
| Convert from a typical 3D rank-two symmetric tensor (a 3x3 matrix), ex. stress or strain. | |
| void | ConvertToMatrix (ChMatrix33< RealB > &mdest) const |
| Convert to a typical 3D rank-two symmetric tensor (a 3x3 matrix), ex. stress or strain. | |
| double | GetVolumetricPart () const |
| Compute the volumetric part of the tensor, that is the trace V =Txx+Tyy+Tzz. | |
| void | GetDeviatoricPart (ChVoigtTensor< 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: 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
◆ ComputePrincipalStrainsDirections()
|
inline |
Compute the directions of the principal strain, i.e.
three orthogonal directions for zero strain (diagonal strain).
The documentation for this class was generated from the following file:
- /builds/uwsbel/chrono/src/chrono/core/ChTensors.h
Public Member Functions inherited from