From 812ef4ea69b44751d71bddcceec996e10c25cc68 Mon Sep 17 00:00:00 2001
From: tonynsyde <antonio.leo.polito@gmail.com>
Date: Fri, 11 Mar 2016 17:04:00 +0100
Subject: [PATCH] Prey and Predators fixes

---
 openfpm_devices                                        |  2 +-
 openfpm_vcluster                                       |  2 +-
 .../Distribution/Distribution_unit_tests.hpp           | 10 +++++-----
 src/Decomposition/Distribution/parmetis_util.hpp       |  2 ++
 4 files changed, 9 insertions(+), 7 deletions(-)

diff --git a/openfpm_devices b/openfpm_devices
index 669b6006..e79687e8 160000
--- a/openfpm_devices
+++ b/openfpm_devices
@@ -1 +1 @@
-Subproject commit 669b60068daa79b454b32b3db50158cff1b49bc4
+Subproject commit e79687e8594b0761330a34a0f3eecf514f9f9290
diff --git a/openfpm_vcluster b/openfpm_vcluster
index b9c14fad..104ee3d6 160000
--- a/openfpm_vcluster
+++ b/openfpm_vcluster
@@ -1 +1 @@
-Subproject commit b9c14fadf0d9f5c5f53b4a9e57f29499f50652d9
+Subproject commit 104ee3d6f6992d8fad992f3405b5b2514a1cd25c
diff --git a/src/Decomposition/Distribution/Distribution_unit_tests.hpp b/src/Decomposition/Distribution/Distribution_unit_tests.hpp
index 37215280..d600a893 100644
--- a/src/Decomposition/Distribution/Distribution_unit_tests.hpp
+++ b/src/Decomposition/Distribution/Distribution_unit_tests.hpp
@@ -669,7 +669,7 @@ BOOST_AUTO_TEST_CASE( Parmetis_distribution_test_prey_and_predators )
 	float r_cut = 0.01 / factor;
 
 	// ghost
-	Ghost<2,float> ghost(0.01 / factor);
+	Ghost<2,float> ghost(r_cut);
 
 	// Distributed vector
 	vector_dist<2,float, animal, CartDecomposition<2, float, HeapMemory, ParMetisDistribution<2, float>>> vd(k,box,bc,ghost);
@@ -746,7 +746,7 @@ BOOST_AUTO_TEST_CASE( Parmetis_distribution_test_prey_and_predators )
 
 		bool error = false;
 
-		auto NN = vd.getCellList(0.01 / factor);
+		auto NN = vd.getCellList(0.01  / factor);
 
 		// iterate across the domain particle
 
@@ -785,10 +785,10 @@ BOOST_AUTO_TEST_CASE( Parmetis_distribution_test_prey_and_predators )
 						vd.getProp<animal::status>(q) = DEAD;
 						vd.getProp<animal::time_a>(q) = TIME_A;
 					}
-					else if (gp == PREY && sp == DEAD)
+					else if (gp == PREY && gq == PREY && sq != DEAD)
 					{
-						//animal n;
-						//n.template get<animal::status>() = DEAD;
+						vd.add();
+						vd.getLastProp<animal::genre>() = 0;
 					}
 				}
 
diff --git a/src/Decomposition/Distribution/parmetis_util.hpp b/src/Decomposition/Distribution/parmetis_util.hpp
index f89378da..8b88af3d 100755
--- a/src/Decomposition/Distribution/parmetis_util.hpp
+++ b/src/Decomposition/Distribution/parmetis_util.hpp
@@ -447,6 +447,8 @@ public:
 		Mg.itr = new real_t[1];
 		Mg.itr[0] = 1000.0;
 
+		Mg.objval = new idx_t[1];
+
 		//! init tpwgts to have balanced vertices and ubvec
 
 		Mg.tpwgts = new real_t[Mg.nparts[0]];
-- 
GitLab