stfc / HartreeParticleDSL

MIT License
1 stars 1 forks source link

FDPS backend doesn't support pairwise interactions #27

Open LonelyCat124 opened 3 years ago

LonelyCat124 commented 3 years ago

The FDPS backend doesn't yet support pairwise interactions.

To do this, we need to do the following:

  1. Force the set_cutoff call to take place before gen_code (or fail if gen_code has happened).
  2. Set the tree up, using only SYMMETRY for now with: PS::TreeForForceShort<FP, FP, FP>::Symmetry short_range_tree; or similar. Its also possible we need to not just use FP for these, in which case we need to be able to construct a new particle sub-type for each kernel (though this is FDPS' preferred model anyway).
  3. Pairwise kernels are then called using short_range_tree.calcForceAllAndWriteBack(kernel(), part_system, dinfo);

Since we don't yet need this for PIC, its on the back burner though we will need it for most usecases.