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

[LIE/HM] Enable to read the MPL properties

parent 1f6d10bb
No related branches found
No related tags found
No related merge requests found
...@@ -922,7 +922,7 @@ void ProjectData::parseProcesses( ...@@ -922,7 +922,7 @@ void ProjectData::parseProcesses(
name, *_mesh_vec[0], std::move(jacobian_assembler), name, *_mesh_vec[0], std::move(jacobian_assembler),
_process_variables, _parameters, _process_variables, _parameters,
_local_coordinate_system, integration_order, _local_coordinate_system, integration_order,
process_config); process_config, _media);
break; break;
case 3: case 3:
process = ProcessLib::LIE::HydroMechanics:: process = ProcessLib::LIE::HydroMechanics::
...@@ -930,7 +930,7 @@ void ProjectData::parseProcesses( ...@@ -930,7 +930,7 @@ void ProjectData::parseProcesses(
name, *_mesh_vec[0], std::move(jacobian_assembler), name, *_mesh_vec[0], std::move(jacobian_assembler),
_process_variables, _parameters, _process_variables, _parameters,
_local_coordinate_system, integration_order, _local_coordinate_system, integration_order,
process_config); process_config, _media);
break; break;
default: default:
OGS_FATAL( OGS_FATAL(
......
...@@ -18,6 +18,8 @@ ...@@ -18,6 +18,8 @@
#include "MaterialLib/FractureModels/CreateCoulomb.h" #include "MaterialLib/FractureModels/CreateCoulomb.h"
#include "MaterialLib/FractureModels/CreateLinearElasticIsotropic.h" #include "MaterialLib/FractureModels/CreateLinearElasticIsotropic.h"
#include "MaterialLib/FractureModels/Permeability/CreatePermeabilityModel.h" #include "MaterialLib/FractureModels/Permeability/CreatePermeabilityModel.h"
#include "MaterialLib/MPL/CreateMaterialSpatialDistributionMap.h"
#include "MaterialLib/MPL/MaterialSpatialDistributionMap.h"
#include "MaterialLib/SolidModels/CreateConstitutiveRelation.h" #include "MaterialLib/SolidModels/CreateConstitutiveRelation.h"
#include "ParameterLib/Utils.h" #include "ParameterLib/Utils.h"
#include "ProcessLib/Output/CreateSecondaryVariables.h" #include "ProcessLib/Output/CreateSecondaryVariables.h"
...@@ -38,7 +40,8 @@ std::unique_ptr<Process> createHydroMechanicsProcess( ...@@ -38,7 +40,8 @@ std::unique_ptr<Process> createHydroMechanicsProcess(
std::optional<ParameterLib::CoordinateSystem> const& std::optional<ParameterLib::CoordinateSystem> const&
local_coordinate_system, local_coordinate_system,
unsigned const integration_order, unsigned const integration_order,
BaseLib::ConfigTree const& config) BaseLib::ConfigTree const& config,
std::map<int, std::shared_ptr<MaterialPropertyLib::Medium>> const& media)
{ {
//! \ogs_file_param{prj__processes__process__type} //! \ogs_file_param{prj__processes__process__type}
config.checkConfigParameter("type", "HYDRO_MECHANICS_WITH_LIE"); config.checkConfigParameter("type", "HYDRO_MECHANICS_WITH_LIE");
...@@ -326,9 +329,13 @@ std::unique_ptr<Process> createHydroMechanicsProcess( ...@@ -326,9 +329,13 @@ std::unique_ptr<Process> createHydroMechanicsProcess(
//! \ogs_file_param{prj__processes__process__HYDRO_MECHANICS_WITH_LIE__use_b_bar} //! \ogs_file_param{prj__processes__process__HYDRO_MECHANICS_WITH_LIE__use_b_bar}
auto const use_b_bar = config.getConfigParameter<bool>("use_b_bar", false); auto const use_b_bar = config.getConfigParameter<bool>("use_b_bar", false);
auto media_map =
MaterialPropertyLib::createMaterialSpatialDistributionMap(media, mesh);
HydroMechanicsProcessData<GlobalDim> process_data{ HydroMechanicsProcessData<GlobalDim> process_data{
materialIDs(mesh), materialIDs(mesh),
std::move(solid_constitutive_relations), std::move(solid_constitutive_relations),
std::move(media_map),
intrinsic_permeability, intrinsic_permeability,
specific_storage, specific_storage,
fluid_viscosity, fluid_viscosity,
...@@ -343,7 +350,8 @@ std::unique_ptr<Process> createHydroMechanicsProcess( ...@@ -343,7 +350,8 @@ std::unique_ptr<Process> createHydroMechanicsProcess(
initial_fracture_effective_stress, initial_fracture_effective_stress,
deactivate_matrix_in_flow, deactivate_matrix_in_flow,
reference_temperature, reference_temperature,
use_b_bar}; use_b_bar,
};
SecondaryVariableCollection secondary_variables; SecondaryVariableCollection secondary_variables;
...@@ -365,7 +373,9 @@ template std::unique_ptr<Process> createHydroMechanicsProcess<2>( ...@@ -365,7 +373,9 @@ template std::unique_ptr<Process> createHydroMechanicsProcess<2>(
std::optional<ParameterLib::CoordinateSystem> const& std::optional<ParameterLib::CoordinateSystem> const&
local_coordinate_system, local_coordinate_system,
unsigned const integration_order, unsigned const integration_order,
BaseLib::ConfigTree const& config); BaseLib::ConfigTree const& config,
std::map<int, std::shared_ptr<MaterialPropertyLib::Medium>> const& media);
template std::unique_ptr<Process> createHydroMechanicsProcess<3>( template std::unique_ptr<Process> createHydroMechanicsProcess<3>(
std::string const& name, std::string const& name,
MeshLib::Mesh& mesh, MeshLib::Mesh& mesh,
...@@ -375,7 +385,8 @@ template std::unique_ptr<Process> createHydroMechanicsProcess<3>( ...@@ -375,7 +385,8 @@ template std::unique_ptr<Process> createHydroMechanicsProcess<3>(
std::optional<ParameterLib::CoordinateSystem> const& std::optional<ParameterLib::CoordinateSystem> const&
local_coordinate_system, local_coordinate_system,
unsigned const integration_order, unsigned const integration_order,
BaseLib::ConfigTree const& config); BaseLib::ConfigTree const& config,
std::map<int, std::shared_ptr<MaterialPropertyLib::Medium>> const& media);
} // namespace HydroMechanics } // namespace HydroMechanics
} // namespace LIE } // namespace LIE
......
...@@ -10,6 +10,7 @@ ...@@ -10,6 +10,7 @@
#pragma once #pragma once
#include <map>
#include <memory> #include <memory>
#include <optional> #include <optional>
#include <string> #include <string>
...@@ -19,6 +20,12 @@ namespace BaseLib ...@@ -19,6 +20,12 @@ namespace BaseLib
{ {
class ConfigTree; class ConfigTree;
} }
namespace MaterialPropertyLib
{
class Medium;
}
namespace MeshLib namespace MeshLib
{ {
class Mesh; class Mesh;
...@@ -51,8 +58,8 @@ std::unique_ptr<Process> createHydroMechanicsProcess( ...@@ -51,8 +58,8 @@ std::unique_ptr<Process> createHydroMechanicsProcess(
std::optional<ParameterLib::CoordinateSystem> const& std::optional<ParameterLib::CoordinateSystem> const&
local_coordinate_system, local_coordinate_system,
unsigned const integration_order, unsigned const integration_order,
BaseLib::ConfigTree const& config); BaseLib::ConfigTree const& config,
std::map<int, std::shared_ptr<MaterialPropertyLib::Medium>> const& media);
} // namespace HydroMechanics } // namespace HydroMechanics
} // namespace LIE } // namespace LIE
} // namespace ProcessLib } // namespace ProcessLib
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
#include <utility> #include <utility>
#include "MaterialLib/FractureModels/FractureModelBase.h" #include "MaterialLib/FractureModels/FractureModelBase.h"
#include "MaterialLib/MPL/MaterialSpatialDistributionMap.h"
#include "MaterialLib/SolidModels/MechanicsBase.h" #include "MaterialLib/SolidModels/MechanicsBase.h"
#include "MeshLib/ElementStatus.h" #include "MeshLib/ElementStatus.h"
#include "MeshLib/PropertyVector.h" #include "MeshLib/PropertyVector.h"
...@@ -38,6 +39,9 @@ struct HydroMechanicsProcessData ...@@ -38,6 +39,9 @@ struct HydroMechanicsProcessData
std::map<int, std::map<int,
std::shared_ptr<MaterialLib::Solids::MechanicsBase<GlobalDim>>> std::shared_ptr<MaterialLib::Solids::MechanicsBase<GlobalDim>>>
solid_materials; solid_materials;
MaterialPropertyLib::MaterialSpatialDistributionMap media_map;
ParameterLib::Parameter<double> const& intrinsic_permeability; ParameterLib::Parameter<double> const& intrinsic_permeability;
ParameterLib::Parameter<double> const& specific_storage; ParameterLib::Parameter<double> const& specific_storage;
ParameterLib::Parameter<double> const& fluid_viscosity; ParameterLib::Parameter<double> const& fluid_viscosity;
......
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