ABF error with colvars module

GROMACS version:2022.5-Colvars_2023_05_01
GROMACS modification: Yes
I am attempting to use ABF in the colvars module for my simulation. I have tried installing several versions of Gromacs (gromacs2021.6-colvars, fresh download of gromacs2022.5 that I patched with colvars). I have tried installing them on my own laptop in Ubuntu22.04 on WSL2 as well as in a folder I have write permission to in our HPC environment. The error I’m getting is “colvars: Error: total forces are currently not implemented.”
I have learned that if I delete the abf block within the colvars.dat file and keep the colvar and harmonicwalls block the simulation will run just fine.

Any help is greatly appreciated.

Thanks,

Robert Coffman

Hi Robert,
Indeed, the projected force calculation that is the basis of “classic ABF” is not available so far in Gromacs. However, you can run the extended-system variant eABF by adding the extended Lagrangian options to the collective variables involved.
http://colvars.github.io/colvars-refman-gromacs/colvars-refman-gromacs.html#sec:eABF
http://colvars.github.io/colvars-refman-gromacs/colvars-refman-gromacs.html#sec:colvar_extended

Mostly, you need to add to the colvar block:

extendedLagrangian on
extendedFluctuation <positive decimal, a small fluctuation of the variable>

The Colvars / Gromacs manual needs to be updated to reflect this. Thanks for your report.

Best,
Jérôme

Jérôme,
Thank you! This is very helpful to know.

Sincerely,

Robert

I am running into a different issue now. I added extendedLangrangian and extendedFluctuation to my colvar block but I’m getting the error that the keyword isn’t supported or not recognized in this context. I have pasted in my colvar block below.
colvar {
name dist1
distance {
group1 { #add in grouping information here.
indexGroup Transmembrane_helix
}
group2 { #add in grouping information here.
indexGroup Headgroup_residues
}
}
extendedLangrangian on
extendedFluctuation 0.03
lowerBoundary 5.0
upperBoundary 5.5
width 0.05
}

Thanks,

Robert

Hi Robert, try “extendedLagrangian”, not “extendedLangrangian” :-)

Haha, Thanks for you help. It is working great now.