OGS
PermeabilityOrthotropicPowerLaw.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
32template <int DisplacementDim>
34{
35private:
37 std::array<double, DisplacementDim> const k_;
39 std::array<double, DisplacementDim> const lambda_;
41
42public:
44 std::string name,
45 std::array<double, DisplacementDim>
46 intrinsic_permeabilities,
47 std::array<double, DisplacementDim>
48 exponents,
49 ParameterLib::CoordinateSystem const* const local_coordinate_system);
50
51 void checkScale() const override;
52
53 PropertyDataType value(VariableArray const& variable_array,
55 double const t, double const dt) const override;
56 PropertyDataType dValue(VariableArray const& variable_array,
57 Variable const variable,
59 double const t, double const dt) const override;
60};
61
62} // namespace MaterialPropertyLib
PermeabilityOrthotropicPowerLaw(std::string name, std::array< double, DisplacementDim > intrinsic_permeabilities, std::array< double, DisplacementDim > exponents, ParameterLib::CoordinateSystem const *const local_coordinate_system)
ParameterLib::CoordinateSystem const *const local_coordinate_system_
PropertyDataType dValue(VariableArray const &variable_array, Variable const variable, ParameterLib::SpatialPosition const &pos, double const t, double const dt) const override
std::array< double, DisplacementDim > const lambda_
Exponents, one for each spatial dimension.
std::array< double, DisplacementDim > const k_
Intrinsic permeabilities, one for each spatial dimension.
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.