The FDPS backend doesn't yet support pairwise interactions.
To do this, we need to do the following:
Force the set_cutoff call to take place before gen_code (or fail if gen_code has happened).
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).
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.
The FDPS backend doesn't yet support pairwise interactions.
To do this, we need to do the following:
set_cutoff
call to take place beforegen_code
(or fail ifgen_code
has happened).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).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.