Remove constant acceleration groups
authorPascal Merz <pascal.merz@me.com>
Wed, 27 Jan 2021 22:06:00 +0000 (22:06 +0000)
committerPascal Merz <pascal.merz@me.com>
Wed, 27 Jan 2021 22:06:00 +0000 (22:06 +0000)
commitf3d8d46e3e825a90033fa6a56e7dd17074021abc
treeca021247a9d060da881da2a48c102ed49229cbb0
parent3d00a512fac916dc366a479fbb68f53d0562b1bc
Remove constant acceleration groups

Per Redmine discussion, this has been broken for about 10
years. Simplifying the update and global energy code is nice, and some
integrators will now be a trifle faster.

The value of SimulationAtomGroupType::Count can't change because reading old .tpr files relies
on it, but the enumeration value has a new name so that any relevant
code rebasing over this change can't silently still compile. This does
mean that loops over egcNR are now slightly less efficient than they
could be, and some of those are in the per-step update code. But that
is likely not worth changing in the current form of the code.

Originally authored by Mark Abraham at
https://gerrit.gromacs.org/c/gromacs/+/8944.

Fixes #1354
46 files changed:
docs/reference-manual/algorithms/group-concept.rst
docs/release-notes/2022/major/removed-functionality.rst
docs/user-guide/mdp-options.rst
src/gromacs/fileio/tpxio.cpp
src/gromacs/gmxpreprocess/grompp.cpp
src/gromacs/gmxpreprocess/readir.cpp
src/gromacs/gmxpreprocess/tests/refdata/GetIrTest_AcceptsDefineParametersWithValuesIncludingAssignment.xml
src/gromacs/gmxpreprocess/tests/refdata/GetIrTest_AcceptsElectricField.xml
src/gromacs/gmxpreprocess/tests/refdata/GetIrTest_AcceptsElectricFieldOscillating.xml
src/gromacs/gmxpreprocess/tests/refdata/GetIrTest_AcceptsElectricFieldPulsed.xml
src/gromacs/gmxpreprocess/tests/refdata/GetIrTest_AcceptsEmptyLines.xml
src/gromacs/gmxpreprocess/tests/refdata/GetIrTest_AcceptsImplicitSolventNo.xml
src/gromacs/gmxpreprocess/tests/refdata/GetIrTest_AcceptsKeyWithoutValue.xml
src/gromacs/gmxpreprocess/tests/refdata/GetIrTest_AcceptsMimic.xml
src/gromacs/gmxpreprocess/tests/refdata/GetIrTest_HandlesDifferentKindsOfMdpLines.xml
src/gromacs/mdlib/coupling.cpp
src/gromacs/mdlib/energyoutput.cpp
src/gromacs/mdlib/energyoutput.h
src/gromacs/mdlib/md_support.cpp
src/gromacs/mdlib/mdatoms.cpp
src/gromacs/mdlib/tests/energyoutput.cpp
src/gromacs/mdlib/tests/leapfrogtestdata.cpp
src/gromacs/mdlib/tests/refdata/WithParameters_EnergyOutputTest_CheckOutput_0.xml
src/gromacs/mdlib/tests/refdata/WithParameters_EnergyOutputTest_CheckOutput_1.xml
src/gromacs/mdlib/tests/refdata/WithParameters_EnergyOutputTest_CheckOutput_10.xml
src/gromacs/mdlib/tests/refdata/WithParameters_EnergyOutputTest_CheckOutput_2.xml
src/gromacs/mdlib/tests/refdata/WithParameters_EnergyOutputTest_CheckOutput_3.xml
src/gromacs/mdlib/tests/refdata/WithParameters_EnergyOutputTest_CheckOutput_4.xml
src/gromacs/mdlib/tests/refdata/WithParameters_EnergyOutputTest_CheckOutput_5.xml
src/gromacs/mdlib/tests/refdata/WithParameters_EnergyOutputTest_CheckOutput_6.xml
src/gromacs/mdlib/tests/refdata/WithParameters_EnergyOutputTest_CheckOutput_7.xml
src/gromacs/mdlib/tests/refdata/WithParameters_EnergyOutputTest_CheckOutput_8.xml
src/gromacs/mdlib/tests/refdata/WithParameters_EnergyOutputTest_CheckOutput_9.xml
src/gromacs/mdlib/tgroup.cpp
src/gromacs/mdlib/tgroup.h
src/gromacs/mdlib/update.cpp
src/gromacs/mdrun/runner.cpp
src/gromacs/mdrun/shellfc.cpp
src/gromacs/mdtypes/group.h
src/gromacs/mdtypes/inputrec.cpp
src/gromacs/mdtypes/inputrec.h
src/gromacs/mdtypes/mdatom.h
src/gromacs/modularsimulator/modularsimulator.cpp
src/gromacs/tools/dump.cpp
src/gromacs/topology/topology.cpp
src/gromacs/topology/topology.h