From d2f65ed313a95edb554d8b53d25cfdf3a840135b Mon Sep 17 00:00:00 2001 From: xymiao <miaoxingyuan@live.cn> Date: Thu, 11 May 2017 11:01:22 +0200 Subject: [PATCH] added selection routine for all constitutive formulations available in TM process. --- .../i_constitutive_relation.md | 2 +- .../CreateThermoMechanicsProcess.cpp | 14 +++++++++++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/Documentation/ProjectFile/prj/processes/process/THERMO_MECHANICS/constitutive_relation/i_constitutive_relation.md b/Documentation/ProjectFile/prj/processes/process/THERMO_MECHANICS/constitutive_relation/i_constitutive_relation.md index b2ad0ba5cf3..74e106945a6 100644 --- a/Documentation/ProjectFile/prj/processes/process/THERMO_MECHANICS/constitutive_relation/i_constitutive_relation.md +++ b/Documentation/ProjectFile/prj/processes/process/THERMO_MECHANICS/constitutive_relation/i_constitutive_relation.md @@ -1 +1 @@ -The constitutive relation for the mechanical part. Only linear elasticity is available in the moment. \ No newline at end of file +The constitutive relation for the mechanical part. It works for all material models. \ No newline at end of file diff --git a/ProcessLib/ThermoMechanics/CreateThermoMechanicsProcess.cpp b/ProcessLib/ThermoMechanics/CreateThermoMechanicsProcess.cpp index 681152c7f56..982ac978aed 100644 --- a/ProcessLib/ThermoMechanics/CreateThermoMechanicsProcess.cpp +++ b/ProcessLib/ThermoMechanics/CreateThermoMechanicsProcess.cpp @@ -11,7 +11,9 @@ #include <cassert> +#include "MaterialLib/SolidModels/CreateEhlers.h" #include "MaterialLib/SolidModels/CreateLinearElasticIsotropic.h" +#include "MaterialLib/SolidModels/CreateLubby2.h" #include "ProcessLib/Utils/ParseSecondaryVariables.h" #include "ThermoMechanicsProcess.h" @@ -89,12 +91,22 @@ std::unique_ptr<Process> createThermoMechanicsProcess( std::unique_ptr<MaterialLib::Solids::MechanicsBase<DisplacementDim>> material = nullptr; - if (type == "LinearElasticIsotropic") + if (type == "Ehlers") + { + material = MaterialLib::Solids::Ehlers::createEhlers<DisplacementDim>( + parameters, constitutive_relation_config); + } + else if (type == "LinearElasticIsotropic") { material = MaterialLib::Solids::createLinearElasticIsotropic<DisplacementDim>( parameters, constitutive_relation_config); } + else if (type == "Lubby2") + { + material = MaterialLib::Solids::Lubby2::createLubby2<DisplacementDim>( + parameters, constitutive_relation_config); + } else { OGS_FATAL( -- GitLab