[gmx-developers] QMMM, exclusions and neighbor search

Berk Hess hess at cbr.su.se
Tue Aug 11 12:20:45 CEST 2009


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.
>   




More information about the gromacs.org_gmx-developers mailing list