diff --git a/openfpm_numerics b/openfpm_numerics index aaa2cab12452445faa160d2b2a2ccdee85a93011..834b07c439b8cb308f535fcf43bddf9cc9ac7823 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 c170c01e6b3c68726bb7679b67ca2c79fee7972d..8454d6d349e0206cf69b47080269956b965374a2 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 67e80da68f816e111ab6ca9f27cb0849f0a3783e..9902cb07a74e2d92af4097a32f5cfd1030f99a92 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 244fa2e589faf36f5b46cf65c43de329d0e6a780..eb8424015f510e1fac0d0c5a910371e4520bbcec 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())