From 1f9d9eb3b7c14dce1e8b8072b3529b71672a1cb9 Mon Sep 17 00:00:00 2001
From: Thomas Fischer <thomas.fischer@ufz.de>
Date: Mon, 19 Aug 2019 13:59:56 +0200
Subject: [PATCH] [PL/HT] Use object directly instead of unique_ptr.

---
 ProcessLib/HT/CreateHTProcess.cpp | 12 ++++--------
 ProcessLib/HT/HTProcess.cpp       |  7 +++----
 ProcessLib/HT/HTProcess.h         |  6 +++---
 3 files changed, 10 insertions(+), 15 deletions(-)

diff --git a/ProcessLib/HT/CreateHTProcess.cpp b/ProcessLib/HT/CreateHTProcess.cpp
index 0eb565cd3bb..d62f564733d 100644
--- a/ProcessLib/HT/CreateHTProcess.cpp
+++ b/ProcessLib/HT/CreateHTProcess.cpp
@@ -139,14 +139,10 @@ std::unique_ptr<Process> createHTProcess(
     auto media_map =
         MaterialPropertyLib::createMaterialSpatialDistributionMap(media, mesh);
 
-    std::unique_ptr<HTMaterialProperties> material_properties =
-        std::make_unique<HTMaterialProperties>(
-            std::move(media_map),
-            has_fluid_thermal_expansion,
-            *solid_thermal_expansion,
-            *biot_constant,
-            specific_body_force,
-            has_gravity);
+    HTMaterialProperties material_properties{
+        std::move(media_map),     has_fluid_thermal_expansion,
+        *solid_thermal_expansion, *biot_constant,
+        specific_body_force,      has_gravity};
 
     SecondaryVariableCollection secondary_variables;
 
diff --git a/ProcessLib/HT/HTProcess.cpp b/ProcessLib/HT/HTProcess.cpp
index 9616152224c..a9074a8bae5 100644
--- a/ProcessLib/HT/HTProcess.cpp
+++ b/ProcessLib/HT/HTProcess.cpp
@@ -16,7 +16,6 @@
 #include "ProcessLib/SurfaceFlux/SurfaceFluxData.h"
 #include "ProcessLib/Utils/CreateLocalAssemblers.h"
 
-#include "HTMaterialProperties.h"
 #include "MonolithicHTFEM.h"
 #include "StaggeredHTFEM.h"
 
@@ -32,7 +31,7 @@ HTProcess::HTProcess(
     unsigned const integration_order,
     std::vector<std::vector<std::reference_wrapper<ProcessVariable>>>&&
         process_variables,
-    std::unique_ptr<HTMaterialProperties>&& material_properties,
+    HTMaterialProperties&& material_properties,
     SecondaryVariableCollection&& secondary_variables,
     NumLib::NamedFunctionCaller&& named_function_caller,
     bool const use_monolithic_scheme,
@@ -68,14 +67,14 @@ void HTProcess::initializeConcreteProcess(
             mesh.getDimension(), mesh.getElements(), dof_table,
             pv.getShapeFunctionOrder(), _local_assemblers,
             mesh.isAxiallySymmetric(), integration_order,
-            *_material_properties);
+            _material_properties);
     }
     else
     {
         ProcessLib::createLocalAssemblers<StaggeredHTFEM>(
             mesh.getDimension(), mesh.getElements(), dof_table,
             pv.getShapeFunctionOrder(), _local_assemblers,
-            mesh.isAxiallySymmetric(), integration_order, *_material_properties,
+            mesh.isAxiallySymmetric(), integration_order, _material_properties,
             _heat_transport_process_id, _hydraulic_process_id);
     }
 
diff --git a/ProcessLib/HT/HTProcess.h b/ProcessLib/HT/HTProcess.h
index 1d59a7bc4ed..b6dbe34253f 100644
--- a/ProcessLib/HT/HTProcess.h
+++ b/ProcessLib/HT/HTProcess.h
@@ -11,6 +11,7 @@
 
 #include <array>
 
+#include "HTMaterialProperties.h"
 #include "ProcessLib/Process.h"
 
 namespace NumLib
@@ -25,7 +26,6 @@ struct SurfaceFluxData;
 namespace HT
 {
 class HTLocalAssemblerInterface;
-struct HTMaterialProperties;
 
 /**
  * # HT process
@@ -59,7 +59,7 @@ public:
         unsigned const integration_order,
         std::vector<std::vector<std::reference_wrapper<ProcessVariable>>>&&
             process_variables,
-        std::unique_ptr<HTMaterialProperties>&& material_properties,
+        HTMaterialProperties&& material_properties,
         SecondaryVariableCollection&& secondary_variables,
         NumLib::NamedFunctionCaller&& named_function_caller,
         bool const use_monolithic_scheme,
@@ -116,7 +116,7 @@ private:
     std::tuple<NumLib::LocalToGlobalIndexMap*, bool>
         getDOFTableForExtrapolatorData() const override;
 
-    const std::unique_ptr<HTMaterialProperties> _material_properties;
+    HTMaterialProperties _material_properties;
 
     std::vector<std::unique_ptr<HTLocalAssemblerInterface>> _local_assemblers;
 
-- 
GitLab