From edc99c58d6ba66dc35949cc82710b4efecc832e7 Mon Sep 17 00:00:00 2001
From: Pietro Incardona <i-bird@localhost.localdomain>
Date: Thu, 7 Apr 2016 17:55:35 +0200
Subject: [PATCH] Small fixes + update new modules

---
 openfpm_numerics                        |  2 +-
 src/Decomposition/CartDecomposition.hpp | 11 +++++------
 src/Grid/grid_dist_id.hpp               |  3 ++-
 src/Grid/grid_dist_id_iterator_sub.hpp  |  2 +-
 4 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/openfpm_numerics b/openfpm_numerics
index aaa2cab1..834b07c4 160000
--- a/openfpm_numerics
+++ b/openfpm_numerics
@@ -1 +1 @@
-Subproject commit aaa2cab12452445faa160d2b2a2ccdee85a93011
+Subproject commit 834b07c439b8cb308f535fcf43bddf9cc9ac7823
diff --git a/src/Decomposition/CartDecomposition.hpp b/src/Decomposition/CartDecomposition.hpp
index c170c01e..8454d6d3 100755
--- a/src/Decomposition/CartDecomposition.hpp
+++ b/src/Decomposition/CartDecomposition.hpp
@@ -812,16 +812,15 @@ public:
 		domain = cart.domain;
 		std::copy(cart.spacing,cart.spacing+3,spacing);
 
-		//! Runtime virtual cluster
-		v_cl = cart.v_cl;
-
 		ghost = cart.ghost;
 
-		cart.bbox = bbox;
-		cart.ss_box = ss_box;
+		bbox = cart.bbox;
+		ss_box = cart.ss_box;
 
 		for (size_t i = 0 ; i < dim ; i++)
-			cart.bc[i] = bc[i];
+			bc[i] = cart.bc[i];
+
+		return *this;
 
 		return *this;
 	}
diff --git a/src/Grid/grid_dist_id.hpp b/src/Grid/grid_dist_id.hpp
index 67e80da6..9902cb07 100644
--- a/src/Grid/grid_dist_id.hpp
+++ b/src/Grid/grid_dist_id.hpp
@@ -663,7 +663,7 @@ public:
 	 *
 	 */
 	grid_dist_id(const Decomposition & dec, const size_t (& g_sz)[dim],const Box<dim,St> & domain, const Ghost<dim,long int> & g)
-	:domain(domain),dec(dec),v_cl(*global_v_cluster),ginfo(g_sz),ginfo_v(g_sz)
+	:domain(domain),dec(*global_v_cluster),v_cl(*global_v_cluster),ginfo(g_sz),ginfo_v(g_sz)
 	{
 #ifdef SE_CLASS2
 		check_new(this,8,GRID_DIST_EVENT,4);
@@ -672,6 +672,7 @@ public:
 		InitializeCellDecomposer(g_sz);
 
 		ghost = convert_ghost(g,cd_sm);
+		this->dec = dec.duplicate(ghost);
 
 		// Initialize structures
 		InitializeStructures(g_sz);
diff --git a/src/Grid/grid_dist_id_iterator_sub.hpp b/src/Grid/grid_dist_id_iterator_sub.hpp
index 244fa2e5..eb842401 100644
--- a/src/Grid/grid_dist_id_iterator_sub.hpp
+++ b/src/Grid/grid_dist_id_iterator_sub.hpp
@@ -129,7 +129,7 @@ class grid_dist_iterator_sub
 	*
 	*/
 	grid_dist_iterator_sub(const grid_dist_iterator_sub<dim,device_grid> & tmp)
-	:g_c(tmp.g_c),gList(tmp.gList),gdb_ext(gdb_ext),start(tmp.start),stop(tmp.stop)
+	:g_c(tmp.g_c),gList(tmp.gList),gdb_ext(tmp.gdb_ext),start(tmp.start),stop(tmp.stop)
 	{
 		// get the next grid iterator
 		if (g_c < gList.size())
-- 
GitLab