[gmx-developers] QMMM, exclusions and neighbor search

Gerrit Groenhof ggroenh at gwdg.de
Thu Mar 4 08:03:07 CET 2010


Hallo Pia,

Sorry for not getting back on this issue earlier. 

Have you been able to fix this bug?

BEst wishes,

Gerrit


On 11 Aug 2009, at 13:10, Pia Toelle wrote:

> Okay.
> 
> Thanks for your reply. I will try to do so.
> Please, tell me if their are any news concerning this problem.
> 
> Cheers,
> Pia
> 
> Berk Hess wrote:
>> Hi,
>> 
>> That would work.
>> But we should certainly fix the code.
>> I did not think of this situation when introducing the moltype data
>> structure in version 4.0.
>> 
>> Berk
>> 
>> Pia Toelle wrote:
>>> Hello.
>>> 
>>> To avoid a different handling of QM-atoms of different molecule types,
>>> would it be possible to put all QM atoms in one molblock and moltype, as
>>> the molblocks ans moltypes are filled and defined anyway in
>>> generate_qmexcl? Or would this influence other parts of the program?
>>> 
>>> greetings
>>> Pia
>>> 
>>> 
>>> Gerrit Groenhof wrote:
>>> 
>>>> 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/
>>>> 
>>>> _______________________________________________
>>>> 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.
> 
> _______________________________________________
> 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