From 6f474a6ed85f27a1939bbf485c8ef21703481630 Mon Sep 17 00:00:00 2001
From: Cristian C Lalescu <Cristian.Lalescu@ds.mpg.de>
Date: Thu, 21 Jun 2018 15:08:33 +0200
Subject: [PATCH] hardcode type of particles to simple spheres that can rotate.

---
 bfps/cpp/full_code/NSVEcomplex_particles.cpp    |  2 ++
 bfps/cpp/particles/particles_inner_computer.hpp | 12 ++++++------
 2 files changed, 8 insertions(+), 6 deletions(-)

diff --git a/bfps/cpp/full_code/NSVEcomplex_particles.cpp b/bfps/cpp/full_code/NSVEcomplex_particles.cpp
index 950d2c15..da7015fd 100644
--- a/bfps/cpp/full_code/NSVEcomplex_particles.cpp
+++ b/bfps/cpp/full_code/NSVEcomplex_particles.cpp
@@ -14,10 +14,12 @@ int NSVEcomplex_particles<rnumber>::initialize(void)
     p2p_computer<double, long long int> current_p2p_computer;
     // TODO: particle interactions are switched off manually for testing purposes.
     // this needs to be fixed once particle interactions can be properly resolved.
+    this->enable_p2p = false;
     current_p2p_computer.setEnable(enable_p2p);
     //current_p2p_computer.setEnable(false);
 
     particles_inner_computer<double, long long int> current_particles_inner_computer(inner_v0);
+    this->enable_inner = false;
     current_particles_inner_computer.setEnable(enable_inner);
     this->cutoff = 1.0;
 
diff --git a/bfps/cpp/particles/particles_inner_computer.hpp b/bfps/cpp/particles/particles_inner_computer.hpp
index 5c855cf5..f1fe322a 100644
--- a/bfps/cpp/particles/particles_inner_computer.hpp
+++ b/bfps/cpp/particles/particles_inner_computer.hpp
@@ -98,12 +98,12 @@ public:
         #pragma omp parallel for
         for(partsize_t idx_part = 0 ; idx_part < nb_particles ; ++idx_part){
             // Cross product vorticity/orientation
-            rhs_part[idx_part*size_particle_rhs + 3+IDX_X] += (rhs_part_extra[idx_part*size_particle_rhs_extra + IDX_Y]*pos_part[idx_part*size_particle_positions + 3+IDX_Z] -
-                                                               rhs_part_extra[idx_part*size_particle_rhs_extra + IDX_Z]*pos_part[idx_part*size_particle_positions + 3+IDX_Y]);
-            rhs_part[idx_part*size_particle_rhs + 3+IDX_Y] += (rhs_part_extra[idx_part*size_particle_rhs_extra + IDX_Z]*pos_part[idx_part*size_particle_positions + 3+IDX_X] -
-                                                               rhs_part_extra[idx_part*size_particle_rhs_extra + IDX_X]*pos_part[idx_part*size_particle_positions + 3+IDX_Z]);
-            rhs_part[idx_part*size_particle_rhs + 3+IDX_Z] += (rhs_part_extra[idx_part*size_particle_rhs_extra + IDX_X]*pos_part[idx_part*size_particle_positions + 3+IDX_Y] -
-                                                               rhs_part_extra[idx_part*size_particle_rhs_extra + IDX_Y]*pos_part[idx_part*size_particle_positions + 3+IDX_X]);
+            rhs_part[idx_part*size_particle_rhs + 3+IDX_X] += 0.5*(rhs_part_extra[idx_part*size_particle_rhs_extra + IDX_Y]*pos_part[idx_part*size_particle_positions + 3+IDX_Z] -
+                                                                   rhs_part_extra[idx_part*size_particle_rhs_extra + IDX_Z]*pos_part[idx_part*size_particle_positions + 3+IDX_Y]);
+            rhs_part[idx_part*size_particle_rhs + 3+IDX_Y] += 0.5*(rhs_part_extra[idx_part*size_particle_rhs_extra + IDX_Z]*pos_part[idx_part*size_particle_positions + 3+IDX_X] -
+                                                                   rhs_part_extra[idx_part*size_particle_rhs_extra + IDX_X]*pos_part[idx_part*size_particle_positions + 3+IDX_Z]);
+            rhs_part[idx_part*size_particle_rhs + 3+IDX_Z] += 0.5*(rhs_part_extra[idx_part*size_particle_rhs_extra + IDX_X]*pos_part[idx_part*size_particle_positions + 3+IDX_Y] -
+                                                                   rhs_part_extra[idx_part*size_particle_rhs_extra + IDX_Y]*pos_part[idx_part*size_particle_positions + 3+IDX_X]);
         }
     }
 
-- 
GitLab