19template <
int GlobalDim>
25 result.template head<3>() = Eigen::Vector3d::Constant(value);
32 result.template head<2>() = values;
39 result.template head<3>() = values;
45 if constexpr (GlobalDim == 2)
48 result << values(0, 0), values(1, 1), 0., values(0, 1);
52 "Cannot convert 2d matrix with values [{}] to 3d symmetric Tensor.",
58 if constexpr (GlobalDim == 3)
61 result << values(0, 0), values(1, 1), values(2, 2), values(0, 1),
62 values(1, 2), values(0, 2);
66 "Cannot convert 3d matrix with values [{}] to 2d symmetric "
74 if constexpr (GlobalDim == 2)
79 "Cannot convert 3d symmetric tensor with values [{}] to 2d "
87 if constexpr (GlobalDim == 3)
92 "Cannot convert 2d symmetric tensor with values [{}] to 3d "
100 "Cannot convert dynamic Eigen {}x{} matrix with values [{}] to "
101 "{:d}d symmetric tensor.",
102 values.rows(), values.cols(), values, GlobalDim);
106template <
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