diff --git a/ProcessLib/Output/ProcessOutput.cpp b/ProcessLib/Output/ProcessOutput.cpp index 7bfcc83ccfd039cf8f2f954a4ee0557308d33323..db46a973710855cc86a06e8e4ae6d5692ba75e81 100644 --- a/ProcessLib/Output/ProcessOutput.cpp +++ b/ProcessLib/Output/ProcessOutput.cpp @@ -9,9 +9,21 @@ #include "ProcessOutput.h" +#include "BaseLib/BuildInfo.h" #include "MeshLib/IO/VtkIO/VtuInterface.h" #include "NumLib/DOF/LocalToGlobalIndexMap.h" +/// Copies the ogs_version string containing the release number and the git +/// hash. +static void addOgsVersion(MeshLib::Mesh& mesh) +{ + auto& ogs_version_field = *MeshLib::getOrCreateMeshProperty<char>( + mesh, "OGS_VERSION", MeshLib::MeshItemType::IntegrationPoint, 1); + + ogs_version_field.assign(BaseLib::BuildInfo::ogs_version.begin(), + BaseLib::BuildInfo::ogs_version.end()); +} + #ifndef USE_PETSC // Not used in PETSc case static void addSecondaryVariableNodes( double const t, @@ -119,6 +131,8 @@ void processOutputData( { DBUG("Process output data."); + addOgsVersion(mesh); + // Copy result #ifdef USE_PETSC // TODO It is also possible directly to copy the data for single process