OGS
CreateLinearElasticIsotropic.cpp
Go to the documentation of this file.
1 
11 
12 #include "LinearElasticIsotropic.h"
13 #include "ParameterLib/Utils.h"
14 
15 namespace MaterialLib
16 {
17 namespace Fracture
18 {
19 template <int DisplacementDim>
20 std::unique_ptr<FractureModelBase<DisplacementDim>>
22  std::vector<std::unique_ptr<ParameterLib::ParameterBase>> const& parameters,
23  BaseLib::ConfigTree const& config)
24 {
26  config.checkConfigParameter("type", "LinearElasticIsotropic");
27  DBUG("Create LinearElasticIsotropic material");
28 
29  auto const& Kn = ParameterLib::findParameter<double>(
31  config, "normal_stiffness", parameters, 1);
32 
33  auto const& Ks = ParameterLib::findParameter<double>(
35  config, "shear_stiffness", parameters, 1);
36 
37  auto const penalty_aperture_cutoff =
39  config.getConfigParameter<double>("penalty_aperture_cutoff");
40 
41  auto const tension_cutoff =
43  config.getConfigParameter<bool>("tension_cutoff");
44 
46  Ks};
47 
48  return std::make_unique<LinearElasticIsotropic<DisplacementDim>>(
49  penalty_aperture_cutoff, tension_cutoff, mp);
50 }
51 
52 template std::unique_ptr<FractureModelBase<2>> createLinearElasticIsotropic(
53  std::vector<std::unique_ptr<ParameterLib::ParameterBase>> const& parameters,
54  BaseLib::ConfigTree const& config);
55 
56 template std::unique_ptr<FractureModelBase<3>> createLinearElasticIsotropic(
57  std::vector<std::unique_ptr<ParameterLib::ParameterBase>> const& parameters,
58  BaseLib::ConfigTree const& config);
59 
60 } // namespace Fracture
61 } // namespace MaterialLib
void DBUG(char const *fmt, Args const &... args)
Definition: Logging.h:27
void checkConfigParameter(std::string const &param, T const &value) const
T getConfigParameter(std::string const &param) const
std::unique_ptr< FractureModelBase< DisplacementDim > > createLinearElasticIsotropic(std::vector< std::unique_ptr< ParameterLib::ParameterBase >> const &parameters, BaseLib::ConfigTree const &config)