[gmx-developers] Question about MM point charges in QM/MM calculation
Berk Hess
hessb at mpip-mainz.mpg.de
Tue Feb 3 14:50:53 CET 2009
But in case of no pbc, couldn't you just run with no cut-off (all
cut-offs set to zero)
and automatically get all MM charges?
Since MM should be cheap compared to QM this should not be
computationally expensive.
Berk
Gerrit Groenhof wrote:
> I did not think about that.
>
> In the case of no pbc, you can add all non QM atoms to the MMrec atom
> list.
>
> GErrit
>
> Berk Hess wrote:
>> Hi,
>>
>> This looks like pbc code.
>> Maybe you do not have periodic boundary conditions,
>> but you would not want to take all MM charges into account when you
>> have PBC.
>>
>> Berk
>>
>> Gerrit Groenhof wrote:
>>> Sorry one line should be changed still:
>>> }
>>> mm_j_particles[mm_nr].j = j;
>>> mm_j_particles[mm_nr].shift = is;
>>> mm_nr++;
>>> }
>>>
>>>
>>>
>>>
>>> Gerrit Groenhof wrote:
>>>> So instead of looking into the QMMMnblists, you could simply scan
>>>> over all particles. If (!bQMMM[i]), add it to the MM array. This
>>>> way you get the whole box, but there could be problems with
>>>> particles being in a different periodic image that cannot be not
>>>> shifted back correctly prior to the QM call.
>>>>
>>>> I am not sure about this, but you coudl try something like in the
>>>> update_QMMMrec routine(3.3.x only):
>>>>
>>>>
>>>>
>>>> if(QMMMlist_sr.nri){
>>>> qm_i_particles[0].shift = XYZ2IS(0,0,0);
>>>> for(i=0;i<QMMMlist_sr.nri;i++){
>>>> qm_i_particles[i].j = QMMMlist_sr.iinr[i];
>>>> if(i){
>>>> qm_i_particles[i].shift =
>>>> pbc_dx_aiuc(&pbc,x[QMMMlist_sr.iinr[0]],
>>>> x[QMMMlist_sr.iinr[i]],dx);
>>>>
>>>> }
>>>> crd[0] = IS2X(QMMMlist_sr.shift[i]) +
>>>> IS2X(qm_i_particles[i].shift);
>>>> crd[1] = IS2Y(QMMMlist_sr.shift[i]) +
>>>> IS2Y(qm_i_particles[i].shift);
>>>> crd[2] = IS2Z(QMMMlist_sr.shift[i]) +
>>>> IS2Z(qm_i_particles[i].shift);
>>>> is = XYZ2IS(crd[0],crd[1],crd[2]);
>>>> for(j=0;j<md->nr;j++){
>>>> if(!bQMMM[j]){
>>>> if(mm_nr >= mm_max){
>>>> mm_max += 1000;
>>>> srenew(mm_j_particles,mm_max);
>>>> }
>>>> mm_j_particles[mm_nr].j = QMMMlist_sr.jjnr[j];
>>>> mm_j_particles[mm_nr].shift = is;
>>>> mm_nr++;
>>>> }
>>>> }
>>>>
>>>> Gerrit
>>>>
>>>> Pia Toelle wrote:
>>>>> Thanks for the comment and your interest.
>>>>>
>>>>>
>>>>> I still would like to get informations about the MM-atom list
>>>>> (mm->xMM[i][..],mm->MMcharges[i]) and how I could change it, so
>>>>> that all
>>>>> MM atoms are included not considering the cut-off, because we
>>>>> would like
>>>>> to print out all (!) MM atoms (and their charges).
>>>>> Please tell me if a change of the (t_MMrec)-variable mm could cause
>>>>> problems for the MM-part of the routine or is the
>>>>> (t_MMrec)-variable mm
>>>>> only used in the QM part.
>>>>> Or would it be possible to print out all MM atoms + charges at an
>>>>> other
>>>>> point in the program? Where?
>>>>>
>>>>> Thanks in advance.
>>>>>
>>>>> Pia Toelle
>>>>>
>>>>> BCCMS
>>>>> Uni Bremen
>>>>> Am Fallturm 1
>>>>> 28359 Bremen
>>>>> Germany
>>>>>
>>>>>
>>>>>
>>>>> Gerrit Groenhof wrote:
>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> We did a gmx-dftb interface that used function calls from the linked
>>>>>> dftb librarysome time ago. That was in 3.3.3, but I never found
>>>>>> the time
>>>>>> to pt it in 4. ALso I remember some compilation issues with the dftb
>>>>>> code on 64 bit machines. I can send you the code if you're
>>>>>> interested.
>>>>>>
>>>>>> For QM/MM the MM atoms are indeed set with the cut-off options.
>>>>>> Although
>>>>>> for dftb it is not very difficult, I have never found the time or
>>>>>> need
>>>>>> to complete the ewald implementation. To avoid duplications, I
>>>>>> suggest
>>>>>> we finish the PME implementation for the DFTB code together.
>>>>>> Contacting
>>>>>> me off-list is probably more convenient if you are interested.
>>>>>>
>>>>>> BEst,
>>>>>>
>>>>>> Gerrit
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> On 30 Jan 2009, at 18:09, Pia Toelle wrote:
>>>>>>
>>>>>>
>>>>>>> Hello.
>>>>>>>
>>>>>>> I have got some questions concerning the MM-atom-list in a QM/MM
>>>>>>> calculation.
>>>>>>>
>>>>>>> We do QM-MM calculations using the Gaussian interface
>>>>>>> (gromacs-3.3.3),
>>>>>>> but modified the code to be able to use DFTB instead of Gaussian
>>>>>>> (www.dftb.org).
>>>>>>> Our (MM-)system is a SiO2-surface (with periodic boundary
>>>>>>> condition;
>>>>>>> full).
>>>>>>> We use PME and DO NOT (!) define proper charge groups for the
>>>>>>> surface
>>>>>>> structure, every atom forms its own charge group. Number of MM
>>>>>>> atoms
>>>>>>> ~1900.
>>>>>>> (The proper definition of charge groups in our system is not
>>>>>>> obvious or
>>>>>>> even impossible, as it is a solid and a periodic system)
>>>>>>>
>>>>>>> We noticed, that the MM system considered in the QM calculation
>>>>>>> does not
>>>>>>> consist of the entire MM system. The point charges
>>>>>>> (mm->xMM[i][..],mm->MMcharges[i]) that are written to input.com (by
>>>>>>> qm_gaussian.c) are only those of the MM atoms in the vicinity of
>>>>>>> the QM
>>>>>>> atoms. The list of MM atoms in the vicinity of the QM-zone is
>>>>>>> set (as
>>>>>>> far as we can see) using the neighbor-search algorithm depending
>>>>>>> also on
>>>>>>> the charge groups (in ns5_core.c). Please correct me if I am
>>>>>>> wrong at
>>>>>>> some point.
>>>>>>> Is it right, that the cut-off for the QM/MM - neighbor search is
>>>>>>> set by
>>>>>>> 'rcoulomb' in the mdp-file? Or 'rlist'?
>>>>>>>
>>>>>>> Anyhow, we would like to print out all (!) MM atoms (and their
>>>>>>> charges).
>>>>>>> How to solve this problem?
>>>>>>> Is there a simple way to put all MM atoms in the mm list? And
>>>>>>> please
>>>>>>> tell me if a change of the (t_MMrec)-variable mm could cause
>>>>>>> problems
>>>>>>> for the MM-part of the routine or is the (t_MMrec)-variable mm
>>>>>>> only
>>>>>>> used in the QM part.
>>>>>>> Or would it be possible to print out all MM atoms + charges at
>>>>>>> an other
>>>>>>> point in the program? Where?
>>>>>>> I am grateful for any helpful information or idea.
>>>>>>>
>>>>>>>
>>>>>>> Thanks in advance.
>>>>>>>
>>>>>>> Pia Toelle
>>>>>>>
>>>>>>> BCCMS
>>>>>>> Uni Bremen
>>>>>>> Am Fallturm 1
>>>>>>> 28359 Bremen
>>>>>>> Germany
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> gmx-developers mailing list
>>>>>>> gmx-developers at gromacs.org
>>>>>>> http://www.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://www.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://www.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://www.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://www.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://www.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://www.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