OGS
GasPressureDependentPermeability.h
Go to the documentation of this file.
1
12#pragma once
13
16
17namespace ParameterLib
18{
19struct CoordinateSystem;
20template <typename T>
21struct Parameter;
22} // namespace ParameterLib
23
24namespace MaterialPropertyLib
25{
50template <int DisplacementDim>
52{
53public:
55 std::string name, ParameterLib::Parameter<double> const& k0,
56 double const a1, double const a2, double const pressure_threshold,
57 double const minimum_permeability, double const maximum_permeability,
58 ParameterLib::CoordinateSystem const* const local_coordinate_system);
59
60 void checkScale() const override;
61
62 PropertyDataType value(VariableArray const& variable_array,
64 double const t, double const dt) const override;
65 PropertyDataType dValue(VariableArray const& variable_array,
66 Variable const variable,
68 double const t, double const dt) const override;
69
70private:
75 double const a1_;
79 double const a2_;
82 double const pressure_threshold_;
86};
87
88extern template class GasPressureDependentPermeability<2>;
89extern template class GasPressureDependentPermeability<3>;
90
91} // namespace MaterialPropertyLib
A gas pressure dependent intrinsic permeability model.
GasPressureDependentPermeability(std::string name, ParameterLib::Parameter< double > const &k0, double const a1, double const a2, double const pressure_threshold, double const minimum_permeability, double const maximum_permeability, ParameterLib::CoordinateSystem const *const local_coordinate_system)
ParameterLib::Parameter< double > const & k0_
Initial intrinsic permeability.
PropertyDataType dValue(VariableArray const &variable_array, Variable const variable, ParameterLib::SpatialPosition const &pos, double const t, double const dt) const override
ParameterLib::CoordinateSystem const *const local_coordinate_system_
virtual PropertyDataType value() const
Definition Property.cpp:76
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.