Page 1 of 1

[size=16]T/F Flags in Constrained Optimization: doubts[/size]

Posted: Mon Jun 16, 2008 5:18 pm
by gpkmohan
Dear List,

I am a newbie in VASP calculations, studying the chemisorption of CH4 on Ni(111) , where I used a 3 layer Nickel slab, 12 A vaccum, 2x2 unitcell, (8 8 1) auto. k points, PBE functional, etc. (please see POSCAR/INCAR) and conjugate-gradient algorithm for the minimization.


PROBLEM:
I found a problem with my constrained geometry optimization at PAW-DFT:

I used flags “F� OR “T� in the POSCAR file, to make the constraints on the x, y, z positions during the optimization; But it seems to be working properly ONLY to some atoms. In this case – all the nickel atoms are freezed, (as per the< F F F >, flags) and some other coordinates- for ex. Cz [< F > flag – which remains at 3.5 A, in all optimization steps], But all other coordinates of the CH4, which is attached by < F > flag is moving!

I changed several parameters EXCEPT ibrion, which I kept to < 2 > always, shows the same tendency – it relaxes the coordinate with < F > flag !!.

Does anyone have some idea about this behavior? Did someone experience with this?
Or if possible, How can I do a constrained optimization in a safe way in VASP ?

DETAILS OF THE FILES:

INCAR:
--------------------------------------------------------------

SYSTEM = NI-CH4
ISTART = 0
ISIF=2
IBRION=2
EDIFF = 1E-3
EDIFFG = -1E-2
POTIM = 0.01
NSW=40
GGA=91
VOSKOWN=1
ISPIN=1
LREAL=A
PREC= Accurate
Electronic minimisation
ENCUT =400 eV
DOS related values
ISMEAR = -5;

POSCAR
--------------------------------------------------------------
Ni-CH4
1.0000
4.36130393 -2.518 0.0
4.36130393 2.518 0.0
0.0 0.0 16.0540126
12 1 4
Selective dynamics
Cartesian
.00000000 .00000000 -.02858610 F F F
2.18065197 1.25900000 -.02858610 F F F
2.18065197 -1.25900000 -.02858610 F F F
4.36130393 .00000000 -.02858610 F F F
1.45376813 .0000000 -2.05580070 F F F
3.63442009 1.2590000 -2.05580070 F F F
3.63442009 -1.2590000 -2.05580070 F F F
5.81507206 .0000000 -2.05580070 F F F
2.90753593 .00000000 -4.08264189 F F F
5.08818789 1.25900000 -4.08264189 F F F
5.08818789 -1.25900000 -4.08264189 F F F
7.26883986 .00000000 -4.08264189 F F F
-.00134965 .00000000 3.50000000 T F F
.51772049 .89768008 3.86520453 T T T
.51772049 -.89768008 3.86520453 T T T
-1.03852359 .00000000 3.86458322 T F T
-.00021200 .00000000 2.39768919 T F T

And CONTCAR, after optimizing:
--------------------------------------------------------------

…
12 1 4
Selective dynamics
Direct
0.0000000000000000 0.0000000000000000 0.9982193797455992 F F F
0.0000000005732232 0.5000000005732232 0.9982193797455992 F F F
0.5000000005732232 0.0000000005732232 0.9982193797455992 F F F
0.5000000000000000 0.5000000000000000 0.9982193797455992 F F F
0.1666666842455058 0.1666666842455058 0.8719447435839172 F F F
0.1666666836722825 0.6666666836722825 0.8719447435839172 F F F
0.6666666836722825 0.1666666836722825 0.8719447435839172 F F F
0.6666666842455058 0.6666666842455058 0.8719447435839172 F F F
0.3333333306582915 0.3333333306582915 0.7456933670277550 F F F
0.3333333300850683 0.8333333300850683 0.7456933670277550 F F F
0.8333333300850683 0.3333333300850683 0.7456933670277550 F F F
0.8333333306582915 0.8333333306582915 0.7456933670277550 F F F
-0.0001041249026444 0.9998452698984437 0.2180140309594591 T F F
0.8809668931150955 0.2372702363703456 0.2403813670624553 T T T
0.2373494594146753 0.8811139022113522 0.2403553853450800 T T T
0.8813215482685608 0.8809388652260211 0.2402658310105120 T F T
0.9999317248378382 0.9999756953421013 0.1493458263930275 T F T
…

So I guessed that, VASP catches the flags CORRECTLY but somehow the corresponding coordinates with < F > are changing !

The above geometry in the Cartesian coordinates which I took from the last “POSITION� data from the OUTCAR file is


