19 int const geometry_dimension,
21 std::vector<std::unique_ptr<ParameterLib::ParameterBase>>
const& parameters,
24 if ((geometry_dimension != 2) && (geometry_dimension != 3))
27 "The StrainDependentPermeability is implemented only for 2D or 3D "
38 DBUG(
"Create StrainDependentPermeability property {:s}.", property_name);
40 std::string
const& parameter_name =
44 parameter_name, parameters, 0,
nullptr);
55 auto const minimum_permeability =
58 auto const maximum_permeability =
62 if (minimum_permeability > maximum_permeability)
65 "The value of minimum_permeability of {:e} is larger that the "
66 "value of maximum_permeability of {:e} in "
67 "StrainDependentPermeability",
68 minimum_permeability, maximum_permeability);
71 if (geometry_dimension == 2)
73 return std::make_unique<StrainDependentPermeability<2>>(
74 std::move(property_name), parameter_k0, b1, b2, b3,
75 minimum_permeability, maximum_permeability,
76 local_coordinate_system);
79 return std::make_unique<StrainDependentPermeability<3>>(
80 std::move(property_name), parameter_k0, b1, b2, b3,
81 minimum_permeability, maximum_permeability, local_coordinate_system);
OGS_NO_DANGLING Parameter< ParameterDataType > & findParameter(std::string const ¶meter_name, std::vector< std::unique_ptr< ParameterBase > > const ¶meters, int const num_components, MeshLib::Mesh const *const mesh=nullptr)