[gmx-developers] GROMACS 4.0.7 QM/MM exclusions

Lee-Ping Wang leeping at MIT.EDU
Fri Nov 19 14:53:25 CET 2010

Hi there,


I do use the energy group exclusion already; otherwise the VdW interaction between atoms in the QM group are counted, such that a pure-QM calculation still has a nonzero LJ energy.  

The two problems of the segfault, and of the unintended modification of MM bonded interactions, exists even when the energy group exclusions are used (e.g. energygrps = System, energygrp_excl = System System).


I was under the impression that I had already put the QM atoms and the MM atoms into the same topology.  In my topology I include a single itp file at the top, "spce.itp", and my topology has two water molecules in the [ molecules ] section.  At the start of generate_qmexcl, there is only a single molblock (with 2 molecules) and a single moltype.  After it is called, there are two molblocks with 2 moltypes, but the original moltype of the MM water was altered.

Thanks a lot,

- Lee-Ping

On Nov 19, 2010, at 5:08 AM, Berk Hess wrote:

> On 11/19/2010 08:21 AM, Gerrit Groenhof wrote:
>> Hi,
>> This is a problem when the QM atoms are not in the same topology. I
>> have not yet found a satisfactory solution, also because a very easy
>> work-around is to put all QM atoms into the same topology file.
>> But I agree that´s not the best solution and this needs to be solved.
>> Gerrit
> Isn't the energy group exclusion that we discussed a simple solution?
> We could do something like that automated as well (if it works).
> Berk
>> On 11/19/2010 01:01 AM, Lee-Ping wrote:
>>> ver, there is still another problem.  The entire moltype struct is
>>> not actually copied at line 1000; line 1004 copies the exclusions over
>>> and the comment claims that "this is the only thing that needs to be
>>> modified for QMMM."  But this is untrue; generate_qmexcl_moltype not
>>> only modifies the exclusions, but also deletes entries from the bonded
>>> interactions (ilist) within moltype!
>>> This will modify the bonded interactions for the MM molecules if they
>>> were originally the same type as the QM molecules.  I have verified
>>> this, and it's a serious problem that will break QM/MM calculations
>>> where QM and MM molecules start from the same type (e.g. if they are
>>> both water).
>>> I think this is a bug that can be avoided by copying over the ilist
>>> struct (or the entire moltype struct) when the QM/MM moltype is created,
>>> but no such functions seem to be built-in to GROMACS 4.0.7.  I could
>>> write these functions myself if people would find it useful.  Please
> -- 
> gmx-developers mailing list
> gmx-developers at gromacs.org
> http://lists.gromacs.org/mailman/listinfo/gmx-developers
> Please don't post (un)subscribe requests to the list. Use the 
> www interface or send it to gmx-developers-request at gromacs.org.

More information about the gromacs.org_gmx-developers mailing list