18 this->get().print(stm);
48 A.symmetricEigenvaluesEigenvectors(_eigvals, _eigvecs);
56 for (
auto & eigval : _eigvals)
65 for (
auto & eigval : _eigvals)
99 for (
auto & eigval : _eigvals)
104typename T::value_type
107 return _eigvals[0] + _eigvals[1] + _eigvals[2];
111typename T::value_type
114 return _eigvals[0] * _eigvals[1] * _eigvals[2];
FactorizedRankTwoTensorTempl is designed to perform the spectral decomposition of an underlying symme...
FactorizedRankTwoTensorTempl< T > & operator*=(const typename T::value_type &a)
performs _A *= a in place, also updates eigen values
FactorizedRankTwoTensorTempl< T > transpose() const
Returns the transpose of _A.
T::value_type trace() const
trace of _A
FactorizedRankTwoTensorTempl< T > & operator/=(const typename T::value_type &a)
performs _A /= a in place, also updates eigen values
FactorizedRankTwoTensorTempl< T > rotated(const RankTwoTensorTempl< typename T::value_type > &R) const
T::value_type det() const
determinant of _A
std::vector< typename T::value_type > _eigvals
FactorizedRankTwoTensorTempl< T > inverse() const
inverse of _A
FactorizedRankTwoTensorTempl< T > & operator=(const FactorizedRankTwoTensorTempl< T > &A)
bool operator==(const T &A) const
Defines logical equality with another second order tensor.
void addIa(const typename T::value_type &a)
add identity times a to _A
RankTwoTensorTempl< typename T::value_type > _eigvecs
void print(std::ostream &stm=Moose::out) const
RankTwoTensorTempl is designed to handle the Stress or Strain Tensor for a fully anisotropic material...