27 int const geometry_dimension,
29 std::vector<std::unique_ptr<ParameterLib::ParameterBase>>
const& parameters,
32 if ((geometry_dimension != 2) && (geometry_dimension != 3))
35 "The StrainDependentPermeability is implemented only for 2D or 3D "
46 DBUG(
"Create StrainDependentPermeability property {:s}.", property_name);
48 std::string
const& parameter_name =
51 auto const& parameter_k0 = ParameterLib::findParameter<double>(
52 parameter_name, parameters, 0,
nullptr);
63 auto const minimum_permeability =
66 auto const maximum_permeability =
70 if (minimum_permeability > maximum_permeability)
73 "The value of minimum_permeability of {:e} is larger that the "
74 "value of maximum_permeability of {:e} in "
75 "StrainDependentPermeability",
76 minimum_permeability, maximum_permeability);
79 if (geometry_dimension == 2)
81 return std::make_unique<StrainDependentPermeability<2>>(
82 std::move(property_name), parameter_k0, b1, b2, b3,
83 minimum_permeability, maximum_permeability,
84 local_coordinate_system);
87 return std::make_unique<StrainDependentPermeability<3>>(
88 std::move(property_name), parameter_k0, b1, b2, b3,
89 minimum_permeability, maximum_permeability, local_coordinate_system);