From c3b6636fbb2c5244bb5d2013790adfb7ab364154 Mon Sep 17 00:00:00 2001
From: Incardona Pietro <incardon@mpi-cbg.de>
Date: Thu, 18 Feb 2021 23:43:56 +0100
Subject: [PATCH] Fixing grid dist id loading with 1 process

---
 src/Grid/grid_dist_id.hpp | 24 ++++++++++++++++++++++--
 1 file changed, 22 insertions(+), 2 deletions(-)

diff --git a/src/Grid/grid_dist_id.hpp b/src/Grid/grid_dist_id.hpp
index c20900ffc..538268f48 100644
--- a/src/Grid/grid_dist_id.hpp
+++ b/src/Grid/grid_dist_id.hpp
@@ -3102,8 +3102,28 @@ public:
 		}
 		else
 		{
-			loc_grid.swap(loc_grid_old);
-			gdb_ext_old.swap(gdb_ext);
+			for (int i = 0 ; i < gdb_ext_old.size() ; i++)
+			{
+					auto & lg = loc_grid_old.get(i);
+					auto it_src = lg.getIterator(gdb_ext_old.get(i).Dbox.getKP1(),gdb_ext_old.get(i).Dbox.getKP2());
+					auto & dg = loc_grid.get(0);
+
+					grid_key_dx<dim> orig;
+					for (int j = 0 ; j < dim ; j++)
+					{
+							orig.set_d(j,gdb_ext_old.get(i).origin.get(j) + gdb_ext_old.get(i).Dbox.getKP1().get(j));
+					}
+
+					while (it_src.isNext())
+					{
+							auto key = it_src.get();
+							auto key_dst = key + orig;
+
+							dg.get_o(key_dst) = lg.get_o(key);
+
+							++it_src;
+					}
+			}
 		}
 	}
 
-- 
GitLab