OGS
Constant.cpp
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright (c) OpenGeoSys Community (opengeosys.org)
2// SPDX-License-Identifier: BSD-3-Clause
3
4#include "Constant.h"
5
7{
9{
10 PropertyDataType operator()(double) const { return 0.; }
11
12 PropertyDataType operator()(Eigen::Vector2d) const
13 {
14 return Eigen::Vector2d::Zero().eval();
15 }
16
17 PropertyDataType operator()(Eigen::Vector3d) const
18 {
19 return Eigen::Vector3d::Zero().eval();
20 }
21
22 PropertyDataType operator()(Eigen::Matrix<double, 2, 2>) const
23 {
24 return Eigen::Matrix<double, 2, 2>::Zero().eval();
25 }
26 PropertyDataType operator()(Eigen::Matrix<double, 3, 3>) const
27 {
28 return Eigen::Matrix<double, 3, 3>::Zero().eval();
29 }
30
31 PropertyDataType operator()(Eigen::Matrix<double, 4, 1>) const
32 {
33 return Eigen::Matrix<double, 4, 1>::Zero().eval();
34 }
35
36 PropertyDataType operator()(Eigen::Matrix<double, 6, 1>) const
37 {
38 return Eigen::Matrix<double, 6, 1>::Zero().eval();
39 }
40
41 PropertyDataType operator()(Eigen::MatrixXd) const
42 {
43 return Eigen::MatrixXd(0, 0);
44 }
45};
46
48{
49 name_ = std::move(name);
50 value_ = v;
51 dvalue_ = std::visit(ZeroInitPropertyDataType{}, v);
52};
53} // namespace MaterialPropertyLib
Constant(std::string name, PropertyDataType const &v)
Definition Constant.cpp:47
PropertyDataType value_
The single value of a property.
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
PropertyDataType operator()(Eigen::Matrix< double, 3, 3 >) const
Definition Constant.cpp:26
PropertyDataType operator()(Eigen::Matrix< double, 6, 1 >) const
Definition Constant.cpp:36
PropertyDataType operator()(Eigen::Vector2d) const
Definition Constant.cpp:12
PropertyDataType operator()(double) const
Definition Constant.cpp:10
PropertyDataType operator()(Eigen::Vector3d) const
Definition Constant.cpp:17
PropertyDataType operator()(Eigen::Matrix< double, 2, 2 >) const
Definition Constant.cpp:22
PropertyDataType operator()(Eigen::Matrix< double, 4, 1 >) const
Definition Constant.cpp:31
PropertyDataType operator()(Eigen::MatrixXd) const
Definition Constant.cpp:41