OGS
OrthotropicEmbeddedFracturePermeability.h
Go to the documentation of this file.
1
10#pragma once
11
15
16namespace MaterialPropertyLib
17{
18class Medium;
19class Phase;
20class Component;
56template <int DisplacementDim>
58{
59private:
60 Medium* _medium = nullptr;
61 std::vector<double> const _a;
62 std::vector<double> const _e0;
63 Eigen::Matrix<double, 3, 3> const _n;
67 double const _jf;
68
69public:
71 std::string name,
72 std::vector<double> const& mean_fracture_distances,
73 std::vector<double> const& threshold_strains,
74 Eigen::Matrix<double, 3, 3> const fracture_normals,
75 ParameterLib::Parameter<double> const& intrinsic_permeability,
76 ParameterLib::Parameter<double> const& fracture_rotation_xy,
77 ParameterLib::Parameter<double> const& fracture_rotation_yz,
78 double const jacobian_factor);
79
80 using SymmetricTensor = Eigen::Matrix<
81 double,
83
84 void checkScale() const override;
85
86 PropertyDataType value(VariableArray const& variable_array,
88 double const t, double const dt) const override;
89 PropertyDataType dValue(VariableArray const& variable_array,
90 Variable const variable,
92 double const t, double const dt) const override;
93};
94
95} // namespace MaterialPropertyLib
OrthotropicEmbeddedFracturePermeability(std::string name, std::vector< double > const &mean_fracture_distances, std::vector< double > const &threshold_strains, Eigen::Matrix< double, 3, 3 > const fracture_normals, ParameterLib::Parameter< double > const &intrinsic_permeability, ParameterLib::Parameter< double > const &fracture_rotation_xy, ParameterLib::Parameter< double > const &fracture_rotation_yz, double const jacobian_factor)
Eigen::Matrix< double, MathLib::KelvinVector::kelvin_vector_dimensions(DisplacementDim), 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.