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 /*t*/) const { return 0.; }
11
12 PropertyDataType operator()(Eigen::Vector2d /*variable_array*/) const
13 {
14 return Eigen::Vector2d::Zero().eval();
15 }
16
17 PropertyDataType operator()(Eigen::Vector3d /*variable_array*/) const
18 {
19 return Eigen::Vector3d::Zero().eval();
20 }
21
23 Eigen::Matrix<double, 2, 2> /*variable_array*/) const
24 {
25 return Eigen::Matrix<double, 2, 2>::Zero().eval();
26 }
28 Eigen::Matrix<double, 3, 3> /*variable_array*/) const
29 {
30 return Eigen::Matrix<double, 3, 3>::Zero().eval();
31 }
32
34 Eigen::Matrix<double, 4, 1> /*variable_array*/) const
35 {
36 return Eigen::Matrix<double, 4, 1>::Zero().eval();
37 }
38
40 Eigen::Matrix<double, 6, 1> /*variable_array*/) const
41 {
42 return Eigen::Matrix<double, 6, 1>::Zero().eval();
43 }
44
45 PropertyDataType operator()(Eigen::MatrixXd /*variable_array*/) const
46 {
47 return Eigen::MatrixXd(0, 0);
48 }
49};
50
52{
53 name_ = std::move(name);
54 value_ = v;
55 dvalue_ = std::visit(ZeroInitPropertyDataType{}, v);
56};
57} // namespace MaterialPropertyLib
Constant(std::string name, PropertyDataType const &v)
Definition Constant.cpp:51
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:27
PropertyDataType operator()(Eigen::Matrix< double, 6, 1 >) const
Definition Constant.cpp:39
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:33
PropertyDataType operator()(Eigen::MatrixXd) const
Definition Constant.cpp:45