13template <
int DisplacementDim>
14std::unique_ptr<LinearElasticIsotropicSoftening<DisplacementDim>>
16 std::vector<std::unique_ptr<ParameterLib::ParameterBase>>
const& parameters,
19 if (!skip_type_checking)
23 DBUG(
"Create LinearElasticIsotropic material");
29 config,
"youngs_modulus", parameters, 1);
31 DBUG(
"Use '{:s}' as youngs_modulus parameter.", youngs_modulus.name);
36 config,
"poissons_ratio", parameters, 1);
38 DBUG(
"Use '{:s}' as poissons_ratio parameter.", poissons_ratio.name);
43 config,
"strength", parameters, 1);
45 DBUG(
"Use '{:s}' as strength parameter.", strength.name);
48 DisplacementDim>::MaterialProperties mp{youngs_modulus, poissons_ratio};
50 return std::make_unique<LinearElasticIsotropicSoftening<DisplacementDim>>(
void DBUG(fmt::format_string< Args... > fmt, Args &&... args)
void checkConfigParameter(std::string const ¶m, std::string_view const value) const
std::unique_ptr< LinearElasticIsotropicSoftening< DisplacementDim > > createLinearElasticIsotropicSoftening(std::vector< std::unique_ptr< ParameterLib::ParameterBase > > const ¶meters, BaseLib::ConfigTree const &config, const bool skip_type_checking)
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)