OGS
Constant.cpp
Go to the documentation of this file.
1
13#include "Constant.h"
14
15namespace MaterialPropertyLib
16{
18{
19 PropertyDataType operator()(double) const { return 0.; }
20
21 PropertyDataType operator()(Eigen::Vector2d) const
22 {
23 return Eigen::Vector2d::Zero().eval();
24 }
25
26 PropertyDataType operator()(Eigen::Vector3d) const
27 {
28 return Eigen::Vector3d::Zero().eval();
29 }
30
31 PropertyDataType operator()(Eigen::Matrix<double, 2, 2>) const
32 {
33 return Eigen::Matrix<double, 2, 2>::Zero().eval();
34 }
35 PropertyDataType operator()(Eigen::Matrix<double, 3, 3>) const
36 {
37 return Eigen::Matrix<double, 3, 3>::Zero().eval();
38 }
39
40 PropertyDataType operator()(Eigen::Matrix<double, 4, 1>) const
41 {
42 return Eigen::Matrix<double, 4, 1>::Zero().eval();
43 }
44
45 PropertyDataType operator()(Eigen::Matrix<double, 6, 1>) const
46 {
47 return Eigen::Matrix<double, 6, 1>::Zero().eval();
48 }
49
50 PropertyDataType operator()(Eigen::MatrixXd) const
51 {
52 return Eigen::MatrixXd(0, 0);
53 }
54};
55
57{
58 name_ = std::move(name);
59 value_ = v;
60 dvalue_ = std::visit(ZeroInitPropertyDataType{}, v);
61};
62} // namespace MaterialPropertyLib
Constant(std::string name, PropertyDataType const &v)
Definition Constant.cpp:56
PropertyDataType value_
The single value of a property.
Definition Property.h:292
PropertyDataType dvalue_
Definition Property.h:293
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
Definition Property.h:31
PropertyDataType operator()(Eigen::Matrix< double, 3, 3 >) const
Definition Constant.cpp:35
PropertyDataType operator()(Eigen::Matrix< double, 6, 1 >) const
Definition Constant.cpp:45
PropertyDataType operator()(Eigen::Vector2d) const
Definition Constant.cpp:21
PropertyDataType operator()(double) const
Definition Constant.cpp:19
PropertyDataType operator()(Eigen::Vector3d) const
Definition Constant.cpp:26
PropertyDataType operator()(Eigen::Matrix< double, 2, 2 >) const
Definition Constant.cpp:31
PropertyDataType operator()(Eigen::Matrix< double, 4, 1 >) const
Definition Constant.cpp:40
PropertyDataType operator()(Eigen::MatrixXd) const
Definition Constant.cpp:50