OGS
Linear.h
Go to the documentation of this file.
1
10#pragma once
11
14
15namespace MaterialPropertyLib
16{
18{
20 VariableType reference_condition; // scalar or vector
21 VariableType slope; // scalar or matrix
22};
23
27class Linear final : public Property
28{
29public:
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 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
60private:
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:64
PropertyDataType dValue(VariableArray const &variable_array, Variable const variable, ParameterLib::SpatialPosition const &, double const, double const) const override
Definition Linear.cpp:48
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< 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