Buckingham Potential in Recent Versions

GROMACS version: 2021.5
GROMACS modification: No
I am seeking advice on using the Buckingham potential in the latest versions of GROMACS, particularly with the Verlet integration scheme. My current version lacks support for the Buckingham potential under Verlet, and Group scheme isn’t an option either.

Is there a way to implement this potential in newer versions , possibly through an external plugin or another method?

Any tips or information would be greatly appreciated.

With newer GROMACS versions, and in particular, the 2024 release, it is relatively easy to implement different potentials in the kernels. But with Buckingham the main work is passing three instead of two parameters per atom pair type to the kernels. This requires changes in the whole mdrun infrastructure. If one of the three parameters is the same for all type pairs, then it would be relatively easy.

User @ggsmith123 was interested in implementing such feature some time ago, you may want to get in touch.

Adding Buckingham potentials is a thing that I honestly still think about and for which my group still has some need, but I haven’t had the time to really try to pursue it-- I’m a physicist instead of a programmer, so I’d call myself a semi-dev rather than a full-on Dev. I’ve managed to change the formula in the non-bonding kernel in the 2021, 2022 and 2023 versions following Hess’s recommendations, but I’ve kept it to two parameters (LJ612 to LJ610). Really, my skill with C++ has just reached a point where I might be able to try switching two to three parameters as Hess recommends, but it’s a question of finding the time to try and learning enough to be able to test whether any changes I made have screwed up other properties in the program. Maybe in 2024!

If you decide to give it a try yourself, I would recommend studying the most recent Gromacs architecture so that you can future-proof yourself a little bit; there have been significant changes since 2021.5.