(final) POSITION
-----------------------------------------------------
0.00000 0.00000 16.02543
2.18065 1.25900 16.02543
2.18065 -1.25900 16.02543
4.36130 0.00000 16.02543
1.45377 0.00000 13.99821
3.63442 1.25900 13.99821
3.63442 -1.25900 13.99821
5.81507 0.00000 13.99821
2.90754 0.00000 11.97137
5.08819 1.25900 11.97137
5.08819 -1.25900 11.97137
7.26884 0.00000 11.97137
4.36017 2.51787 3.50000
4.87697 -1.62083 3.85909
4.87796 1.62100 3.85867
7.68575 -0.00096 3.85723
8.72220 0.00011 2.39760
-------------------------------------------------------

which indicates the movements/displacements of the F-flagged coordinates [ie numbers 2.51787(Cy), -0.00096(H3y) ,0.00011(h4y) , which should be always 0.00000 ]



With best regards and thanks in advance,

Krishna Mohan G.P.
THEOR
Universiteit Leiden.

[size=16]T/F Flags in Constrained Optimization: doubts[/size]

Posted: Mon Jun 16, 2008 7:43 pm
by Danny
check the initial positions in the outcar ;-)
I'm affraid this might just be due to VASP's strange use and mixing of coordinate systems.
Cartesian coordinates are only scaled, BUT not related to the basisvectors you give.
If you would use for example the 110 and 1-10 directions as basisvectors and then define a coordinate in cartesian as 100, then this is not along one of these 2 basisvectors but along the diagonal.
Check the vasp manual with regard to the POSCAR file for more information...Now an interesting question appears: Do the T and F act with regard to the Direct coordinate system, or to the system you give(direct or cartesian) if the later is the case, this means there is a bugg in VASP since cartesian coordinates are always transferred to direct after a run, so continuations wil fix a different direction then was first intended. Maybe the administrator could shed some light on this?

Danny

[size=16]T/F Flags in Constrained Optimization: doubts[/size]

Posted: Mon Jun 16, 2008 8:50 pm
by gpkmohan
Hi Danny thnx for the comments

from OUTCAR : after the Iteration 1

POSITION TOTAL-FORCE (eV/Angst)
-----------------------------------------------------------------------------------
0.00000 0.00000 16.02543 -0.000795 -0.000286 -0.176868
2.18065 1.25900 16.02543 -0.002545 0.004183 -0.236229
2.18065 -1.25900 16.02543 -0.001071 -0.002800 -0.240798
4.36130 0.00000 16.02543 0.003837 -0.000416 -0.244620
1.45377 0.00000 13.99821 0.004905 0.000527 -0.002146
3.63442 1.25900 13.99821 -0.002579 -0.004757 -0.002304
3.63442 -1.25900 13.99821 -0.001908 0.004657 -0.002083
5.81507 0.00000 13.99821 -0.000402 -0.000357 0.005440
2.90754 0.00000 11.97137 0.000742 0.000353 0.200433
5.08819 1.25900 11.97137 0.000103 0.000220 0.208404
5.08819 -1.25900 11.97137 -0.001302 -0.001647 0.210770
7.26884 0.00000 11.97137 0.000947 0.000400 0.214594
8.72126 0.00000 3.50000 0.007903 -0.000040 0.241800
4.87902 -1.62032 3.86520 -0.050096 -0.077086 -0.059983
4.87902 1.62032 3.86520 -0.050096 0.077063 -0.059980
7.68408 0.00000 3.86458 0.094673 -0.000007 -0.060634
8.72240 0.00000 2.39769 -0.002318 -0.000007 0.004206
-----------------------------------------------------------------------------------
total drift: 0.000171 0.000160 -0.001382


means it really CATCH the flags at the beginning. ISNT ?

but still I wonder [REALLY WONDER] why the flags are catched well by all the Nickel atoms[especially in Y coordinates with 5 digits precision] as we can see from in OUTCAR /CONTCAR

intersetingly When I used IBRION=1 , it shows the same results !!!!!!!!


:(

k

[size=16]T/F Flags in Constrained Optimization: doubts[/size]

Posted: Tue Jun 17, 2008 11:26 am
by forsdan
The 'Selective dynamics' tag doesn't lock carteesian coordinates, but locks the relative coordinates of the lattice vectors. If you lock the coordinate for the second lattice vector as you do for the C, H3 and H4 they will still be allowed to move along the first lattice vector.

If you take the difference between the final coordinates and the initial coordinates (carteesian representation), the coordinate change in the plane spaned by the two first basis vectors should be a vector along the direction of the first lattice vector. This appears to be the case for C, H3 and H4. Thus everything appears to be working in a correct manner.

Best regards,
/Dan Fors


<span class='smallblacktext'>[ Edited Tue Jun 17 2008, 01:33PM ]</span>

[size=16]T/F Flags in Constrained Optimization: doubts[/size]

Posted: Thu Jun 19, 2008 3:47 pm
by admin
a small further hint (to confirm fosdan's reply): please compare the read positions, converted to direct coordinates (
position of ions in fractional coordinates (direct lattice)
in OUTCAR)
to the relaxed output coordinates in CONTCAR. You will find that the fixed coordinates have not been changed