OGS
Constant.cpp
Go to the documentation of this file.
1
13
#include "
Constant.h
"
14
15
namespace
MaterialPropertyLib
16
{
17
struct
ZeroInitPropertyDataType
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
56
Constant::Constant
(std::string
name
,
PropertyDataType
const
& v)
57
{
58
name_
= std::move(
name
);
59
value_
= v;
60
dvalue_
= std::visit(
ZeroInitPropertyDataType
{}, v);
61
};
62
}
// namespace MaterialPropertyLib
Constant.h
MaterialPropertyLib::Constant::Constant
Constant(std::string name, PropertyDataType const &v)
Definition
Constant.cpp:56
MaterialPropertyLib::Property::value_
PropertyDataType value_
The single value of a property.
Definition
Property.h:292
MaterialPropertyLib::Property::dvalue_
PropertyDataType dvalue_
Definition
Property.h:293
MaterialPropertyLib::Property::name_
std::string name_
Definition
Property.h:290
MaterialPropertyLib
Definition
ChemicalSolverInterface.h:21
MaterialPropertyLib::name
@ name
Definition
PropertyType.h:66
MaterialPropertyLib::PropertyDataType
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
MaterialPropertyLib::ZeroInitPropertyDataType
Definition
Constant.cpp:18
MaterialPropertyLib::ZeroInitPropertyDataType::operator()
PropertyDataType operator()(Eigen::Matrix< double, 3, 3 >) const
Definition
Constant.cpp:35
MaterialPropertyLib::ZeroInitPropertyDataType::operator()
PropertyDataType operator()(Eigen::Matrix< double, 6, 1 >) const
Definition
Constant.cpp:45
MaterialPropertyLib::ZeroInitPropertyDataType::operator()
PropertyDataType operator()(Eigen::Vector2d) const
Definition
Constant.cpp:21
MaterialPropertyLib::ZeroInitPropertyDataType::operator()
PropertyDataType operator()(double) const
Definition
Constant.cpp:19
MaterialPropertyLib::ZeroInitPropertyDataType::operator()
PropertyDataType operator()(Eigen::Vector3d) const
Definition
Constant.cpp:26
MaterialPropertyLib::ZeroInitPropertyDataType::operator()
PropertyDataType operator()(Eigen::Matrix< double, 2, 2 >) const
Definition
Constant.cpp:31
MaterialPropertyLib::ZeroInitPropertyDataType::operator()
PropertyDataType operator()(Eigen::Matrix< double, 4, 1 >) const
Definition
Constant.cpp:40
MaterialPropertyLib::ZeroInitPropertyDataType::operator()
PropertyDataType operator()(Eigen::MatrixXd) const
Definition
Constant.cpp:50
MaterialLib
MPL
Properties
Constant.cpp
Generated by
1.10.0