OGS
SaturationDependentSwelling.h
Go to the documentation of this file.
1
13#pragma once
14
16
17namespace ParameterLib
18{
19struct CoordinateSystem;
20}
21
22namespace MaterialPropertyLib
23{
24class Medium;
25class Phase;
26class Component;
27
33{
34private:
36 std::array<double, 3> const p_;
38 std::array<double, 3> const lambda_;
39 double const S_min_; //< Lower saturation limit.
40 double const S_max_; //< Upper saturation limit.
42
43public:
45 std::string name,
46 std::array<double, 3>
47 swelling_pressures,
48 std::array<double, 3>
49 exponents,
50 double const lower_saturation_limit,
51 double const upper_saturation_limit,
52 ParameterLib::CoordinateSystem const* const local_coordinate_system);
53
54 void checkScale() const override;
55
56 PropertyDataType value(VariableArray const& variable_array,
57 VariableArray const& variable_array_prev,
59 double const t, double const dt) const override;
60 PropertyDataType dValue(VariableArray const& variable_array,
61 VariableArray const& variable_array_prev,
62 Variable const variable,
64 double const t, double const dt) const override;
65};
66
67} // namespace MaterialPropertyLib
virtual PropertyDataType value() const
Definition Property.cpp:76
std::array< double, 3 > const p_
Maximum swelling pressures, one for each spatial dimension.
PropertyDataType dValue(VariableArray const &variable_array, VariableArray const &variable_array_prev, Variable const variable, ParameterLib::SpatialPosition const &pos, double const t, double const dt) const override
ParameterLib::CoordinateSystem const *const local_coordinate_system_
SaturationDependentSwelling(std::string name, std::array< double, 3 > swelling_pressures, std::array< double, 3 > exponents, double const lower_saturation_limit, double const upper_saturation_limit, ParameterLib::CoordinateSystem const *const local_coordinate_system)
std::array< double, 3 > const lambda_
Exponents, one for each spatial dimension.
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
A local coordinate system used for tensor transformations.