How to give initial velcoity in MD calculation
Moderators: Global Moderator, Moderator
-
- Newbie
- Posts: 38
- Joined: Sun Nov 17, 2019 3:21 am
How to give initial velcoity in MD calculation
Dear Experts,
I have query regarding the intial velocity provided in MD calculation.
I want to ask you how to give the initial velocity of one particular atom normal to the surface.
Please suggest.
I have query regarding the intial velocity provided in MD calculation.
I want to ask you how to give the initial velocity of one particular atom normal to the surface.
Please suggest.
-
- Global Moderator
- Posts: 542
- Joined: Fri Nov 08, 2019 7:18 am
Re: How to give initial velcoity in MD calculation
Please check out the documentation of the POSCAR file. You can define initial velocities after the positions. If you just want to add velocity to a single atom it may be more convenient to start from the CONTCAR file (which contains already the velocities) and modify the atom of interest.
Martin Schlipf
VASP developer
-
- Newbie
- Posts: 38
- Joined: Sun Nov 17, 2019 3:21 am
Re: How to give initial velcoity in MD calculation
Dear Expert,
I am familiar with the thing that we can give the velocity in CONTCAR or POSCAR after the atomic positions. My main query is if let's say, I have 16 atoms in the CONTACT file (2d sheet). I want to give one atom some initial velocity perpendicular to the sheet; how can I determine that value of velocity.
I am familiar with the thing that we can give the velocity in CONTCAR or POSCAR after the atomic positions. My main query is if let's say, I have 16 atoms in the CONTACT file (2d sheet). I want to give one atom some initial velocity perpendicular to the sheet; how can I determine that value of velocity.
-
- Global Moderator
- Posts: 542
- Joined: Fri Nov 08, 2019 7:18 am
Re: How to give initial velcoity in MD calculation
I'm not sure I understand the question exactly: The value of the velocity is something that depends on the particular problem you want to investigate. If you want to know the units you need to put in the file it is Å/fs.
Martin Schlipf
VASP developer
-
- Newbie
- Posts: 38
- Joined: Sun Nov 17, 2019 3:21 am
Re: How to give initial velcoity in MD calculation
Dear Experts,
I want to calculate the displacement threshold energy of one atom. As per my understanding, we need to define some initial velocity for that atom in the MD run. What value of velocity one can assign that I am not getting?
For clarity, please see Fig.2 of the attached reference.
https://journals.aps.org/prl/pdf/10.110 ... 109.035503
I want to calculate the displacement threshold energy of one atom. As per my understanding, we need to define some initial velocity for that atom in the MD run. What value of velocity one can assign that I am not getting?
For clarity, please see Fig.2 of the attached reference.
https://journals.aps.org/prl/pdf/10.110 ... 109.035503
-
- Global Moderator
- Posts: 542
- Joined: Fri Nov 08, 2019 7:18 am
Re: How to give initial velcoity in MD calculation
Okay there are two parts to this. First, you need to determine a reasonable velocity to determine the displacement threshold energy. This is not really VASP related but depends on the particular system of interest. We cannot offer advice what reasonable speeds are; please consult some relevant literature on this research. But as an example, let's say, this reasonable speed would be 5000m/s in the z direction.
The second part is to run a VASP calculation with this initial velocity. To do this, convert the speed into the VASP units, i.e. 0.05 Å/fs. Now create a POSCAR file, where after the list of atomic positions you add a line 0.0 0.0 0.05 for the atom for which you want to set the initial velocity. You can set the velocity for all other atoms to 0 or start from a CONTCAR file, where they have a nonzero velocity. Be careful about the coordinate system (see the documentation of POSCAR) and make sure the velocities are in Cartesian units. Your result should not really depend on the velocity of the other atoms, otherwise you will need to run a lot of calculations to get the statistics correct. Also be aware that you may need smaller POTIM values, depending on how this velocity compares to the typical speeds in this system.
Finally, if you have a recent version of VASP, you may want to run this using machine-learned force-fields. However, be careful when you do so, because when you put in the large velocity the system may explore part of the phase space that it did not see if you do not include this velocity in the learning process. Therefore, proceed in the following fashion: Learn the raw material first without setting the initial velocity. After you have a good enough force-field continue learning ML_ISTART=1 during a simulation with the large velocity applied. Once you did a few of these runs, you can then converge with respect to the system size using the force field.
The second part is to run a VASP calculation with this initial velocity. To do this, convert the speed into the VASP units, i.e. 0.05 Å/fs. Now create a POSCAR file, where after the list of atomic positions you add a line 0.0 0.0 0.05 for the atom for which you want to set the initial velocity. You can set the velocity for all other atoms to 0 or start from a CONTCAR file, where they have a nonzero velocity. Be careful about the coordinate system (see the documentation of POSCAR) and make sure the velocities are in Cartesian units. Your result should not really depend on the velocity of the other atoms, otherwise you will need to run a lot of calculations to get the statistics correct. Also be aware that you may need smaller POTIM values, depending on how this velocity compares to the typical speeds in this system.
Finally, if you have a recent version of VASP, you may want to run this using machine-learned force-fields. However, be careful when you do so, because when you put in the large velocity the system may explore part of the phase space that it did not see if you do not include this velocity in the learning process. Therefore, proceed in the following fashion: Learn the raw material first without setting the initial velocity. After you have a good enough force-field continue learning ML_ISTART=1 during a simulation with the large velocity applied. Once you did a few of these runs, you can then converge with respect to the system size using the force field.
Martin Schlipf
VASP developer
-
- Newbie
- Posts: 38
- Joined: Sun Nov 17, 2019 3:21 am
Re: How to give initial velcoity in MD calculation
Dear Expert,
I'll see some more literature to take some reasonable value of velocity. I have VASP 5.4 version. Thank you so much for your suggestions.
I'll see some more literature to take some reasonable value of velocity. I have VASP 5.4 version. Thank you so much for your suggestions.