OGS
EmbeddedFracturePermeability.h
Go to the documentation of this file.
1
10#pragma once
11
15
16namespace MaterialPropertyLib
17{
49template <int DisplacementDim>
51{
52private:
53 Medium* _medium = nullptr;
54 Eigen::Matrix<double, 3, 1> const _n;
55 bool const _n_const;
56 double const _k;
57 double const _b0;
58 double const _a;
59 double const _e0;
62 double const _jf;
63
64public:
66 std::string name,
67 Eigen::Matrix<double, 3, 1> const fracture_normal,
68 bool const fracture_normal_is_constant,
69 double const intrinsic_permeability,
70 double const initial_aperture,
71 double const mean_fracture_distance,
72 double const threshold_strain,
73 ParameterLib::Parameter<double> const& fracture_rotation_xy,
74 ParameterLib::Parameter<double> const& fracture_rotation_yz,
75 double const jacobian_factor);
76
77 static int const KelvinVectorSize =
79 using SymmetricTensor = Eigen::Matrix<double, KelvinVectorSize, 1>;
80
81 void checkScale() const override;
82
83 PropertyDataType value(VariableArray const& variable_array,
85 double const t, double const dt) const override;
86 PropertyDataType dValue(VariableArray const& variable_array,
87 Variable const variable,
89 double const t, double const dt) const override;
90};
91
92} // namespace MaterialPropertyLib
Permeability model as proposed by Olivella&Alonso.
EmbeddedFracturePermeability(std::string name, Eigen::Matrix< double, 3, 1 > const fracture_normal, bool const fracture_normal_is_constant, double const intrinsic_permeability, double const initial_aperture, double const mean_fracture_distance, double const threshold_strain, ParameterLib::Parameter< double > const &fracture_rotation_xy, ParameterLib::Parameter< double > const &fracture_rotation_yz, double const jacobian_factor)
Eigen::Matrix< double, KelvinVectorSize, 1 > SymmetricTensor
PropertyDataType dValue(VariableArray const &variable_array, Variable const variable, ParameterLib::SpatialPosition const &pos, double const t, double const dt) const override
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
constexpr int kelvin_vector_dimensions(int const displacement_dim)
Kelvin vector dimensions for given displacement dimension.