How to perform Selective dynamics to Cartesian coordinates
Posted: 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
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