[gmx-developers] QMMM, exclusions and neighbor search
Pia Toelle
pia.toelle at bccms.uni-bremen.de
Tue Aug 11 12:08:47 CEST 2009
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.
More information about the gromacs.org_gmx-developers
mailing list