micromechanical (C++)
|
Class for the 2nd-order tensor (3, 3) representation. More...
#include <tensor.hpp>
Public Member Functions | |
Tensor2 (const Eigen::Matrix< T, 3, 3 > &data) | |
Constructor for the tensor. | |
virtual | ~Tensor2 ()=default |
destructor | |
Eigen::Matrix< T, 6, 1 > | toVector () const |
Convert the tensor to a vector. | |
Eigen::Matrix< T, 3, 3 > | mean () const |
Calculate the mean tensor. | |
Eigen::Matrix< T, 3, 3 > | deviatoric () const |
Calculate the deviatoric tensor. | |
T | I1 () const |
Calculate the first invariant of the tensor. | |
T | I2 () const |
Calculate the second invariant of the tensor. | |
T | I3 () const |
Calculate the third invariant of the tensor. | |
T | J2 () const |
Calculate the second deviatoric invariant of the tensor. | |
T | J3 () const |
Calculate the third deviatoric invariant of the tensor. | |
Eigen::Matrix< T, 3, 1 > | principals () const |
Calculate the principal values of the tensor. | |
T | cos3theta () const |
Calculate the cosine of 3 times of the Lode angle of the tensor. | |
T | lode () const |
Calculate the Lode angle of the tensor. | |
T | norm () const |
Calculate the norm of the tensor. | |
Eigen::Matrix< T, 3, 3 > | normalized () const |
Calculate the normalized tensor. | |
Tensor2 | operator+ (const Tensor2 &other) const |
Add two tensors. | |
Tensor2 | operator+ (const Eigen::Matrix< T, 3, 3 > &other) const |
Add a matrix to the tensor. | |
Tensor2 | operator+ (const T &other) const |
Add a scalar to the tensor. | |
Tensor2 | operator- (const Tensor2 &other) const |
Subtract two tensors. | |
Tensor2 | operator- (const Eigen::Matrix< T, 3, 3 > &other) const |
Subtract a matrix from the tensor. | |
Tensor2 | operator- (const T &other) const |
Subtract a scalar from the tensor. | |
Tensor2 | operator* (const Tensor2 &other) const |
Multiply the tensor by a tensor. | |
Tensor2 | operator* (const Eigen::Matrix< T, 3, 3 > &other) const |
Multiply the tensor by a matrix. | |
Eigen::Matrix< T, 3, 1 > | operator* (const Eigen::Matrix< T, 3, 1 > &other) const |
Multiply the tensor by a vector. | |
Tensor2 | operator* (const T &other) const |
Multiply the tensor by a scalar. | |
Tensor2 | operator/ (const T &other) const |
Divide the tensor by a scalar. | |
Static Public Member Functions | |
static Tensor2 | fromVector (const Eigen::Matrix< T, 6, 1 > &vec) |
Static method to create a tensor from a vector. | |
Public Attributes | |
Eigen::Matrix< T, 3, 3 > | matrix |
Matrix representation of the tensor. | |
Class for the 2nd-order tensor (3, 3) representation.
|
inlineexplicit |
Constructor for the tensor.
data | Matrix representation of the tensor. |
References matrix.
Referenced by fromVector(), operator*(), operator*(), operator*(), operator+(), operator+(), operator+(), operator-(), operator-(), operator-(), and operator/().
|
virtualdefault |
destructor
|
inline |
Calculate the cosine of 3 times of the Lode angle of the tensor.
References cos3theta(), J2(), and J3().
Referenced by cos3theta(), micromechanical::core::FabricTensor< T >::evolve(), and lode().
|
inline |
|
inlinestatic |
Static method to create a tensor from a vector.
vec | Vector representation of the tensor. |
References matrix, and Tensor2().
Referenced by micromechanical::core::StateVariable< T >::plasticDisplacementStrainTensor(), micromechanical::core::StateVariable< T >::plasticStrainTensor(), micromechanical::core::StateVariable< T >::strainTensor(), and micromechanical::core::StateVariable< T >::stressTensor().
|
inline |
Calculate the first invariant of the tensor.
|
inline |
Calculate the second invariant of the tensor.
|
inline |
Calculate the third invariant of the tensor.
|
inline |
Calculate the second deviatoric invariant of the tensor.
References deviatoric().
Referenced by cos3theta().
|
inline |
Calculate the third deviatoric invariant of the tensor.
References deviatoric().
Referenced by cos3theta().
|
inline |
Calculate the Lode angle of the tensor.
References cos3theta().
|
inline |
Calculate the mean tensor.
Referenced by deviatoric().
|
inline |
Calculate the norm of the tensor.
|
inline |
Calculate the normalized tensor.
|
inline |
Multiply the tensor by a vector.
other | Vector to be multiplied. |
|
inline |
Multiply the tensor by a matrix.
other | Matrix to be multiplied. |
References Tensor2().
|
inline |
|
inline |
|
inline |
Add a matrix to the tensor.
other | Matrix to be added. |
References Tensor2().
|
inline |
|
inline |
|
inline |
Subtract a matrix from the tensor.
other | Matrix to be subtracted. |
References Tensor2().
|
inline |
|
inline |
|
inline |
|
inline |
Calculate the principal values of the tensor.
|
inline |
Eigen::Matrix<T, 3, 3> micromechanical::core::Tensor2< T >::matrix |
Matrix representation of the tensor.
Referenced by fromVector(), micromechanical::core::operator*(), micromechanical::core::operator*(), micromechanical::core::operator*(), operator*(), micromechanical::core::operator+(), micromechanical::core::operator+(), operator+(), micromechanical::core::operator-(), micromechanical::core::operator-(), operator-(), Tensor2(), and toVector().