faunus
faunus copied to clipboard
Atomic groups much faster than molecular group
Salt particles can be treated either as atomic or molecular groups. For a speciation system with equal number of particles with and without nonbonded interactions:
group | ideal | nonbonded |
---|---|---|
atomic=true |
0.4s | 4.0s |
atomic=false |
12s | 20s |
Run using proposed code in #259 with this input: input.zip
Things to check:
- [ ] Benchmark for bottlenecks
- [ ] It is likely that the difference is in
Space::findMolecules()
for locating active/inactive particle. Foratomic
the call is more or less independent of N since the atomic group is ordered with active then inactive particles. For molecules, the operation scales with N. ASpace
particle tracker would solve this and was implemented in earlier Faunus versions.
ping @rc83
Update: Removing the sanity
analysis reduces the molecular time by a factor of six (ideal) or two (nonbonded). Atomic is still significantly faster.
ping @Smutekj