11template <
int GlobalDim>
17 result.template head<3>() = Eigen::Vector3d::Constant(value);
24 result.template head<2>() = values;
31 result.template head<3>() = values;
37 if constexpr (GlobalDim == 2)
40 result << values(0, 0), values(1, 1), 0., values(0, 1);
44 "Cannot convert 2d matrix with values [{}] to 3d symmetric Tensor.",
50 if constexpr (GlobalDim == 3)
53 result << values(0, 0), values(1, 1), values(2, 2), values(0, 1),
54 values(1, 2), values(0, 2);
58 "Cannot convert 3d matrix with values [{}] to 2d symmetric "
66 if constexpr (GlobalDim == 2)
71 "Cannot convert 3d symmetric tensor with values [{}] to 2d "
79 if constexpr (GlobalDim == 3)
84 "Cannot convert 2d symmetric tensor with values [{}] to 3d "
92 "Cannot convert dynamic Eigen {}x{} matrix with values [{}] to "
93 "{:d}d symmetric tensor.",
94 values.rows(), values.cols(), values, GlobalDim);
98template <
int GlobalDim>
template Eigen::Matrix< double, 4, 1 > getSymmetricTensor< 2 >(MaterialPropertyLib::PropertyDataType const &values)
template Eigen::Matrix< double, 6, 1 > getSymmetricTensor< 3 >(MaterialPropertyLib::PropertyDataType const &values)
Eigen::Matrix< double, symmetric_tensor_size< GlobalDim >, 1 > SymmetricTensor
SymmetricTensor< GlobalDim > getSymmetricTensor(MaterialPropertyLib::PropertyDataType const &values)
std::variant< double, Eigen::Matrix< double, 2, 1 >, Eigen::Matrix< double, 3, 1 >, Eigen::Matrix< double, 2, 2 >, Eigen::Matrix< double, 3, 3 >, Eigen::Matrix< double, 4, 1 >, Eigen::Matrix< double, 6, 1 >, Eigen::MatrixXd > PropertyDataType
SymmetricTensor< GlobalDim > operator()(double const &value) const
SymmetricTensor< GlobalDim > operator()(Eigen::MatrixXd const &values) const
SymmetricTensor< GlobalDim > operator()(Eigen::Vector3d const &values) const
SymmetricTensor< GlobalDim > operator()(Eigen::Matrix2d const &values) const
SymmetricTensor< GlobalDim > operator()(Eigen::Vector2d const &values) const
SymmetricTensor< GlobalDim > operator()(Eigen::Matrix3d const &values) const
SymmetricTensor< GlobalDim > operator()(SymmetricTensor< 2 > const &values) const
SymmetricTensor< GlobalDim > operator()(SymmetricTensor< 3 > const &values) const