From ab9b1a5121d19716401da06b85f4a0f21cd85b3c Mon Sep 17 00:00:00 2001
From: MostafaMollaali <m.molaali@gmail.com>
Date: Wed, 22 Feb 2023 16:31:11 +0100
Subject: [PATCH] Cumulative energies of all cores in parallel comp.

---
 ProcessLib/PhaseField/PhaseFieldProcess.cpp | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/ProcessLib/PhaseField/PhaseFieldProcess.cpp b/ProcessLib/PhaseField/PhaseFieldProcess.cpp
index 1869285d7e6..48fc07c8e42 100644
--- a/ProcessLib/PhaseField/PhaseFieldProcess.cpp
+++ b/ProcessLib/PhaseField/PhaseFieldProcess.cpp
@@ -303,6 +303,18 @@ void PhaseFieldProcess<DisplacementDim>::postTimestepConcreteProcess(
             _process_data.elastic_energy, _process_data.surface_energy,
             _process_data.pressure_work, _coupled_solutions);
 
+#ifdef USE_PETSC
+        double const elastic_energy = _process_data.elastic_energy;
+        MPI_Allreduce(&elastic_energy, &_process_data.elastic_energy, 1,
+                      MPI_DOUBLE, MPI_SUM, PETSC_COMM_WORLD);
+        double const surface_energy = _process_data.surface_energy;
+        MPI_Allreduce(&surface_energy, &_process_data.surface_energy, 1,
+                      MPI_DOUBLE, MPI_SUM, PETSC_COMM_WORLD);
+        double const pressure_work = _process_data.pressure_work;
+        MPI_Allreduce(&pressure_work, &_process_data.pressure_work, 1,
+                      MPI_DOUBLE, MPI_SUM, PETSC_COMM_WORLD);
+#endif
+
         INFO(
             "Elastic energy: {:g} Surface energy: {:g} Pressure work: {:g}  at "
             "time: {:g} ",
-- 
GitLab