[gmx-developers] Implementing a new type of VdW interaction

Lee-Ping leeping at MIT.EDU
Thu May 5 06:07:23 CEST 2011

Dear all,

I would like to implement a new type of vdW interaction.  It's similar
to the Buckingham interaction, so I was thinking of adding the
interaction in nb_generic.c with ivdw set to 4.  

ivdw will be set to four when the Buckingham interaction is turned on
with the combination rule set to 2 (currently this is unused).
Unfortunately, it seems like the integer corresponding to the
combination rule (comb) is used only in grompp, and when we get to mdrun
it is lost.  

For LJ parameters, I understand why this makes sense; because grompp
does all the parameter processing, and the nonbonded kernels always see
c6 and c12 and then apply the same formula; they don't care about the
user input because grompp takes care of all that.

Since my interaction function actually uses a different functional form,
I can't simply combine the parameters differently in grompp and pass
them into the Buckingham kernel.  I need a switch in the forcerecord
that decides between whether to call the normal Buckingham interaction
or my custom one.

Is my analysis correct?  How do I pass the combination rule into "mdrun"
so I can trigger my custom VdW interaction?

(My current idea is to add the variable into the main gmx_mtop_t
topology.  Please let me know if there's a better idea.)

Thank you,

- Lee-Ping

More information about the gromacs.org_gmx-developers mailing list