From ce1240cfcc7dc78180135b52035e6655a10e84a2 Mon Sep 17 00:00:00 2001
From: Thomas Fischer <thomas.fischer@ufz.de>
Date: Thu, 30 Aug 2018 13:54:43 +0200
Subject: [PATCH] [PL] Forward the mesh vector to the class Balance.

First forward it to the HT process creation procedure that forwards it
to the class Balance.
---
 Applications/ApplicationsLib/ProjectData.cpp | 2 +-
 ProcessLib/CalculateSurfaceFlux/Balance.h    | 1 +
 ProcessLib/HT/CreateHTProcess.cpp            | 6 ++----
 ProcessLib/HT/CreateHTProcess.h              | 2 +-
 4 files changed, 5 insertions(+), 6 deletions(-)

diff --git a/Applications/ApplicationsLib/ProjectData.cpp b/Applications/ApplicationsLib/ProjectData.cpp
index 8d2a41815e4..12e6cb06d5d 100644
--- a/Applications/ApplicationsLib/ProjectData.cpp
+++ b/Applications/ApplicationsLib/ProjectData.cpp
@@ -428,7 +428,7 @@ void ProjectData::parseProcesses(BaseLib::ConfigTree const& processes_config,
             process = ProcessLib::HT::createHTProcess(
                 *_mesh_vec[0], std::move(jacobian_assembler),
                 _process_variables, _parameters, integration_order,
-                process_config, project_directory, output_directory);
+                process_config, _mesh_vec, output_directory);
         }
         else
 #endif
diff --git a/ProcessLib/CalculateSurfaceFlux/Balance.h b/ProcessLib/CalculateSurfaceFlux/Balance.h
index 99afc95099e..36ece38bec3 100644
--- a/ProcessLib/CalculateSurfaceFlux/Balance.h
+++ b/ProcessLib/CalculateSurfaceFlux/Balance.h
@@ -23,6 +23,7 @@ namespace ProcessLib
 struct Balance
 {
     Balance(std::string&& balance_mesh_name,
+            std::vector<std::unique_ptr<MeshLib::Mesh>> const& meshes,
             std::string&& balance_property_vector_name,
             std::string&& balance_output_mesh_file_name)
         : mesh_name(std::move(balance_mesh_name)),
diff --git a/ProcessLib/HT/CreateHTProcess.cpp b/ProcessLib/HT/CreateHTProcess.cpp
index 3eea271f02a..74532627d3a 100644
--- a/ProcessLib/HT/CreateHTProcess.cpp
+++ b/ProcessLib/HT/CreateHTProcess.cpp
@@ -35,7 +35,7 @@ std::unique_ptr<Process> createHTProcess(
     std::vector<std::unique_ptr<ParameterBase>> const& parameters,
     unsigned const integration_order,
     BaseLib::ConfigTree const& config,
-    std::string const& project_directory,
+    std::vector<std::unique_ptr<MeshLib::Mesh>> const& meshes,
     std::string const& output_directory)
 {
     //! \ogs_file_param{prj__processes__process__type}
@@ -210,12 +210,10 @@ std::unique_ptr<Process> createHTProcess(
 
     if (!mesh_name.empty())  // balance is optional
     {
-        mesh_name = BaseLib::copyPathToFileName(mesh_name, project_directory);
-
         balance_out_fname =
             BaseLib::copyPathToFileName(balance_out_fname, output_directory);
 
-        balance.reset(new ProcessLib::Balance(std::move(mesh_name),
+        balance.reset(new ProcessLib::Balance(std::move(mesh_name), meshes,
                                               std::move(balance_pv_name),
                                               std::move(balance_out_fname)));
 
diff --git a/ProcessLib/HT/CreateHTProcess.h b/ProcessLib/HT/CreateHTProcess.h
index 59b359c4b1c..c890a365f9f 100644
--- a/ProcessLib/HT/CreateHTProcess.h
+++ b/ProcessLib/HT/CreateHTProcess.h
@@ -23,7 +23,7 @@ std::unique_ptr<Process> createHTProcess(
     std::vector<std::unique_ptr<ParameterBase>> const& parameters,
     unsigned const integration_order,
     BaseLib::ConfigTree const& config,
-    std::string const& project_directory,
+    std::vector<std::unique_ptr<MeshLib::Mesh>> const& meshes,
     std::string const& output_directory);
 
 }  // namespace HT
-- 
GitLab