OGS
FormKelvinVectorFromThermalExpansivity.cpp
Go to the documentation of this file.
1 
13 
14 #include "BaseLib/Error.h"
15 
16 namespace MaterialPropertyLib
17 {
18 static const char error_info[] =
19  "The thermal expansivity can only be either a scalar number for isotropic "
20  "thermal expansion or a three element array for anisotropic thermal "
21  "expansion.";
22 
23 template <int GlobalDim>
25 {
27  double const& value) const
28  {
31  result.template head<3>() = Eigen::Vector3d::Constant(value);
32  return result;
33  }
34 
36  Eigen::Matrix<double, 2, 1> const& /*values*/) const
37  {
39  }
40 
42  Eigen::Matrix<double, 3, 1> const& values) const
43  {
46  result.template head<3>() = values;
47  return result;
48  }
49 
51  Eigen::Matrix<double, 2, 2> const& /*values*/) const
52  {
54  }
55 
57  Eigen::Matrix<double, 3, 3> const& /*values*/) const
58  {
60  }
61 
63  Eigen::Matrix<double, 4, 1> const& /*values*/) const
64  {
66  }
67 
69  Eigen::Matrix<double, 6, 1> const& /*values*/) const
70  {
72  }
73 };
74 
75 template <int GlobalDim>
79 {
81  values);
82 }
83 
87 
91 
92 } // namespace MaterialPropertyLib
#define OGS_FATAL(...)
Definition: Error.h:26
MathLib::KelvinVector::KelvinVectorType< GlobalDim > formKelvinVectorFromThermalExpansivity(MaterialPropertyLib::PropertyDataType const &values)
A function to form a Kelvin vector from thermal expansivity for thermal strain.
template MathLib::KelvinVector::KelvinVectorType< 3 > formKelvinVectorFromThermalExpansivity< 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 > > PropertyDataType
Definition: Property.h:35
template MathLib::KelvinVector::KelvinVectorType< 2 > formKelvinVectorFromThermalExpansivity< 2 >(MaterialPropertyLib::PropertyDataType const &values)
Eigen::Matrix< double, kelvin_vector_dimensions(DisplacementDim), 1, Eigen::ColMajor > KelvinVectorType
Definition: KelvinVector.h:48
MathLib::KelvinVector::KelvinVectorType< GlobalDim > operator()(double const &value) const
MathLib::KelvinVector::KelvinVectorType< GlobalDim > operator()(Eigen::Matrix< double, 4, 1 > const &) const
MathLib::KelvinVector::KelvinVectorType< GlobalDim > operator()(Eigen::Matrix< double, 2, 1 > const &) const
MathLib::KelvinVector::KelvinVectorType< GlobalDim > operator()(Eigen::Matrix< double, 2, 2 > const &) const
MathLib::KelvinVector::KelvinVectorType< GlobalDim > operator()(Eigen::Matrix< double, 3, 1 > const &values) const
MathLib::KelvinVector::KelvinVectorType< GlobalDim > operator()(Eigen::Matrix< double, 3, 3 > const &) const
MathLib::KelvinVector::KelvinVectorType< GlobalDim > operator()(Eigen::Matrix< double, 6, 1 > const &) const