14template <
int DisplacementDim>
16 std::vector<std::unique_ptr<ParameterLib::ParameterBase>>
const& parameters,
21 DBUG(
"Create Coulomb material");
25 config,
"normal_stiffness", parameters, 1);
29 config,
"shear_stiffness", parameters, 1);
33 config,
"friction_angle", parameters, 1);
37 config,
"dilatancy_angle", parameters, 1);
41 config,
"cohesion", parameters, 1);
43 auto const penalty_aperture_cutoff =
47 auto const tension_cutoff =
52 Kn, Ks, friction_angle, dilatancy_angle, cohesion};
54 auto const& nonlinear_solver_config =
57 auto const nonlinear_solver_parameters =
60 return std::make_unique<Coulomb::Coulomb<DisplacementDim>>(
61 nonlinear_solver_parameters, penalty_aperture_cutoff, tension_cutoff,
66 std::vector<std::unique_ptr<ParameterLib::ParameterBase>>
const& parameters,
70 std::vector<std::unique_ptr<ParameterLib::ParameterBase>>
const& parameters,
void DBUG(fmt::format_string< Args... > fmt, Args &&... args)
T getConfigParameter(std::string const ¶m) const
ConfigTree getConfigSubtree(std::string const &root) const
void checkConfigParameter(std::string const ¶m, std::string_view const value) const
std::unique_ptr< FractureModelBase< DisplacementDim > > createCoulomb(std::vector< std::unique_ptr< ParameterLib::ParameterBase > > const ¶meters, BaseLib::ConfigTree const &config)
NewtonRaphsonSolverParameters createNewtonRaphsonSolverParameters(BaseLib::ConfigTree const &config)
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)
Variables specific to the material model.