OGS
Linear.h
Go to the documentation of this file.
1
10#pragma once
11
14
15namespace MaterialPropertyLib
16{
17using StringOrVariable = std::variant<std::string, Variable>;
19{
21 VariableType reference_condition; // scalar or vector
22 VariableType slope; // scalar or matrix
23};
24
28class Linear final : public Property
29{
30public:
34 Linear(std::string name,
35 PropertyDataType const& property_reference_value,
36 std::vector<IndependentVariable> const& vs);
37
40 PropertyDataType value(VariableArray const& variable_array,
41 ParameterLib::SpatialPosition const& /*pos*/,
42 double const /*t*/,
43 double const /*dt*/) const override;
44
47 PropertyDataType dValue(VariableArray const& variable_array,
48 Variable const variable,
49 ParameterLib::SpatialPosition const& /*pos*/,
50 double const /*t*/,
51 double const /*dt*/) const override;
52
55 PropertyDataType d2Value(VariableArray const& variable_array,
56 Variable const pv1, Variable const pv2,
57 ParameterLib::SpatialPosition const& /*pos*/,
58 double const /*t*/,
59 double const /*dt*/) const override;
60
61private:
62 std::vector<IndependentVariable> const independent_variables_;
63};
64} // namespace MaterialPropertyLib
std::vector< IndependentVariable > const independent_variables_
Definition Linear.h:62
PropertyDataType d2Value(VariableArray const &variable_array, Variable const pv1, Variable const pv2, ParameterLib::SpatialPosition const &, double const, double const) const override
Definition Linear.cpp:98
PropertyDataType dValue(VariableArray const &variable_array, Variable const variable, ParameterLib::SpatialPosition const &, double const, double const) const override
Definition Linear.cpp:75
Linear(std::string name, PropertyDataType const &property_reference_value, std::vector< IndependentVariable > const &vs)
Definition Linear.cpp:17
virtual PropertyDataType value() const
Definition Property.cpp:76
std::variant< std::monostate, double, Eigen::Vector< double, 4 >, Eigen::Vector< double, 5 >, Eigen::Vector< double, 6 >, Eigen::Vector< double, 9 > > VariableType
std::variant< std::string, Variable > StringOrVariable
Definition Curve.h:18
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