Skip to content
Snippets Groups Projects
Commit 25da6ba1 authored by Tom Fischer's avatar Tom Fischer Committed by Dmitri Naumov
Browse files

[PL/HT] Forward the MPL::Media object to HTMaterialProperties.

parent 968109d5
No related branches found
No related tags found
No related merge requests found
...@@ -609,7 +609,7 @@ void ProjectData::parseProcesses(BaseLib::ConfigTree const& processes_config, ...@@ -609,7 +609,7 @@ void ProjectData::parseProcesses(BaseLib::ConfigTree const& processes_config,
process = ProcessLib::HT::createHTProcess( process = ProcessLib::HT::createHTProcess(
*_mesh_vec[0], std::move(jacobian_assembler), *_mesh_vec[0], std::move(jacobian_assembler),
_process_variables, _parameters, integration_order, _process_variables, _parameters, integration_order,
process_config, _mesh_vec, output_directory); process_config, _mesh_vec, output_directory, _media);
} }
else else
#endif #endif
......
...@@ -10,6 +10,7 @@ ...@@ -10,6 +10,7 @@
#include "CreateHTProcess.h" #include "CreateHTProcess.h"
#include "MaterialLib/Fluid/FluidProperties/CreateFluidProperties.h" #include "MaterialLib/Fluid/FluidProperties/CreateFluidProperties.h"
#include "MaterialLib/MPL/CreateMaterialSpatialDistributionMap.h"
#include "MaterialLib/PorousMedium/CreatePorousMediaProperties.h" #include "MaterialLib/PorousMedium/CreatePorousMediaProperties.h"
#include "MeshLib/IO/readMeshFromFile.h" #include "MeshLib/IO/readMeshFromFile.h"
#include "ParameterLib/ConstantParameter.h" #include "ParameterLib/ConstantParameter.h"
...@@ -34,7 +35,8 @@ std::unique_ptr<Process> createHTProcess( ...@@ -34,7 +35,8 @@ std::unique_ptr<Process> createHTProcess(
unsigned const integration_order, unsigned const integration_order,
BaseLib::ConfigTree const& config, BaseLib::ConfigTree const& config,
std::vector<std::unique_ptr<MeshLib::Mesh>> const& meshes, std::vector<std::unique_ptr<MeshLib::Mesh>> const& meshes,
std::string const& output_directory) std::string const& output_directory,
std::map<int, std::unique_ptr<MaterialPropertyLib::Medium>> const& media)
{ {
//! \ogs_file_param{prj__processes__process__type} //! \ogs_file_param{prj__processes__process__type}
config.checkConfigParameter("type", "HT"); config.checkConfigParameter("type", "HT");
...@@ -216,11 +218,15 @@ std::unique_ptr<Process> createHTProcess( ...@@ -216,11 +218,15 @@ std::unique_ptr<Process> createHTProcess(
output_directory); output_directory);
} }
auto media_map =
MaterialPropertyLib::createMaterialSpatialDistributionMap(media, mesh);
std::unique_ptr<HTMaterialProperties> material_properties = std::unique_ptr<HTMaterialProperties> material_properties =
std::make_unique<HTMaterialProperties>( std::make_unique<HTMaterialProperties>(
std::move(porous_media_properties), std::move(porous_media_properties),
density_solid, density_solid,
std::move(fluid_properties), std::move(fluid_properties),
std::move(media_map),
has_fluid_thermal_dispersivity, has_fluid_thermal_dispersivity,
*thermal_dispersivity_longitudinal, *thermal_dispersivity_longitudinal,
*thermal_dispersivity_transversal, *thermal_dispersivity_transversal,
......
...@@ -10,8 +10,14 @@ ...@@ -10,8 +10,14 @@
#pragma once #pragma once
#include <memory> #include <memory>
#include "ProcessLib/Process.h" #include "ProcessLib/Process.h"
namespace MaterialPropertyLib
{
class Medium;
}
namespace ProcessLib namespace ProcessLib
{ {
namespace HT namespace HT
...@@ -24,7 +30,8 @@ std::unique_ptr<Process> createHTProcess( ...@@ -24,7 +30,8 @@ std::unique_ptr<Process> createHTProcess(
unsigned const integration_order, unsigned const integration_order,
BaseLib::ConfigTree const& config, BaseLib::ConfigTree const& config,
std::vector<std::unique_ptr<MeshLib::Mesh>> const& meshes, std::vector<std::unique_ptr<MeshLib::Mesh>> const& meshes,
std::string const& output_directory); std::string const& output_directory,
std::map<int, std::unique_ptr<MaterialPropertyLib::Medium>> const& media);
} // namespace HT } // namespace HT
} // namespace ProcessLib } // namespace ProcessLib
...@@ -13,6 +13,7 @@ ...@@ -13,6 +13,7 @@
#include <utility> #include <utility>
#include "MaterialLib/Fluid/FluidProperties/FluidProperties.h" #include "MaterialLib/Fluid/FluidProperties/FluidProperties.h"
#include "MaterialLib/MPL/MaterialSpatialDistributionMap.h"
#include "MaterialLib/PorousMedium/PorousMediaProperties.h" #include "MaterialLib/PorousMedium/PorousMediaProperties.h"
namespace ProcessLib namespace ProcessLib
...@@ -30,6 +31,8 @@ struct HTMaterialProperties final ...@@ -30,6 +31,8 @@ struct HTMaterialProperties final
ParameterLib::Parameter<double> const& density_solid_, ParameterLib::Parameter<double> const& density_solid_,
std::unique_ptr<MaterialLib::Fluid::FluidProperties>&& std::unique_ptr<MaterialLib::Fluid::FluidProperties>&&
fluid_properties_, fluid_properties_,
std::unique_ptr<MaterialPropertyLib::MaterialSpatialDistributionMap>&&
media_map_,
bool const has_fluid_thermal_dispersivity_, bool const has_fluid_thermal_dispersivity_,
ParameterLib::Parameter<double> const& ParameterLib::Parameter<double> const&
thermal_dispersivity_longitudinal_, thermal_dispersivity_longitudinal_,
...@@ -46,6 +49,7 @@ struct HTMaterialProperties final ...@@ -46,6 +49,7 @@ struct HTMaterialProperties final
: porous_media_properties(std::move(porous_media_properties_)), : porous_media_properties(std::move(porous_media_properties_)),
density_solid(density_solid_), density_solid(density_solid_),
fluid_properties(std::move(fluid_properties_)), fluid_properties(std::move(fluid_properties_)),
media_map(std::move(media_map_)),
specific_heat_capacity_solid(specific_heat_capacity_solid_), specific_heat_capacity_solid(specific_heat_capacity_solid_),
has_fluid_thermal_dispersivity(has_fluid_thermal_dispersivity_), has_fluid_thermal_dispersivity(has_fluid_thermal_dispersivity_),
thermal_dispersivity_longitudinal(thermal_dispersivity_longitudinal_), thermal_dispersivity_longitudinal(thermal_dispersivity_longitudinal_),
...@@ -68,6 +72,8 @@ struct HTMaterialProperties final ...@@ -68,6 +72,8 @@ struct HTMaterialProperties final
MaterialLib::PorousMedium::PorousMediaProperties porous_media_properties; MaterialLib::PorousMedium::PorousMediaProperties porous_media_properties;
ParameterLib::Parameter<double> const& density_solid; ParameterLib::Parameter<double> const& density_solid;
std::unique_ptr<MaterialLib::Fluid::FluidProperties> fluid_properties; std::unique_ptr<MaterialLib::Fluid::FluidProperties> fluid_properties;
std::unique_ptr<MaterialPropertyLib::MaterialSpatialDistributionMap>
media_map;
ParameterLib::Parameter<double> const& specific_heat_capacity_solid; ParameterLib::Parameter<double> const& specific_heat_capacity_solid;
bool const has_fluid_thermal_dispersivity; bool const has_fluid_thermal_dispersivity;
ParameterLib::Parameter<double> const& thermal_dispersivity_longitudinal; ParameterLib::Parameter<double> const& thermal_dispersivity_longitudinal;
......
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