2 #include "Vector/vector_dist.hpp" 
    3 #include "Decomposition/CartDecomposition.hpp" 
    4 #include "data_type/aggregate.hpp" 
   19 int 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 implement the point shape in an N-dimensional space. 
 
Implementation of VCluster class. 
 
const T & get(size_t i) const 
Get coordinate. 
 
T norm()
norm of the vector 
 
This class is a trick to indicate the compiler a specific specialization pattern. ...