Rework gmx-solvate to use analysis nbsearch
commit0bce085830c633c0274ab08790df01ded09adf2b
authorTeemu Murtola <teemu.murtola@gmail.com>
Sat, 11 Oct 2014 19:56:24 +0000 (11 22:56 +0300)
committerTeemu Murtola <teemu.murtola@gmail.com>
Thu, 18 Dec 2014 18:31:22 +0000 (18 20:31 +0200)
treeccf4808cad68f90af9e626273d1f504c843130c6
parent0169e82afd55c88d1dac76fed1b0a7bd2e3139ee
Rework gmx-solvate to use analysis nbsearch

- More understandable control flow, with less code.
- No memory leaks.
- No dependency on mdrun/group kernel specific neighborhood search, so
  no confusing messages about deprecated group kernels or LJ/Coulomb
  cutoffs.  All output is controlled by the tool code now.
- Eventual group kernel removal no longer needs to consider these tools.
- Now tool code is independent of t_forcerec.

Even without additional algorithm-level optimization allowed by the new,
more flexible pair search, the new code outperforms the old one by ~30%
(in a debug build) in the cases triggered by the unit tests.

Some useful functionality is refactored into topology/.  Subsequent
changes can clean that up and start using those parts also in
insert-molecules.

Change-Id: Ibad1090667e057a00c08a84bdb6bebbf2e55c5f4
cmake/legacy_and_external.supp
src/gromacs/gmxpreprocess/addconf.c [deleted file]
src/gromacs/gmxpreprocess/addconf.h [deleted file]
src/gromacs/gmxpreprocess/solvate.cpp
src/gromacs/topology/atomsbuilder.cpp [new file with mode: 0644]
src/gromacs/topology/atomsbuilder.h [new file with mode: 0644]