[SOLVED] How to fix specified ions during relaxation

Total energy, geometry optimization, DFT+U, spin....

Moderator: bguster

Locked
vistawanted
Posts: 24
Joined: Sat Sep 17, 2011 6:19 pm

[SOLVED] How to fix specified ions during relaxation

Post by vistawanted » Tue Jan 31, 2012 10:06 am

I tried to calculate the curve, distance vs energy, between hydrogen molecular and boron nitride single layer. Such distance is represented from the underlying-hydrogen ion to BN-layer, I want to set the above hydrogen ion free in z-direction.
Then, I searched the input parameter documents, and found that iatfix/iatfixx/iaxfixy/iatfixz can satisfy my requirement.
Therefore, my input file is:
ndtset 11
natom 20
ntypat 3
znucl 5 7 1
typat 9*1 9*2 2*3
acell 2*xxxxx xxxxx Angstrom
angdeg 90 90 120
xred:
0.2222222288449608 0.1111111144224802 0.5000000000000000 # B
, 1
..........................................
0.7777777810891470 0.8888888955116270 0.5000000000000000 # N, 18
0.5555555621782941 0.4444444477558135 0.5500000000000000 # H, 19
0.5555555621782941 0.4444444477558135 0.6000000000000000 # H, 20
xred+
0.0000000000000000 0.0000000000000000 0.0000000000000000 # B, 1
...........................................
0.0000000000000000 0.0000000000000000 0.0200000000000000 # H, 20
iatfix 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
iatfixx 20
iatfixy 20
iscf 7
ionmov 2
kptopt 1
nshiftk 1
shiftk 0.0 0.0 0.5
ngkpt xx xx 1
ixc xx
ecut xxx
ecutsigx xxx
nstep xxx
ntime xxx
tolvrs xxx

However, when I run this task, I found the position of B and N ions moved as well.
Is the mothod I am using iatfix wrong? If it was wrong, how could I fix the specified ions at certain direction?
Last edited by vistawanted on Sat Feb 04, 2012 5:02 pm, edited 1 time in total.
GAO Zhe, Dr.,
Saint-Gobain Research Shanghai Co., Ltd,
Shanghai, P. R. China
Image

david.waroquiers
Posts: 138
Joined: Sat Aug 15, 2009 12:45 am

Re: How to fix specified ions when ionmove/=0 and optcell=0

Post by david.waroquiers » Tue Jan 31, 2012 3:30 pm

Hello,

You should specify the number of atoms that are fixed in each direction with the corresponding input variables natfix, natfixx, natfixy and natfixz. Otherwise the code considers that natfix variables are 0 (and does not take into account the iatfix variables)

David

vistawanted
Posts: 24
Joined: Sat Sep 17, 2011 6:19 pm

Re: How to fix specified ions when ionmove/=0 and optcell=0

Post by vistawanted » Tue Jan 31, 2012 3:45 pm

david.waroquiers wrote:Hello,

You should specify the number of atoms that are fixed in each direction with the corresponding input variables natfix, natfixx, natfixy and natfixz. Otherwise the code considers that natfix variables are 0 (and does not take into account the iatfix variables)

David


Thank you very much for your kind reply.
May I understand your reply in this way: if I added the variables natfix, natfixx, natfixy and natfixz to my previous input file, then, at least, the ion fix function can run as I wantted? That means, if I need to fix the 20# ion move along z-axes, I can set as natfixx 1, natfixy 1, iatfixx 20, iatfixy 20, doesn't it?
GAO Zhe, Dr.,
Saint-Gobain Research Shanghai Co., Ltd,
Shanghai, P. R. China
Image

david.waroquiers
Posts: 138
Joined: Sat Aug 15, 2009 12:45 am

Re: How to fix specified ions when ionmove/=0 and optcell=0

Post by david.waroquiers » Tue Jan 31, 2012 4:42 pm

Yes,

If you want that the only degree of freedom of your 20th atom is the z axis, then you have to fix its x and y positions using natfixx 1 iatfixx 20 natfixy iatfixy 20

David

vistawanted
Posts: 24
Joined: Sat Sep 17, 2011 6:19 pm

Re: How to fix specified ions when ionmove/=0 and optcell=0

Post by vistawanted » Tue Jan 31, 2012 4:54 pm

david.waroquiers wrote:Yes,

If you want that the only degree of freedom of your 20th atom is the z axis, then you have to fix its x and y positions using natfixx 1 iatfixx 20 natfixy iatfixy 20

David

:D Thank you very much. I think I completely understand it.
GAO Zhe, Dr.,
Saint-Gobain Research Shanghai Co., Ltd,
Shanghai, P. R. China
Image

Locked