Understanding MD parameters of GROMACS data structure

GROMACS version: 2024.2
GROMACS modification: Yes


I want the minimum set of parameters like bond, angle and dihedrals etc. that are required for MD. I was able to extract the bond, angle and proper dihedrals from the ‘topGlobal_.ffparams.iparams’ but I am unable to find the improper parameters. So, I want to know where the improper parameters are stored in the data structure?


All parameters are stored in iparams.

I went through the iparams was able to map some of the parameter but was unable to do so for the “Improper Dihedrals”. Can you suggest of these which struct of the iparams it might correspond? Thanks.

For normal impropers the parameters are those for a harmonic potential.

I have mapped the harmonic struct with bond params. So, can you tell if I have mapped the following things correctly or not:

  1. Bond Param:
    bond_param.r0 = topGlobal_.ffparams.iparams[i].harmonic.rA
    bond_param.k = topGlobal_.ffparams.iparams[i].harmonic.krA

  2. Angle Param:
    angle_param.theta0 = topGlobal_.ffparams.iparams[i].linangle.aA
    angle_param.k = topGlobal_.ffparams.iparams[i].linangle.klinA

  3. Proper Dihedral:
    dh_param.multiplicity = topGlobal_.ffparams.iparams[i].pdihs.mult
    dh_param.k = topGlobal_.ffparams.iparams[i].pdihs.phiA
    dh_param.delta = topGlobal_.ffparams.iparams[i].pdihs.cpA

  4. Improper Dihedral:
    Which struct to use of iparams?


Correct. Impropers use “harmonic”.

Ok. Thank you @hess