From 85c6bc982bc36c00312ddd91f74713e0362e69da Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Del=20Pino?= <stephane.delpino44@gmail.com> Date: Thu, 11 Feb 2021 18:12:05 +0100 Subject: [PATCH] Add generation info to .vtu and .pvtu files --- src/output/VTKWriter.cpp | 20 ++++++++++++++++++++ src/output/VTKWriter.hpp | 2 ++ 2 files changed, 22 insertions(+) diff --git a/src/output/VTKWriter.cpp b/src/output/VTKWriter.cpp index 103807dbc..796a1c0ff 100644 --- a/src/output/VTKWriter.cpp +++ b/src/output/VTKWriter.cpp @@ -3,7 +3,9 @@ #include <mesh/Connectivity.hpp> #include <mesh/Mesh.hpp> #include <utils/Messenger.hpp> +#include <utils/RevisionInfo.hpp> +#include <ctime> #include <fstream> #include <iomanip> #include <sstream> @@ -18,6 +20,22 @@ VTKWriter::_getFilenamePVTU() const return sout.str(); } +std::string +VTKWriter::_getDateAndVersionComment() const +{ + std::ostringstream os; + + std::time_t now = std::time(nullptr); + os << "<!--\n"; + os << " Generated by pugs: " << std::ctime(&now); + os << " version: " << RevisionInfo::version() << '\n'; + os << " tag: " << RevisionInfo::gitTag() << '\n'; + os << " HEAD: " << RevisionInfo::gitHead() << '\n'; + os << " hash: " << RevisionInfo::gitHash() << " (" << ((RevisionInfo::gitIsClean()) ? "clean" : "dirty") << ")\n"; + os << "-->\n"; + return os.str(); +} + std::string VTKWriter::_getFilenameVTU(int rank_number) const { @@ -269,6 +287,7 @@ VTKWriter::_write(const std::shared_ptr<const MeshType>& mesh, if (parallel::rank() == 0) { // write PVTK file std::ofstream fout(_getFilenamePVTU()); fout << "<?xml version=\"1.0\"?>\n"; + fout << _getDateAndVersionComment(); fout << "<VTKFile type=\"PUnstructuredGrid\">\n"; fout << "<PUnstructuredGrid GhostLevel=\"0\">\n"; @@ -318,6 +337,7 @@ VTKWriter::_write(const std::shared_ptr<const MeshType>& mesh, { // write VTK files std::ofstream fout(_getFilenameVTU(parallel::rank())); fout << "<?xml version=\"1.0\"?>\n"; + fout << _getDateAndVersionComment(); fout << "<VTKFile type=\"UnstructuredGrid\">\n"; fout << "<UnstructuredGrid>\n"; fout << "<Piece NumberOfPoints=\"" << mesh->numberOfNodes() << "\" NumberOfCells=\"" << mesh->numberOfCells() diff --git a/src/output/VTKWriter.hpp b/src/output/VTKWriter.hpp index fadec4f9d..52a4bd9d9 100644 --- a/src/output/VTKWriter.hpp +++ b/src/output/VTKWriter.hpp @@ -19,6 +19,8 @@ class VTKWriter : public IWriter mutable double m_last_time; const double m_time_period; + std::string _getDateAndVersionComment() const; + std::string _getFilenamePVTU() const; std::string _getFilenameVTU(int rank_number) const; -- GitLab