[gmx-developers] QMMM, exclusions and neighbor search

Gerrit Groenhof ggroenh at gwdg.de
Mon Aug 10 21:46:06 CEST 2009


Hi,

I had not realized your previous question had not been answered  
completely, sorry.

In 3.3 it was a bit more intuitive, also for me.

In the generate_qmexcl there is a loop over all molblocks. Thus all qm  
atoms are found, even if they are in different molecules. However, you  
might have a point that between molecules the qm atoms do not seem to  
get excluded. Such situation could happen, for example if part of the  
protein and a few waters are treated at the QM level, which is typical  
for enzymes. To avoid problems (if any), you can include such waters  
in the .itp file of the protein.  But it should work also with the  
different QM atom in different topologies and I will  look into this .

Best,

Gerrit





On 10 Aug 2009, at 18:27, Pia Toelle wrote:

> Hello.
>
> I still have problems with "generate_qmexcl" in version 4.0.5.
>
> Comparing to earlier version 3.3.3, one notices that the data  
> structure
> moltype and molblock are included. In the earlier version, qm  
> exclusions
> were generated for each QM-atom inside the system, now in version  
> 4.0.5,
> they are generated per atom inside each molecule type.
>
> I still wounder whether the exclusions between QM-atoms of different
> molecule types are considered here and - if yes - how. Or - if not -
> where this is done.
>
> Is the splitting of the QM part into molblock's correct?
>
> I would be glad for any comment or reply! Please tell me if my  
> question
> is not precise.
>
> Pia
>
>
>
> Pia Toelle wrote:
>> Hello Gerrit.
>> Thanks for the reply, it helped a lot, but I still have some  
>> problems to
>> understand.
>>
>>
>> As far as I understood in "generate_qmexcl" the QM molecules are put
>> into separate molblock and each molecule has its own moleculetype.
>> Then "generate_qmexcl_moltype" is called and the exclusions are set.
>>
>> At first an array "qm_arr" is generated. As the loop
>> "for(i=0;i<molt->atoms.nr;i++)" only passes through the atoms with  
>> the
>> same moleculetype.
>> "sys->moltype[--].excls" contains the exclusions between Atoms of the
>> same topologie.
>>
>> Are the nonbonded interactions listed in the ilist and excluded by
>> deleting them in this list?
>>
>> Where is the ilist generated in first place?
>>
>>
>> Please correct my estimates.
>> Cheers,
>>
>> Pia
>>
>>
>>
>>
>>
>>
>> Gerrit Groenhof wrote:
>>> The QM - QM interactions, both Coulomb and van der Waals are  
>>> explicitly
>>> exluded.
>>>
>>> The code for this begins with the comment
>>>
>>>  /* creating the exclusion block for the QM atoms. Each QM atom has
>>>   * as excluded elements all the other QMatoms (and itself).
>>>   */
>>>
>>> In generate_qmexcl_moltype (topio.c).
>>>
>>> Thus the exclusionlists are expanded with all QM- QM interactions.
>>> The coulomb interactions are handled a bit more dirty: In the
>>> initialisation (qmmm.c), these charges are put to zero.
>>> Thus the standard nbsearching will look at the exclusions and  
>>> check if a
>>> particle is charged. This way it will never include the QM QM  atom
>>> pairs, or QM MM coulomb interactions.
>>> The QMMM nbsearching in the next step takes the QM atoms as i- 
>>> particles
>>> and searches all MM neighbours.
>>>
>>> Best wishes,
>>>
>>> Gerrit
>>>
>>>
>>> On 15 Jul 2009, at 20:10, Pia Toelle wrote:
>>>
>>>> Hello
>>>>
>>>> (I am using Gromacs 4.0.5 (QM/MM))
>>>>
>>>> I have a question about the exclusion of nonbonded (specially VdW)
>>>> interaction in QM/MM simulation. The coulomb and VdW interaction  
>>>> between
>>>> two QM Atoms should not be calculated by Gromacs as the QM-QM
>>>> interaction is done by the QM-program.
>>>> Where (and how) in the code is the VdW (and also coulomb)  
>>>> interaction
>>>> between two QM atoms excluded?
>>>>
>>>> Please also comment on the following:
>>>>
>>>> (topio.c called by grompp.c)
>>>> "generate_qmexcl" and "generate_qmexcl_moltype", here the  
>>>> exclusions for
>>>> the INTRA-molecular interaction are set. Is this right? What is  
>>>> about
>>>> the Interaction between different QM-Molecules?
>>>>
>>>> (ns.c)
>>>> In "search_neighbours" the "nsgrid_core" is called to set up the
>>>> neighbor lists (for all atoms QM and MM !?), then it is called to  
>>>> set up
>>>> the QM/MM neighbor list.
>>>>
>>>> (force.c)
>>>> In "do_forces" the "do_force_lowlevel" is called, there the
>>>> QM-calculation and "do_nonbonded" takes place. The later does not
>>>> contain any information about the atom being QM or not, as far as  
>>>> I can
>>>> see. Therefore, I believe, that the decision to calculate VdW was  
>>>> made
>>>> by setting up the lists. Is this right???
>>>>
>>>>
>>>> Thanks in advance,
>>>> Pia Tölle
>>>>
>>>> BCCMS, university of Bremen, Germany
>>>> _______________________________________________
>>>> 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.
>>> -- 
>>> Gerrit Groenhof
>>> MPI biophysical chemistry
>>> Goettingen
>>> Germany
>>> http://wwwuser.gwdg.de/~ggroenh/
>>>
>>> _______________________________________________
>>> 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 thewww
>>> interface or send it to gmx-developers-request at gromacs.org.
>>
>> _______________________________________________
>> 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.
>
> _______________________________________________
> 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.

--
Gerrit Groenhof
MPI biophysical chemistry
Goettingen
Germany
http://wwwuser.gwdg.de/~ggroenh/




More information about the gromacs.org_gmx-developers mailing list