[gmx-users] Velocities from the .gro file

Eric Smoll ericsmoll at gmail.com
Fri Apr 17 06:21:03 CEST 2020



Sent from my iPhone

> On Apr 16, 2020, at 7:53 PM, Mohamed Abdelaal <m.b.abdelaal at gmail.com> wrote:
> 
> I have one more question please regarding the velocity.

No problem.
> 
> What is the mean value for the velocity being generated by GROMACS ? Is it
> zero ?

Yes.
> 
> I have also understood fr om the below paragraph which is written in the
> manual section 3.4.1, that the values generated are selected from the range
> between 0 and 1, However I have opened my nvt.gro file and I have found
> negative values for the generated velocity. How come that I have negative
> values for the velocity if the generated velocity is within the range from
> 0-1 as written in the manual ? Am I missing something?

Yes you are missing something.  Read again.  Each random number is generated between 0 and 1 but 12 of these are added together before subtracting 6 from the sum.  If, by chance, all twelve numbers are 0.1, the sum is 1.2.  1.2 - 6 is -4.8.  This is why negative numbers are possible.
> 
> "If velocities are not available, the program can generate initial atomic
> velocities  at a given absolute temperature T :
> where k is Boltzmann’s constant (see chapter 2). To accomplish this, normally
> distributed random
> numbers are generated by adding twelve random numbers R k in the range 0 ≤
> R k < 1 and
> subtracting 6.0 from their sum. The result is then multiplied by the
> standard deviation of the
> velocity distribution kT /m i . Since the resulting total energy will not
> correspond exactly to the
> required temperature T , a correction is made: first the center-of-mass
> motion is removed and then
> all velocities are scaled so that the total energy corresponds exactly to T
> (see eqn. 3.18)."
> 
> Many thanks,
> Mohamed
> 
>> On Wed, Apr 15, 2020 at 12:26 AM Eric Smoll <ericsmoll at gmail.com> wrote:
>> 
>> My knowledge is a bit old.
>> 
>> Tpr files are binary so you cannot read them without a special tool.  In
>> gromacs 2018, there was a tool that would spit out the contents of a tpr
>> file in a readable format.  Execute
>> “gmx dump -h” to learn more.
>> 
>> Justin is correct.  There is no tool or file that will allow you to add a
>> constant velocity in the z direction to a set of atoms.  I would suggest
>> writing a program to build a custom gro file from the start that has
>> everything you want.  If that is not possible for you, you could use
>> gen-vel and attempt to export a gro with the resulting velocities at some
>> point afterward (e.g., use gen-vel tpr for a 1 step simulation writing
>> coordinates and velocities to the trr at every step and then extract gro
>> with velocities from the trr).  Then go through the gro file and add a
>> constant z-velocity to all the atoms that need it.  Then read the edited
>> gro file in again and proceed.
>> 
>> -Eric
>> 
>> Sent from my iPhone
>> 
>>> On Apr 14, 2020, at 3:02 PM, Mohamed Abdelaal <m.b.abdelaal at gmail.com>
>> wrote:
>>> 
>>> Many thanks Dr. Erik for your reply :)
>>> 
>>> 
>>>> On Tue, Apr 14, 2020 at 11:15 PM Eric Smoll <ericsmoll at gmail.com>
>> wrote:
>>>> 
>>>> No problem.
>>>> 
>>>> Now it is clear what you are trying to do.  The previous description of
>>>> your goals did not make much physical sense.  The initial velocities are
>>>> such that all three dimensions are sampled from the same 3D velocity
>>>> distribution (gaussian with the same width).  The difference is that
>> there
>>>> is a constant velocity added in the z-direction so there is net motion
>> in
>>>> the z-direction.
>>> 
>>> 
>>> 
>>>> One way to do this is to use gen-vel as usual and just add the constant
>> to
>>>> the z-coordinate.
>>>> 
>>> 
>>> *Can you please tell me more details how to add the constant to the
>>> z-coordinate ? If I will generate the velocity from the .mdp file, in
>> which
>>> file should I add the constant to the z-coordinate ?  *
>>> 
>>>> 
>>> 
>>> The velocities were probably read in.  By default, the velocities may not
>>>> be printed in the gro.  What matters is that they were loaded in the
>> tpr.
>>>> Try a simulation to see if the molecule is moving as expected.
>>>> 
>>> 
>>> I will complete the simulation to the end to check whether or not the
>>> velocity was added from my .gro file.
>>> 
>>> 
>>>> Alternatively, dump the contents of the tpr and make sure the velocities
>>>> you created were read in.
>>>> 
>>>> Do you mean that I should manually edit the .tpr file ? I have tried to
>>> open it with text editor but it can't be open.
>>> 
>>> 
>>>> -Eric
>>>> 
>>>> On Tue, Apr 14, 2020 at 1:56 PM Mohamed Abdelaal <
>> m.b.abdelaal at gmail.com>
>>>> wrote:
>>>> 
>>>>> Sorry for writing again in the same topic but I couldn't solve
>>>>> the velocity problem.
>>>>> 
>>>>> I am trying to reproduce a paper written by: Claire Tonnel + , Martin
>>>>> Stroet + , Bertrand Caron, Andrew J. Clulow, Ravi C. R. Nagiri,
>>>> Alpeshkumar
>>>>> K. Malde, Paul L. Burn,* Ian R. Gentle, Alan E. Mark,* and Benjamin J.
>>>>> Powell
>>>>> Title: Elucidating the Spatial Arrangement of Emitter Molecules in
>>>> Organic
>>>>> Light-Emitting Diode Films
>>>>> 
>>>>> It was mentioned in the paper that " The molecule was inserted into the
>>>>> system such that the x and y coordinates of the centre of mass were
>>>> sampled
>>>>> from a uniform distribution covering the entire box while the z
>>>> coordinate
>>>>> of the centre of mass was set to 2.0 nm above the current surface. The
>>>>> initial orientation of the molecule was randomised. *The velocities of
>>>> each
>>>>> atom within the inserted molecule in x and y were sampled from a
>> Gaussian
>>>>> distribution with a mean of 0.0 nm/ps and a standard deviation
>>>> appropriate
>>>>> for the temperature constant (σ = sqrt(kT/m), where k B is Botzmann’s
>> , T
>>>>> is the temperature and m is the mass of the atom). The velocities in z
>>>> were
>>>>> sampled from the distribution with the same standard deviation as x
>> and y
>>>>> but with a mean of 0.05 nmps -1 , negative z velocities (molecule
>> moving
>>>> in
>>>>> the direction opposite to the surface) were rectified by taking the
>>>>> absolute value. This ensured all molecules moved toward the surface.*
>>>>> 
>>>>> I have read the section 3.4.1 of the manual version 5.1.2 as
>> recommended
>>>>> above and I have also read all the velocity related topics in the
>> manual
>>>>> and user guide.
>>>>> 
>>>>> (After Dr. Justin and Dr. Eric replies)  I added velocity in my .gro
>> file
>>>>> and then I inserted the molecule in a box using insert-molecules,
>> However
>>>>> after the insertion process is completed I opened the output .gro file
>>>> but
>>>>> the velocity was not read. This means that I can only generate the
>>>> velocity
>>>>> through the .mdp file.
>>>>> 
>>>>> If I am going to generate the velocity using my .mdp file, is it
>> possible
>>>>> to change the standard deviation and the mean ? if yes, how can I
>> modify
>>>>> them ? (I can't find any way to modify the parameters of the Maxwell
>>>>> distribution)
>>>>> 
>>>>> I want to have velocity distributions with means equal to 0,0,0.5 nmps
>> in
>>>>> the x,y,z directions respectively.
>>>>> 
>>>>> You wrote in your last email that, "A 3D Maxwell Boltzmann velocity
>>>>> distribution corresponds to three identical gaussian speed
>> distributions
>>>> in
>>>>> vx, vy, andvz centered at zero (mean should be zero for vx, vy, vz).
>>>> Just
>>>>> change the standard deviation of the velocity distribution sqrt(kT/m)
>> for
>>>>> each velocity component if you want them to be different.  If you don't
>>>>> want the mean to be zero for whatever reason, add a constant."
>>>>> 
>>>>> If the velocity will not be read from the .gro file where should I add
>>>> the
>>>>> constant to change the mean?
>>>>> 
>>>>> Many thanks,
>>>>> Mohamed
>>>>> 
>>>>> 
>>>>> On Thu, Apr 9, 2020 at 5:00 AM Mohamed Abdelaal <
>> m.b.abdelaal at gmail.com>
>>>>> wrote:
>>>>> 
>>>>>> Many thanks for your reply :)
>>>>>> 
>>>>>> All your language assumptions are true and that is exactly what I
>>>> wanted
>>>>>> to communicate, next time I will try to be more precise and sorry for
>>>> the
>>>>>> confusion 😊
>>>>>> 
>>>>>> I will read section 3.4.1 again carefully.
>>>>>> 
>>>>>> Thanks again and sorry for the inconvenience.
>>>>>> 
>>>>>> Mohamed
>>>>>> 
>>>>>>> On Thu, Apr 9, 2020 at 04:33 Eric Smoll <ericsmoll at gmail.com> wrote:
>>>>>>> 
>>>>>>> On Wed, Apr 8, 2020 at 4:41 PM Mohamed Abdelaal <
>>>> m.b.abdelaal at gmail.com
>>>>>> 
>>>>>>> wrote:
>>>>>>> 
>>>>>>>> Many thanks for your reply 😊
>>>>>>>> 
>>>>>>>> The limitation in the generate velocity using the .mdp file, is that
>>>>>>> while
>>>>>>>> I can generate the velocity from Maxwell distribution,  I will have
>>>>> the
>>>>>>>> same velocities in the x, y and z directions.
>>>>>>>> 
>>>>>>> 
>>>>>>> I think you mean "same velocity *distributions* in the x, y, and z
>>>>>>> directions."  The distributions will be approximately the same but
>>>> each
>>>>>>> atom will have a different velocity.
>>>>>>> 
>>>>>>>> 
>>>>>>>> On the other hand, generating the velocity from the .gro file will
>>>> let
>>>>>>> me
>>>>>>>> specify different velocities in the x,y and z directions but they
>>>> will
>>>>>>> be
>>>>>>>> the same velocities for all the atoms (will not be taken from a
>>>>> maxwell
>>>>>>>> distribution with variation in the atoms velocities).
>>>>>>>> 
>>>>>>> 
>>>>>>> I think you mean "specify different velocity *distributions* in the
>> x,
>>>>> y,
>>>>>>> and z directions"
>>>>>>> 
>>>>>>>> 
>>>>>>>> Is it possible to generate different velocities in the x,y and z
>>>>>>> directions
>>>>>>>> 
>>>>>>> 
>>>>>>> I think you mean "generate different velocity *distributions* in the
>>>> x,
>>>>> y,
>>>>>>> and z directions."  If so, the answer is obviously yes. Because you
>>>> can
>>>>>>> type in each individual vxi, vyi, and vzi for every atom i, you can
>>>>>>> generate different velocity distributions in the x, y, and z
>>>> directions.
>>>>>>> 
>>>>>>> 
>>>>>>>> from a maxwell distribution ?
>>>>>>> 
>>>>>>> 
>>>>>>> I am not sure what this part of the sentence means.  If you do what
>>>> you
>>>>>>> are
>>>>>>> suggesting, you will not be working with a maxwell distribution
>>>> because
>>>>>>> all
>>>>>>> three directions should have identical distributions.  See comment
>>>>> below.
>>>>>>> If there is another misunderstanding, you need to spend more time
>>>>> crafting
>>>>>>> precise sentences to communicate what you are after.
>>>>>>> 
>>>>>>> 
>>>>>>>> (for example the velocities to be taken from
>>>>>>>> a maxwell distribution with a mean of 0.1 in the x direction and
>>>> with
>>>>> a
>>>>>>>> mean of 0.2 in the y direction and with mean of 0.3 in the z
>>>>> direction?)
>>>>>>>> 
>>>>>>> 
>>>>>>> In my last email I suggested reading section 3.4.1 of the manual
>>>> version
>>>>>>> 5.1.2.  It seems you did not.  A 3D Maxwell Boltzmann velocity
>>>>>>> distribution
>>>>>>> corresponds to three identical gaussian speed distributions in vx,
>> vy,
>>>>> and
>>>>>>> vz centered at zero (mean should be zero for vx, vy, vz).  Just
>> change
>>>>> the
>>>>>>> standard deviation of the velocity distribution sqrt(kT/m) for each
>>>>>>> velocity component if you want them to be different.  If you don't
>>>> want
>>>>>>> the
>>>>>>> mean to be zero for whatever reason, add a constant.  However, a
>>>>> non-zero
>>>>>>> mean for any of the velocity components will generate center of mass
>>>>>>> motion.  If you want center of mass motion, turn off center of mass
>>>>> motion
>>>>>>> removal in the mdp file.
>>>>>>> 
>>>>>>> 
>>>>>>>> Thanks for your help :)
>>>>>>>> Mohamed
>>>>>>>> 
>>>>>>>> On Wed, Apr 8, 2020 at 05:48 Eric Smoll <ericsmoll at gmail.com>
>>>> wrote:
>>>>>>>> 
>>>>>>>>> On Tue, Apr 7, 2020 at 3:38 PM Mohamed Abdelaal <
>>>>>>> m.b.abdelaal at gmail.com>
>>>>>>>>> wrote:
>>>>>>>>> 
>>>>>>>>>> No, I use the generate velocity option in the .mdp files.
>>>>>>>>>> 
>>>>>>>>>> However I want now to assign different velocities in the x,y,z
>>>>>>>>> directions.
>>>>>>>>>> Which I thought it could only be done through the .gro file,
>>>> but I
>>>>>>>> don't
>>>>>>>>>> know If I did that, should I change the value of the generate
>>>>>>> velocity
>>>>>>>> to
>>>>>>>>>> be = NO in the .mdp files ? (otherwise I would have generated
>>>> the
>>>>>>>>>> velocities twice).
>>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> That sounds logical.  Set it to no if you provide your own initial
>>>>>>>>> velocities.
>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> Moreover, if I added the velocities in the .gro file how can I
>>>>>>> generate
>>>>>>>>> the
>>>>>>>>>> velocities in the .gro file from a distribution (Maxwell) with a
>>>>>>>> specific
>>>>>>>>>> mean and standard deviation ?
>>>>>>>>>> 
>>>>>>>>>> I have tried to search in different sources (the user list,
>>>>> manual,
>>>>>>>> user
>>>>>>>>>> guide, research gate and other platforms) how to solve this
>>>>> velocity
>>>>>>>>>> problem but I didn't find a clear way to insert different
>>>>>>> velocities in
>>>>>>>>> the
>>>>>>>>>> x,y,z directions using distribution rater than constant
>>>>> velocities.
>>>>>>>>>> 
>>>>>>>>>> There is a good section on this in the manual.  For example,
>>>>> section
>>>>>>>>> 3.4.1
>>>>>>>>> in the Gromacs 5.1.2 manual.
>>>>>>>>> 
>>>>>>>>> Also, you know that the generate velocities option assigns
>>>>> velocities
>>>>>>> to
>>>>>>>>> atoms from an approximate MB distribution at whatever temperature
>>>>> you
>>>>>>>>> specify in the MDP file, right?  If I understand you correctly,
>>>> the
>>>>>>>>> generate velocities options should do exactly what you want.  With
>>>>> no
>>>>>>>> extra
>>>>>>>>> work.
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>>> Please guide me how to do it as I am a little bit confused in
>>>> the
>>>>>>>>> velocity
>>>>>>>>>> generation mechanisms.
>>>>>>>>>> 
>>>>>>>>>> Many thanks,
>>>>>>>>>> Mohamed
>>>>>>>>>> 
>>>>>>>>>> On Mon, Apr 6, 2020 at 6:19 PM Justin Lemkul <jalemkul at vt.edu>
>>>>>>> wrote:
>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>>>>>>> On 4/6/20 12:16 PM, Mohamed Abdelaal wrote:
>>>>>>>>>>>> Hello everybody :)
>>>>>>>>>>>> 
>>>>>>>>>>>> Can I use the gmx insert-molecules to insert molecules in my
>>>>> box
>>>>>>>> with
>>>>>>>>>>>> velocities by adding the velocities in t
>>>>>>> <
>>>>> 
>>>> 
>> https://www.google.com/maps/search/velocities+by+adding+the+velocities+in+t?entry=gmail&source=g
>>>>>> he
>>>>>>> .gro file and insert the
>>>>>>>>>>>> molecules from this .gro file ?
>>>>>>>>>>> 
>>>>>>>>>>> Have you tried it?
>>>>>>>>>>> 
>>>>>>>>>>> -Justin
>>>>>>>>>>> 
>>>>>>>>>>> --
>>>>>>>>>>> ==================================================
>>>>>>>>>>> 
>>>>>>>>>>> Justin A. Lemkul, Ph.D.
>>>>>>>>>>> Assistant Professor
>>>>>>>>>>> Office: 301 Fralin Hall
>>>>>>>>>>> Lab: 303 Engel Hall
>>>>>>>>>>> 
>>>>>>>>>>> Virginia Tech Department of Biochemistry
>>>>>>>>>>> 340 West Campus Dr.
>>>>>>>>>>> Blacksburg, VA 24061
>>>>>>>>>>> 
>>>>>>>>>>> jalemkul at vt.edu | (540) 231-3129
>>>>>>>>>>> http://www.thelemkullab.com
>>>>>>>>>>> 
>>>>>>>>>>> ==================================================
>>>>>>>>>>> 
>>>>>>>>>>> --
>>>>>>>>>>> Gromacs Users mailing list
>>>>>>>>>>> 
>>>>>>>>>>> * Please search the archive at
>>>>>>>>>>> http://www.gromacs.org/Support/Mailing_Lists/GMX-Users_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-users
>>>>>>>> or
>>>>>>>>>>> send a mail to gmx-users-request at gromacs.org.
>>>>>>>>>>> 
>>>>>>>>>> --
>>>>>>>>>> Gromacs Users mailing list
>>>>>>>>>> 
>>>>>>>>>> * Please search the archive at
>>>>>>>>>> http://www.gromacs.org/Support/Mailing_Lists/GMX-Users_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-users
>>>>>>> or
>>>>>>>>>> send a mail to gmx-users-request at gromacs.org.
>>>>>>>>>> 
>>>>>>>>> --
>>>>>>>>> Gromacs Users mailing list
>>>>>>>>> 
>>>>>>>>> * Please search the archive at
>>>>>>>>> http://www.gromacs.org/Support/Mailing_Lists/GMX-Users_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-users
>>>>> or
>>>>>>>>> send a mail to gmx-users-request at gromacs.org.
>>>>>>>>> 
>>>>>>>> --
>>>>>>>> Gromacs Users mailing list
>>>>>>>> 
>>>>>>>> * Please search the archive at
>>>>>>>> http://www.gromacs.org/Support/Mailing_Lists/GMX-Users_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-users
>>>> or
>>>>>>>> send a mail to gmx-users-request at gromacs.org.
>>>>>>> --
>>>>>>> Gromacs Users mailing list
>>>>>>> 
>>>>>>> * Please search the archive at
>>>>>>> http://www.gromacs.org/Support/Mailing_Lists/GMX-Users_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-users
>> or
>>>>>>> send a mail to gmx-users-request at gromacs.org.
>>>>>> 
>>>>>> 
>>>>> --
>>>>> Gromacs Users mailing list
>>>>> 
>>>>> * Please search the archive at
>>>>> http://www.gromacs.org/Support/Mailing_Lists/GMX-Users_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-users or
>>>>> send a mail to gmx-users-request at gromacs.org.
>>>> --
>>>> Gromacs Users mailing list
>>>> 
>>>> * Please search the archive at
>>>> http://www.gromacs.org/Support/Mailing_Lists/GMX-Users_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-users or
>>>> send a mail to gmx-users-request at gromacs.org.
>>> --
>>> Gromacs Users mailing list
>>> 
>>> * Please search the archive at
>> http://www.gromacs.org/Support/Mailing_Lists/GMX-Users_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-users or
>> send a mail to gmx-users-request at gromacs.org.
>> --
>> Gromacs Users mailing list
>> 
>> * Please search the archive at
>> http://www.gromacs.org/Support/Mailing_Lists/GMX-Users_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-users or
>> send a mail to gmx-users-request at gromacs.org.
> -- 
> Gromacs Users mailing list
> 
> * Please search the archive at http://www.gromacs.org/Support/Mailing_Lists/GMX-Users_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-users or send a mail to gmx-users-request at gromacs.org.


More information about the gromacs.org_gmx-users mailing list