Skip to content
Snippets Groups Projects
Commit bbbfc919 authored by Dmitri Naumov's avatar Dmitri Naumov Committed by Dmitri Naumov
Browse files

[PL] LIE: Update parsing of fracture model config.

parent e135e1ed
No related branches found
No related tags found
No related merge requests found
......@@ -198,26 +198,28 @@ std::unique_ptr<Process> createHydroMechanicsProcess(
// Fracture constitutive relation.
std::unique_ptr<MaterialLib::Fracture::FractureModelBase<GlobalDim>> fracture_model = nullptr;
auto const opt_fracture_constitutive_relation_config =
//! \ogs_file_param{prj__processes__process__HYDRO_MECHANICS_WITH_LIE__fracture_constitutive_relation}
config.getConfigSubtreeOptional("fracture_constitutive_relation");
if (opt_fracture_constitutive_relation_config)
auto const opt_fracture_model_config =
//! \ogs_file_param{prj__processes__process__HYDRO_MECHANICS_WITH_LIE__fracture_model}
config.getConfigSubtreeOptional("fracture_model");
if (opt_fracture_model_config)
{
auto& fracture_constitutive_relation_config = *opt_fracture_constitutive_relation_config;
auto& fracture_model_config = *opt_fracture_model_config;
auto const frac_type =
//! \ogs_file_param{prj__processes__process__HYDRO_MECHANICS_WITH_LIE__fracture_constitutive_relation__type}
fracture_constitutive_relation_config.peekConfigParameter<std::string>("type");
//! \ogs_file_param{prj__processes__process__HYDRO_MECHANICS_WITH_LIE__fracture_model__type}
fracture_model_config.peekConfigParameter<std::string>("type");
if (frac_type == "LinearElasticIsotropic")
{
fracture_model = MaterialLib::Fracture::createLinearElasticIsotropic<GlobalDim>(
parameters, fracture_constitutive_relation_config);
fracture_model =
MaterialLib::Fracture::createLinearElasticIsotropic<GlobalDim>(
parameters, fracture_model_config);
}
else if (frac_type == "MohrCoulomb")
{
fracture_model = MaterialLib::Fracture::createMohrCoulomb<GlobalDim>(
parameters, fracture_constitutive_relation_config);
fracture_model =
MaterialLib::Fracture::createMohrCoulomb<GlobalDim>(
parameters, fracture_model_config);
}
else
{
......
......@@ -119,24 +119,25 @@ createSmallDeformationProcess(
// Fracture constitutive relation.
// read type;
auto const fracture_constitutive_relation_config =
//! \ogs_file_param{prj__processes__process__SMALL_DEFORMATION_WITH_LIE__fracture_constitutive_relation}
config.getConfigSubtree("fracture_constitutive_relation");
auto const fracture_model_config =
//! \ogs_file_param{prj__processes__process__SMALL_DEFORMATION_WITH_LIE__fracture_model}
config.getConfigSubtree("fracture_model");
auto const frac_type =
//! \ogs_file_param{prj__processes__process__SMALL_DEFORMATION_WITH_LIE__fracture_constitutive_relation__type}
fracture_constitutive_relation_config.peekConfigParameter<std::string>("type");
//! \ogs_file_param{prj__processes__process__SMALL_DEFORMATION_WITH_LIE__fracture_model__type}
fracture_model_config.peekConfigParameter<std::string>("type");
std::unique_ptr<MaterialLib::Fracture::FractureModelBase<DisplacementDim>> fracture_model = nullptr;
if (frac_type == "LinearElasticIsotropic")
{
fracture_model = MaterialLib::Fracture::createLinearElasticIsotropic<DisplacementDim>(
parameters, fracture_constitutive_relation_config);
fracture_model = MaterialLib::Fracture::createLinearElasticIsotropic<
DisplacementDim>(parameters, fracture_model_config);
}
else if (frac_type == "MohrCoulomb")
{
fracture_model = MaterialLib::Fracture::createMohrCoulomb<DisplacementDim>(
parameters, fracture_constitutive_relation_config);
fracture_model =
MaterialLib::Fracture::createMohrCoulomb<DisplacementDim>(
parameters, fracture_model_config);
}
else
{
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment