Page 1 of 1

[SOLVED] x-y plane relaxation DESPITE iatfixx iatfixy setti

Posted: Tue Apr 20, 2010 10:14 pm
by WoodDM
Greetings all!

I'm doing some Au slab calculations with AB 6.0.3 and am trying to relax interlayer spacings (along z) below an adsorbed molecule. With 11 atoms per primitive cell (6 in the molecule), I'm TRYING to freeze all coordinates of atoms 1 and 2 and the x- and y-coordinates of atoms 3, 4, and 5. Alas, despite the input below

ionmov 7
dtion 200
ntime 300
natfix 2 #Freeze Au1, Au2
iatfix 1 2 # Keep first 2 Au fixed as baseline
iatfixz 1 2 #This should be harmless
iatfixx 1 2 3 4 5 #Allow Au to relax only along z
iatfixy 1 2 3 4 5 #Allow Au to relax only along z

that relaxation IS occurring for atoms 3-4-5 along the x and y directions, contrary to my wishes and expectations. Also, to my surprise, the .log and .out files contain natfix 2 and iatfix 1 2 but no iatfixx or iatfixy settings

The input variable docs for version 6.0 say: "WARNING : The implementation is inconsistent !! For ionmov==1, the fixing of directions was done in cartesian coordinates, while for the other values of ionmov, it was done in reduced coordinates"

Although my atom coordinate are input in CARTESIAN coords (via xcart), for ease of processing, my primitive translation vectors are

acell 2*5.45608005784657 40.0 # Expt a,c
angdeg 90 90 120 #angs between ptv 2-3, 1-3, 1-2; NO rprim must be used

I would have THOUGHT that 'switching off' relaxation in the x-y plane would have been equivalent to 'switching off' relaxation in the plane spanned by the two primitive translation vectors perpendicular to the c axis.

Should the warning instead read "For ionmov.neq.1, iatfixx, iatfixy, iatfixz are the indices of atoms fixed along the first, second, and third primitive
translation vectors, and input atom coordinates should be specified in reduced coordinates" ??

To fix my problem, should I go back to expressing all input atomic positions in reduced coordinates?

Thanks!--DMW

Re: x-y plane relaxation DESPITE iatfixx iatfixy settings

Posted: Wed Apr 21, 2010 4:20 pm
by mverstra
you haven't set natfixx and natfixy, so abinit does not care about the iatfix* stuff. http://www.abinit.org/documentation/helpfiles/for-v6.0/input_variables/varrlx.html#natfixx

Matthieu