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)
103 template <
typename T>
104 typename T::value_type
107 return _eigvals[0] + _eigvals[1] + _eigvals[2];
110 template <
typename T>
111 typename T::value_type
114 return _eigvals[0] * _eigvals[1] * _eigvals[2];
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 > & 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
RankTwoTensorTempl< typename T::value_type > _eigvecs
std::vector< typename T::value_type > _eigvals
FactorizedRankTwoTensorTempl< T > transpose() const
Returns the transpose of _A.
FactorizedRankTwoTensorTempl is designed to perform the spectral decomposition of an underlying symme...
void print(std::ostream &stm=Moose::out) const
void addIa(const typename T::value_type &a)
add identity times a to _A
FactorizedRankTwoTensorTempl< T > & operator=(const FactorizedRankTwoTensorTempl< T > &A)
bool operator==(const T &A) const
Defines logical equality with another second order tensor.
FactorizedRankTwoTensorTempl< T > inverse() const
inverse of _A