How to perform Selective dynamics to Cartesian coordinates

Queries about input and output files, running specific calculations, etc.


Moderators: Global Moderator, Moderator

Post Reply
Message
Author
byin
Newbie
Newbie
Posts: 11
Joined: Fri Jan 15, 2016 6:30 pm

How to perform Selective dynamics to Cartesian coordinates

#1 Post by byin » Tue Jan 19, 2016 11:48 pm

Hello,

For a given Cartesian coordinate system x-y-z, we can always rotate the simulation box to have the following POSCAR

System_name
1.0
a1 0.0 0.0 # a is along x-axis
b1 b2 0.0 # b is in the x-y plane
c1 c2 c3
100
Selective dynamics
D
0.0 0.0 0.0 F F F # exclude the drift
0.2 0.2 0.2 F F T
0.3 0.3 0.3 F F T
0.4 0.4 0.4 F F T


According to this file, all the atoms will be relaxed ONLY along the c-lattice.

As indicated by the vasp manual, “The flags refer to the positions of the ions in direct coordinates, no matter whether the positions are entered in cartesian or direct coordinates.” In other word, in the standard version of vasp, only the relaxation of Direct coordinates can be switched on and off.

However, my current problem need to relax all the atoms along the direction normal to the a-b plane (the same as x-y plane), i.e., z-axis, instead of c-lattice. That is the selective dynamics of Cartesian coordinates, instead of the Direct coordinates. Can you give any suggestions on how to do it?

Actually, my question can be rephrased as the following. How can we relax all the atoms along a certain vector other than the lattice a, b, or c. For example, how to relax all the atoms ONLY along a vector=a+b+c?

If some modification to the source code is inevitable, could you please give me some suggestions?

Best,
Binglun

Neutrino

Re: How to perform Selective dynamics to Cartesian coordinat

#2 Post by Neutrino » Wed Jan 20, 2016 6:43 pm

Hi Binglun,

I could not understand the first part of your question but regarding:
Actually, my question can be rephrased as the following. How can we relax all the atoms along a certain vector other than the lattice a, b, or c. For example, how to relax all the atoms ONLY along a vector=a+b+c?
simply rotate your POSCAR such that the vector a+b+c is parallel to the z-axis and then use F F T for all ion coordinates. For example, If you have BCC supercell of Fe, you could rotate the supercell such that the [111] vector is parallel to z-axis. A software that can prepare surfaces (such as gdis) can help in doing this rotation.


Mostafa

admin
Administrator
Administrator
Posts: 2921
Joined: Tue Aug 03, 2004 8:18 am
License Nr.: 458

Re: How to perform Selective dynamics to Cartesian coordinat

#3 Post by admin » Thu Jan 21, 2016 1:42 pm

For advanced manipulation with coordinates a special software (gadget) was developed.
Contact Tomas Bucko (tomas.bucko@univie.ac.at) to get more info.

byin
Newbie
Newbie
Posts: 11
Joined: Fri Jan 15, 2016 6:30 pm

Re: How to perform Selective dynamics to Cartesian coordinat

#4 Post by byin » Thu Jan 21, 2016 3:49 pm

Hi Mostafa,

Thank you for your interest. It may be a bit messy in the first part, sorry. But let's focus on the rephrased question.
Neutrino wrote: simply rotate your POSCAR such that the vector a+b+c is parallel to the z-axis and then use F F T for all ion coordinates. For example, If you have BCC supercell of Fe, you could rotate the supercell such that the [111] vector is parallel to z-axis. A software that can prepare surfaces (such as gdis) can help in doing this rotation.
No matter how you rotate the box, when you use F F T in the POSCAR, all atoms will be relaxed along lattice-c, instead of the vector that I want (a+b+c). In other word, standard vasp ONLY perform selective dynamics to Direct coordinates.
http://cms.mpi.univie.ac.at/vasp/vasp/POSCAR_file.html

In my case, I rotate the box, so that I can have a+b+c along the z-axis. In this case, the problem can be solved if I can perform selective dynamics to Cartesian coordinates. That's why I choose this as the post title.

Best,
Binglun

Post Reply