2#include "Vector/vector_dist.hpp"
3#include "Decomposition/CartDecomposition.hpp"
4#include "data_type/aggregate.hpp"
19int main(
int argc,
char* argv[])
36 openfpm_init(&argc,&argv);
40 size_t sz[3] = {128,128,128};
46 size_t bc[3]={PERIODIC,PERIODIC,PERIODIC};
144 auto it = vd.getGridIterator(sz);
155 vd.getLastPos()[0] = key.get(0) * it.getSpacing(0);
156 vd.getLastPos()[1] = key.get(1) * it.getSpacing(1);
157 vd.getLastPos()[2] = key.get(2) * it.getSpacing(2);
199 vd.ghost_get<0,1,2>();
232 float r_cut = 1.0/(128-2);
235 auto NN = vd.getCellList(r_cut);
238 auto it2 = vd.getDomainIterator();
250 auto Np = NN.getNNIterator(NN.getCell(vd.getPos(p)));
265 vd.template getProp<0>(p) += f.norm();;
268 vd.template getProp<1>(p)[0] += f.get(0);
269 vd.template getProp<1>(p)[1] += f.get(1);
270 vd.template getProp<1>(p)[2] += f.get(2);
273 vd.template getProp<2>(p)[0][0] += (xp.
get(0) - xq.
get(0)) * (xp.
get(0) - xq.
get(0));
274 vd.template getProp<2>(p)[0][1] += (xp.
get(0) - xq.
get(0)) * (xp.
get(1) - xq.
get(1));
275 vd.template getProp<2>(p)[0][2] += (xp.
get(0) - xq.
get(0)) * (xp.
get(2) - xq.
get(2));
276 vd.template getProp<2>(p)[1][0] += (xp.
get(1) - xq.
get(1)) * (xp.
get(0) - xq.
get(0));
277 vd.template getProp<2>(p)[1][1] += (xp.
get(1) - xq.
get(1)) * (xp.
get(1) - xq.
get(1));
278 vd.template getProp<2>(p)[1][2] += (xp.
get(1) - xq.
get(1)) * (xp.
get(2) - xq.
get(2));
279 vd.template getProp<2>(p)[2][0] += (xp.
get(2) - xq.
get(2)) * (xp.
get(0) - xq.
get(0));
280 vd.template getProp<2>(p)[2][1] += (xp.
get(2) - xq.
get(2)) * (xp.
get(1) - xq.
get(1));
281 vd.template getProp<2>(p)[2][2] += (xp.
get(2) - xq.
get(2)) * (xp.
get(2) - xq.
get(2));
313 auto verlet = vd.getVerlet(r_cut);
315 auto it3 = vd.getDomainIterator();
326 auto NNp = verlet.getNNIterator(p.getKey());
331 size_t q = NNp.
get();
340 vd.template getProp<0>(p) += f.norm();;
343 vd.template getProp<1>(p)[0] += f.get(0);
344 vd.template getProp<1>(p)[1] += f.get(1);
345 vd.template getProp<1>(p)[2] += f.get(2);
348 vd.template getProp<2>(p)[0][0] += (xp.
get(0) - xq.
get(0)) * (xp.
get(0) - xq.
get(0));
349 vd.template getProp<2>(p)[0][1] += (xp.
get(0) - xq.
get(0)) * (xp.
get(1) - xq.
get(1));
350 vd.template getProp<2>(p)[0][2] += (xp.
get(0) - xq.
get(0)) * (xp.
get(2) - xq.
get(2));
351 vd.template getProp<2>(p)[1][0] += (xp.
get(1) - xq.
get(1)) * (xp.
get(0) - xq.
get(0));
352 vd.template getProp<2>(p)[1][1] += (xp.
get(1) - xq.
get(1)) * (xp.
get(1) - xq.
get(1));
353 vd.template getProp<2>(p)[1][2] += (xp.
get(1) - xq.
get(1)) * (xp.
get(2) - xq.
get(2));
354 vd.template getProp<2>(p)[2][0] += (xp.
get(2) - xq.
get(2)) * (xp.
get(0) - xq.
get(0));
355 vd.template getProp<2>(p)[2][1] += (xp.
get(2) - xq.
get(2)) * (xp.
get(1) - xq.
get(1));
356 vd.template getProp<2>(p)[2][2] += (xp.
get(2) - xq.
get(2)) * (xp.
get(2) - xq.
get(2));
395 auto NN4 = vd.getCellList<CELL_MEMBAL(3,
float)>(r_cut);
396 auto NN5 = vd.getCellList<CELL_MEMMW(3,
float)>(r_cut);
This class represent an N-dimensional box.
This class implement the point shape in an N-dimensional space.
__device__ __host__ const T & get(unsigned int i) const
Get coordinate.
Implementation of VCluster class.