i'm working on a pair style and have a few questions regarding the implementation:
1. What is the consensus regarding stl-containers?
I rarely see them used in other files and wondered if there's a reason for this.
I see the point in using centralized memory-management for larger structures,
but they could be very useful for local temporaries.
2. What's the stance towards c++11 (and beyond)?
Should I rather stick to 03-features if possible?
(Maybe someone could also add any possible limitations to the section in the manual?)
3. More in-depth now:
I'm not quite sure which information is accessible in each process, and how.
For each interaction between two atoms, i need the nearest neighbors of each of them.
Given i have to use full neighborlists, i can not guarantee that if i determine all neighbors for all local atoms i, the interacting atoms j have locally-determined nearest-neighbors, as they are possibly not local atoms.
So i have to synchronize this information between all processes, but as far as i understand there is no trivial mapping between indices of local atoms to nonlocal atoms on another process. Are there some helper-routines akin to mpi_allgather that take care of the mapping process?
Or will this introduce more overhead than just performing my (not overly complicated) calculations twice on ij and ji iterations?
Thank you very much in advance,