[gmx-developers] Verlet Algorithm
David van der Spoel
spoel at xray.bmc.uu.se
Tue Oct 4 17:36:20 CEST 2016
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.
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.
>
--
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
More information about the gromacs.org_gmx-developers
mailing list