From 29ae561ec3cb727fb55ee06f94e9c552713b6dc9 Mon Sep 17 00:00:00 2001 From: Tobias Meisel <tobias.meisel@ufz.de> Date: Wed, 7 Oct 2020 14:24:05 +0200 Subject: [PATCH] [MeL] makevtuoutput can now write additionally xdmf format ... - rename to makeoutput --- ProcessLib/Output/Output.cpp | 2 +- ProcessLib/Output/ProcessOutput.cpp | 14 ++++++++++---- ProcessLib/Output/ProcessOutput.h | 4 ++-- 3 files changed, 13 insertions(+), 7 deletions(-) diff --git a/ProcessLib/Output/Output.cpp b/ProcessLib/Output/Output.cpp index fb35566d7ae..a6a315352ab 100644 --- a/ProcessLib/Output/Output.cpp +++ b/ProcessLib/Output/Output.cpp @@ -444,7 +444,7 @@ void Output::doOutputNonlinearIteration(Process const& process, DBUG("output iteration results to {:s}", output_file_path); makeOutput(output_file_path, process.getMesh(), _output_file_compression, - _output_file_data_mode); + _output_file_data_mode, _output_file_type); INFO("[time] Output took {:g} s.", time_output.elapsed()); } } // namespace ProcessLib diff --git a/ProcessLib/Output/ProcessOutput.cpp b/ProcessLib/Output/ProcessOutput.cpp index f6b0f1495ce..c0413ee49b6 100644 --- a/ProcessLib/Output/ProcessOutput.cpp +++ b/ProcessLib/Output/ProcessOutput.cpp @@ -251,7 +251,7 @@ void addProcessDataToMesh( } void makeOutput(std::string const& file_name, MeshLib::Mesh const& mesh, - bool const compress_output, int const data_mode) + bool const compress_output, int const data_mode, std::string const& file_type) { // Write output file DBUG("Writing output to '{:s}'.", file_name); @@ -269,9 +269,15 @@ void makeOutput(std::string const& file_name, MeshLib::Mesh const& mesh, #endif //_WIN32 #endif //__APPLE__ - MeshLib::IO::VtuInterface vtu_interface(&mesh, data_mode, compress_output); - vtu_interface.writeToFile(file_name); - + if (file_type=="VTK") + { + MeshLib::IO::VtuInterface vtu_interface(&mesh, data_mode, compress_output); + vtu_interface.writeToFile(file_name); + } + else if (file_type=="XDMF") + { + MeshLib::IO::writeXdmf3(mesh, file_name); + } // Restore floating-point exception handling. #ifndef _WIN32 #ifndef __APPLE__ diff --git a/ProcessLib/Output/ProcessOutput.h b/ProcessLib/Output/ProcessOutput.h index 5e6fe96aed2..688480c2e3a 100644 --- a/ProcessLib/Output/ProcessOutput.h +++ b/ProcessLib/Output/ProcessOutput.h @@ -47,6 +47,6 @@ void addProcessDataToMesh( /// See Output::_output_file_data_mode documentation for the data_mode /// parameter. void makeOutput(std::string const& file_name, MeshLib::Mesh const& mesh, - bool const compress_output, int const data_mode); - + bool const compress_output, int const data_mode, + std::string const& file_type); } // namespace ProcessLib -- GitLab