11 "The conversion to a Kelvin vector of correct dimensionality is ambiguous."
12 "Please use a scalar number for isotropic properties, a three element "
13 "array or a 3 x 3 matrix for anisotropic properties.";
15template <
int GlobalDim>
19 double const& value)
const
23 result.template head<3>() = Eigen::Vector3d::Constant(value);
28 Eigen::Matrix<double, 2, 1>
const& )
const
34 Eigen::Matrix<double, 3, 1>
const& values)
const
38 result.template head<3>() = values;
43 Eigen::Matrix<double, 2, 2>
const& )
const
49 Eigen::Matrix<double, 3, 3>
const& values)
const
55 Eigen::Matrix<double, 4, 1>
const& )
const
61 Eigen::Matrix<double, 6, 1>
const& )
const
67 Eigen::MatrixXd
const& )
const
73template <
int GlobalDim>
MathLib::KelvinVector::KelvinVectorType< GlobalDim > formKelvinVector(MaterialPropertyLib::PropertyDataType const &values)
A function to form a Kelvin vector from strain or stress alike property like thermal expansivity for ...
template MathLib::KelvinVector::KelvinVectorType< 2 > formKelvinVector< 2 >(MaterialPropertyLib::PropertyDataType const &values)
template MathLib::KelvinVector::KelvinVectorType< 3 > formKelvinVector< 3 >(MaterialPropertyLib::PropertyDataType const &values)
static constexpr const char error_info[]
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
Eigen::Matrix< double, kelvin_vector_dimensions(DisplacementDim), 1, Eigen::ColMajor > KelvinVectorType
KelvinVectorType< DisplacementDim > tensorToKelvin(Eigen::Matrix< double, 3, 3 > const &m)