From 2c6291aa86c891862f26aa8cf13a7bb88aad1fd4 Mon Sep 17 00:00:00 2001
From: Thomas Fischer <thomas.fischer@ufz.de>
Date: Thu, 30 Apr 2020 14:39:36 +0200
Subject: [PATCH] [PL/Output] Name file by format string template.

---
 ProcessLib/Output/Output.cpp | 20 ++++++++++++--------
 1 file changed, 12 insertions(+), 8 deletions(-)

diff --git a/ProcessLib/Output/Output.cpp b/ProcessLib/Output/Output.cpp
index e0e907a69c8..9d5d4899c83 100644
--- a/ProcessLib/Output/Output.cpp
+++ b/ProcessLib/Output/Output.cpp
@@ -145,9 +145,11 @@ Output::ProcessData* Output::findProcessData(Process const& process,
 struct Output::OutputFile
 {
     OutputFile(std::string const& directory, std::string const& prefix,
-               int const process_id, int const timestep, double const t,
-               int const data_mode_, bool const compression_)
-        : name(BaseLib::constructFileName(prefix, process_id, timestep, t) +
+               std::string const& mesh_name, int const process_id,
+               int const timestep, double const t, int const data_mode_,
+               bool const compression_)
+        : name(BaseLib::constructFormattedFileName(prefix, mesh_name,
+                                                   process_id, timestep, t) +
                ".vtu"),
           path(BaseLib::joinPaths(directory, name)),
           data_mode(data_mode_),
@@ -215,9 +217,9 @@ void Output::doOutputAlways(Process const& process,
 
     auto output_bulk_mesh = [&]() {
         outputBulkMesh(
-            OutputFile(_output_directory, _output_file_prefix, process_id,
-                       timestep, t, _output_file_data_mode,
-                       _output_file_compression),
+            OutputFile(_output_directory, _output_file_prefix,
+                       process.getMesh().getName(), process_id, timestep, t,
+                       _output_file_data_mode, _output_file_compression),
             findProcessData(process, process_id), process.getMesh(), t);
     };
     // Write the bulk mesh only if there are no other meshes specified for
@@ -276,6 +278,7 @@ void Output::doOutputAlways(Process const& process,
         // allow for merging bulk mesh output and arbitrary mesh output.
 
         OutputFile const output_file{_output_directory,
+                                     _output_file_prefix,
                                      mesh.getName(),
                                      process_id,
                                      timestep,
@@ -364,8 +367,9 @@ void Output::doOutputNonlinearIteration(Process const& process,
     findProcessData(process, process_id);
 
     std::string const output_file_name =
-        BaseLib::constructFileName(_output_file_prefix, process_id, timestep,
-                                   t) +
+        BaseLib::constructFormattedFileName(_output_file_prefix,
+                                            process.getMesh().getName(),
+                                            process_id, timestep, t) +
         "_nliter_" + std::to_string(iteration) + ".vtu";
     std::string const output_file_path =
         BaseLib::joinPaths(_output_directory, output_file_name);
-- 
GitLab