From 04575db0ea4ba72e01c97a395122c6097fe313a3 Mon Sep 17 00:00:00 2001 From: Cristian C Lalescu <Cristian.Lalescu@ds.mpg.de> Date: Sat, 13 Feb 2016 13:41:01 +0100 Subject: [PATCH] preliminary version of read --- bfps/cpp/distributed_particles.cpp | 5 +++++ bfps/cpp/interpolator.hpp | 7 +++++++ setup.py | 10 +++++----- 3 files changed, 17 insertions(+), 5 deletions(-) diff --git a/bfps/cpp/distributed_particles.cpp b/bfps/cpp/distributed_particles.cpp index 476f44d2..49bae518 100644 --- a/bfps/cpp/distributed_particles.cpp +++ b/bfps/cpp/distributed_particles.cpp @@ -132,6 +132,11 @@ void distributed_particles<particle_type, rnumber, interp_neighbours>::read( MPI_DOUBLE, 0, this->comm); + for (int p=0; p<this->nparticles; p++) + { + if (this->vel->z_is_here(temp[this->ncomponents*p+2])) + this->state[p] = temp + this->ncomponents*p; + } //if (this->myrank == 0) //{ // if (this->iteration > 0) diff --git a/bfps/cpp/interpolator.hpp b/bfps/cpp/interpolator.hpp index fa73fe14..d207c69e 100644 --- a/bfps/cpp/interpolator.hpp +++ b/bfps/cpp/interpolator.hpp @@ -24,6 +24,7 @@ +#include <cmath> #include "field_descriptor.hpp" #include "fftw_tools.hpp" #include "fluid_solver_base.hpp" @@ -53,6 +54,12 @@ class interpolator:public interpolator_base<rnumber, interp_neighbours> int read_rFFTW(const void *src); + inline bool z_is_here(double z) + { + return (this->descriptor->rank[MOD(int(floor(z/this->dz)), this->descriptor->sizes[0])] == + this->descriptor->myrank); + } + /* interpolate field at an array of locations */ void sample( const int nparticles, diff --git a/setup.py b/setup.py index fb36f5b6..87be7727 100644 --- a/setup.py +++ b/setup.py @@ -91,15 +91,15 @@ print('This is bfps version ' + VERSION) ### lists of files and MANIFEST.in src_file_list = ['field_descriptor', - 'fluid_solver_base', - 'fluid_solver', + 'distributed_particles', 'interpolator_base', 'particles_base', - 'rFFTW_interpolator', - 'rFFTW_particles', 'interpolator', 'particles', - 'distributed_particles', + 'rFFTW_interpolator', + 'rFFTW_particles', + 'fluid_solver_base', + 'fluid_solver', 'fftw_tools', 'spline_n1', 'spline_n2', -- GitLab