19 "The conversion to a Kelvin vector of correct dimensionality is ambiguous."
20 "Please use a scalar number for isotropic properties, a three element "
21 "array or a 3 x 3 matrix for anisotropic properties.";
23template <
int GlobalDim>
27 double const& value)
const
31 result.template head<3>() = Eigen::Vector3d::Constant(value);
36 Eigen::Matrix<double, 2, 1>
const& )
const
42 Eigen::Matrix<double, 3, 1>
const& values)
const
46 result.template head<3>() = values;
51 Eigen::Matrix<double, 2, 2>
const& )
const
57 Eigen::Matrix<double, 3, 3>
const& values)
const
63 Eigen::Matrix<double, 4, 1>
const& )
const
69 Eigen::Matrix<double, 6, 1>
const& )
const
75 Eigen::MatrixXd
const& )
const
81template <
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)