19template <
int GlobalDim>
22 Eigen::Matrix<double, GlobalDim, 1>
operator()(
double const value)
const
24 if constexpr (GlobalDim == 1)
26 return Eigen::Matrix<double, 1, 1>{value};
28 if constexpr (GlobalDim == 2)
30 return Eigen::Matrix<double, 2, 1>{value, value};
32 if constexpr (GlobalDim == 3)
34 return Eigen::Matrix<double, 3, 1>{value, value, value};
36 OGS_FATAL(
"Cannot convert a scalar {} to a {:d}d vector.", value,
41 Eigen::Vector2d
const& values)
const
43 if constexpr (GlobalDim == 2)
48 "Cannot convert a 2d vector with values [{}] to a {:d}d vector.",
53 Eigen::Vector3d
const& values)
const
55 if constexpr (GlobalDim == 3)
60 "Cannot convert a 3d vector with values [{}] to a {:d}d vector.",
65 Eigen::Matrix<double, 2, 2>
const& values)
const
68 "Cannot convert a 2d tensor with values [{}] to a {:d}d Vector.",
72 Eigen::Matrix<double, 3, 3>
const& values)
const
75 "Cannot convert a 3d tensor with values [{}] to a {:d}d Vector.",
80 Eigen::Matrix<double, 4, 1>
const& values)
const
83 "Cannot convert a 4d vector with values [{}] to a {:d}d vector.",
88 Eigen::Matrix<double, 6, 1>
const& values)
const
91 "Cannot convert a 6d vector with values [{}] to a {:d}d vector.",
96 Eigen::MatrixXd
const& values)
const
99 "Cannot convert a dynamic {}x{} Eigen matrix with values [{}] to a "
101 values.rows(), values.cols(), values, GlobalDim);
105template <
int GlobalDim>
template Eigen::Matrix< double, 1, 1 > formEigenVector< 1 >(MaterialPropertyLib::PropertyDataType const &values)
Eigen::Matrix< double, GlobalDim, 1 > formEigenVector(MaterialPropertyLib::PropertyDataType const &values)
template Eigen::Matrix< double, 2, 1 > formEigenVector< 2 >(MaterialPropertyLib::PropertyDataType const &values)
template Eigen::Matrix< double, 3, 1 > formEigenVector< 3 >(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