[gmx-developers] Verlet Algorithm

Elena della Valle elena.dv46 at yahoo.it
Thu Oct 6 11:31:55 CEST 2016


Okey but in the update.c file line 300, in the following equation : 
v[n][d]             = mv1*(mv1*v[n][d] + 
0.5*(w_dt*mv2*f[n][d]))+0.5*accel[ga][d]*dt;
  with the term "0.5*accel[ga][d]*dt" it corresponds to the term 
"[1/2*(∆t/m)* F(t + ∆t)] " in the verlet algorithm ?
Thanks in advance for helping me
Best Regards
Elena della Valle

Il 06/10/2016 09:30, Berk Hess ha scritto:
> Hi,
>
> I guess you mean ga = cACC[n].
> cACC[n] contains the acceleration group index for atom n. This is for 
> non-equilibrium dynamics where groups of atom are accelerated.
> (apologies for the cryptic notation without documentation)
>
> Cheers,
>
> Berk
>
> On 2016-10-06 07:44, Elena Della valle wrote:
>> Hi, I have just a last question what gromacs means exactly with the 
>> term: cACC[ga]?
>> Thanks in advance
>> Best Regards
>> Elena della Valle
>>
>>
>>
>>> Il giorno 04 ott 2016, alle ore 17:58, Berk Hess <hess at kth.se> ha 
>>> scritto:
>>>
>>>> On 10/04/2016 05:36 PM, David van der Spoel wrote:
>>>>> On 04/10/16 17:00, Elena Della valle wrote:
>>>>> I used the gromacs 4.6.5
>>>>> Best regards
>>>>> Elena della Valle
>>>> Crudely put we do not support that version anymore, so if you would 
>>>> like to have this considered for inclusion in gromacs you would 
>>>> have to implement it in the master branch and upload it to gerrit. 
>>>> Whether it is correct you should test your self using some known 
>>>> cases and carefully constructed inputs.
>>> In addition, even when you are not interested in contributing the 
>>> code, all developer work with the most recent versions, so it's 
>>> easier for us to help you with the master version, especially for 
>>> code that has changed a lot over the past years like the Velocity 
>>> Verlet integrator. (And I think anyone should prefer the latest 
>>> version for development, so one doesn't end up with functionality 
>>> that only works in 5 year old code.)
>>>
>>> Cheers,
>>>
>>> Berk
>>>> Maybe you can also answer the question when a magnetic effect would 
>>>> be important?
>>>>>
>>>>>>> Il giorno 04 ott 2016, alle ore 16:49, David van der Spoel 
>>>>>>> <spoel at xray.bmc.uu.se> ha scritto:
>>>>>>>
>>>>>>> On 04/10/16 15:15, Elena della Valle wrote:
>>>>>>>
>>>>>>> Hi to all,
>>>>>>>
>>>>>>> I'm Elena della Valle, a Ph.D. student coming from la Sapienza
>>>>>>> University of Rome.
>>>>>>>
>>>>>>> I'm writing because I have some questions about some 
>>>>>>> modifications that
>>>>>>> I have done to the update of velocities and positions in the verlet
>>>>>>> algorithm. My aim is to implement the magnetic field in gromacs by
>>>>>>> introducing the therm of the larmor frequency to the velocities and
>>>>>>> positions. By literature I read that this has been done by the 
>>>>>>> update of
>>>>>>> the verlet velocities and positions with the frequency larmor 
>>>>>>> therm.
>>>>>>> These are  the equations in order to be more clear on what i 
>>>>>>> wanted to do:
>>>>>>>
>>>>>>> I did this by modifying in the update.c file in gromacs the
>>>>>>> update_do_vv_vel and update_do_vv_pos ad follows:
>>>>>>>
>>>>>>> if ((ptype[n] != eptVSite) && (ptype[n] != eptShell) && 
>>>>>>> !nFreeze[gf][d])
>>>>>>>            {
>>>>>>>                v[n][0] = mv1*(mv1*v[n][0] +
>>>>>>> 0.5*(w_dt*mv2*f[n][0]))+0.5*accel[ga][0]*dt +
>>>>>>> w_dt*charge[n]*campoB*v[n][1]*mv1*mv1 +
>>>>>>> 0.25*dt*invmass[n]*charge[n]*campoB*((w_dt*mv2*mv1*f[n][1]) +
>>>>>>> accel[ga][1]*dt -2*w_dt*charge[n]*campoB*mv1*mv1*v[n][0]);
>>>>>>>                v[n][1] = mv1*(mv1*v[n][1] +
>>>>>>> 0.5*(w_dt*mv2*f[n][1]))+0.5*accel[ga][1]*dt +
>>>>>>> w_dt*charge[n]*campoB*v[n][0]*mv1*mv1 -
>>>>>>> 0.25*dt*invmass[n]*charge[n]*campoB*((w_dt*mv2*mv1*f[n][0]) +
>>>>>>> accel[ga][0]*dt +2*w_dt*charge[n]*campoB*mv1*mv1*v[n][1]);
>>>>>>>                v[n][2] = mv1*(mv1*v[n][2] +
>>>>>>> 0.5*(w_dt*mv2*f[n][2]))+0.5*accel[ga][2]*dt;
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>            //printf("frame %lf \n", mv1);
>>>>>>>           // printf("frame %d: %lf\t%lf%lf\n", n, v[n][0], v[n][1],
>>>>>>> v[n][2]);
>>>>>>>            }
>>>>>>>
>>>>>>> in the do_update_vv_pos:
>>>>>>>
>>>>>>> if ((ptype[n] != eptVSite) && (ptype[n] != eptShell) && 
>>>>>>> !nFreeze[gf][d])
>>>>>>>            {
>>>>>>>                xprime[n][0]   = mr1*(mr1*x[n][0]+mr2*dt*v[n][0]) +
>>>>>>> mr1*0.5*dt*(w_dt*mr2*f[n][0] + w_dt*charge[n]*campoB*v[n][1]*mr1);
>>>>>>>                xprime[n][1]   = mr1*(mr1*x[n][1]+mr2*dt*v[n][1]) +
>>>>>>> mr1*0.5*dt*(w_dt*mr2*f[n][1] - w_dt*charge[n]*campoB*v[n][0]*mr1);
>>>>>>>                xprime[n][2]   = mr1*(mr1*x[n][2]+mr2*dt*v[n][2]) +
>>>>>>> mr1*0.5*dt*(w_dt*mr2*f[n][2]);
>>>>>>>            }
>>>>>>>
>>>>>>>
>>>>>>> After that in the grompp file I modified the integrator in md-vv 
>>>>>>> and I
>>>>>>> run the simulation and it seems to use the position and velocities
>>>>>>> modifications.
>>>>>>>
>>>>>>> I want know if you think that this way is correct, if I 
>>>>>>> implemented in
>>>>>>> the right way
>>>>>>>
>>>>>>> And Also I would like to know if in the grompp file I have to 
>>>>>>> modify
>>>>>>> other parameters (I use a beredensed coupling)
>>>>>>>
>>>>>>> Thanks in advance
>>>>>>> Sorry for bothering you
>>>>>>> Best Regards
>>>>>>> Elena della Valle
>>>>>>>
>>>>>>> -- 
>>>>>>> Elena della Valle
>>>>>>> Ph.D. Student in Electronic Engineering
>>>>>>>
>>>>>>> Department of Information Engineering, Electronics and 
>>>>>>> Telecommunications
>>>>>>> Sapienza, University of Rome
>>>>>>> via Eudossiana, 18 00184 Rome
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>> Just a quick question: which version did you use? All development 
>>>>>> should be in the master version and this looks like uses 
>>>>>> something older.
>>>>>>
>>>>>>
>>>>>>
>>>>>> -- 
>>>>>> David van der Spoel, Ph.D., Professor of Biology
>>>>>> Dept. of Cell & Molec. Biol., Uppsala University.
>>>>>> Box 596, 75124 Uppsala, Sweden. Phone:    +46184714205.
>>>>>> spoel at xray.bmc.uu.se    http://folding.bmc.uu.se
>>>>>> -- 
>>>>>> Gromacs Developers mailing list
>>>>>>
>>>>>> * Please search the archive at 
>>>>>> http://www.gromacs.org/Support/Mailing_Lists/GMX-developers_List 
>>>>>> before posting!
>>>>>>
>>>>>> * Can't post? Read http://www.gromacs.org/Support/Mailing_Lists
>>>>>>
>>>>>> * For (un)subscribe requests visit
>>>>>> https://maillist.sys.kth.se/mailman/listinfo/gromacs.org_gmx-developers 
>>>>>> or send a mail to gmx-developers-request at gromacs.org.
>>>>
>>> -- 
>>> Gromacs Developers mailing list
>>>
>>> * Please search the archive at 
>>> http://www.gromacs.org/Support/Mailing_Lists/GMX-developers_List 
>>> before posting!
>>>
>>> * Can't post? Read http://www.gromacs.org/Support/Mailing_Lists
>>>
>>> * For (un)subscribe requests visit
>>> https://maillist.sys.kth.se/mailman/listinfo/gromacs.org_gmx-developers 
>>> or send a mail to gmx-developers-request at gromacs.org.
>

-- 
Elena della Valle
Ph.D. Student in Electronic Engineering

Department of Information Engineering, Electronics and Telecommunications
Sapienza, University of Rome
via Eudossiana, 18 00184 Rome



More information about the gromacs.org_gmx-developers mailing list