Mega - Flops accounting
In the .log file there is a section called Mega-Flops accounting.
Here the "NB VdW [V&F]" counts also the polarization interactions (core-shell model) even though it should not.
Even for 0 steps and niter = 0 it counts 1 polarization interaction per particle in the system.
The error seems to be in the ifunc.cpp file, where a zero is hard-coded (zero is assigned via enum to "NB VdW [V&F]").
This way the number of polarization interactions ends up in the category of "NB VdW [V&F]".
#3 Updated by Mark Abraham about 2 years ago
David van der Spoel wrote:
The relevant field in ifunc.cpp is 0 for F_POLARIZE and F_ANHARM_POL, this is used to index the nrnb struct. I can make a fix, but what branch should it be in? This is not crucial so maybe just in master?
Indeed, not critical. release-2016 is still open for fixes for anything, but master is fine too
#4 Updated by David van der Spoel about 2 years ago
While we're at it, I found this mathematics with indices into an enum in mdlib/sim_util.cpp:
inc_nrnb(nrnb, eNR_NBNXN_ADD_LJ_FSW+((flags & GMX_FORCE_ENERGY) ? 1 : 0),
inc_nrnb(nrnb, eNR_NBNXN_ADD_LJ_PSW+((flags & GMX_FORCE_ENERGY) ? 1 : 0),
inc_nrnb(nrnb, eNR_NBNXN_ADD_LJ_EWALD+((flags & GMX_FORCE_ENERGY) ? 1 : 0),
especially the top one is interesting :)