OGS
Linear.h
Go to the documentation of this file.
1 
10 #pragma once
11 
14 
15 namespace MaterialPropertyLib
16 {
18 {
20  VariableType reference_condition; // scalar or vector
21  VariableType slope; // scalar or matrix
22 };
23 
27 class Linear final : public Property
28 {
29 public:
33  Linear(std::string name,
34  PropertyDataType const& property_reference_value,
35  std::vector<IndependentVariable> const& vs);
36 
39  PropertyDataType value(VariableArray const& variable_array,
40  ParameterLib::SpatialPosition const& /*pos*/,
41  double const /*t*/,
42  double const /*dt*/) const override;
43 
46  PropertyDataType dValue(VariableArray const& variable_array,
47  Variable const primary_variable,
48  ParameterLib::SpatialPosition const& /*pos*/,
49  double const /*t*/,
50  double const /*dt*/) const override;
51 
54  PropertyDataType d2Value(VariableArray const& variable_array,
55  Variable const pv1, Variable const pv2,
56  ParameterLib::SpatialPosition const& /*pos*/,
57  double const /*t*/,
58  double const /*dt*/) const override;
59 
60 private:
61  std::vector<IndependentVariable> const independent_variables_;
62 };
63 } // namespace MaterialPropertyLib
std::vector< IndependentVariable > const independent_variables_
Definition: Linear.h:61
PropertyDataType d2Value(VariableArray const &variable_array, Variable const pv1, Variable const pv2, ParameterLib::SpatialPosition const &, double const, double const) const override
Definition: Linear.cpp:66
PropertyDataType dValue(VariableArray const &variable_array, Variable const primary_variable, ParameterLib::SpatialPosition const &, double const, double const) const override
Definition: Linear.cpp:49
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:72
std::variant< std::monostate, double, Vector, Eigen::Matrix< double, 4, 1 >, Eigen::Matrix< double, 6, 1 > > VariableType
Definition: VariableType.h:102
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 > > PropertyDataType
Definition: Property.h:35
std::array< VariableType, static_cast< int >(Variable::number_of_variables)> VariableArray
Definition: VariableType.h:108