Hi abiniters,
I have the following problem, that should be easy to solve but I don't have inspiration right now. The problem is the folowing, I want run abinit in a supercell, lets say one 3x2x2, for example; in the original unit cell (cubic), I have an atomic position like e.g. 0 0.5 0.5; of course traslating one time in x direction, that position would give 1. 0.5 0.5
and the next time 2. 0.5 0.5; of course at the same time I have modified the rprim to be 3. 0 0 / 0 2 0 / 0 0 2 but anyway abiniti gives the following error message:
" chkinp: ERROR -
Atoms number 1 and 2 are located at the same point of the unit cell
(periodic images are taken into account)."
What I should do? Should I change the position 1. 0. 0. to be 1/3 0. 0. and all the positions the same way? or there is a way to abinit accepts these coordinates?
Avoiding "same point in unit cell" error in supercells
Moderator: bguster
-
- Posts: 28
- Joined: Mon Mar 29, 2010 4:13 pm
Avoiding "same point in unit cell" error in supercells
Dr. Sergio Ferrari
Scientific Researcher (category Assistant) - CONICET (National Council of Research in Science and Technology)
IFLP (Physics Institute of La Plata)
Universidad Nacional de La Plata
La Plata, Argentina
Scientific Researcher (category Assistant) - CONICET (National Council of Research in Science and Technology)
IFLP (Physics Institute of La Plata)
Universidad Nacional de La Plata
La Plata, Argentina
-
- Posts: 138
- Joined: Sat Aug 15, 2009 12:45 am
Re: Avoiding "same point in unit cell" error in supercells
Hello,
The xred variable defines the reduced coordinates which of course identifies position 0.0 0.0 0.0 with position 1.0 0.0 0.0, or position 2.0 0.0 0.0 or position 0.0 1.0 0.0 or .... So what abinit tells you is that the two atoms you are defining are at the same place (which is true). If you want to use a supercell, change your reduced coordinates : if your supercell is a 3x2x2=Nx x Ny x Nz, your position 0.0 0.5 0.5 becomes replicated 12 times :
0.0 0.25 0.25 = x1 y1 z1 = (0.0/Nx) (0.5/Ny) (0.5/Nz) = 0.0/3 0.5/2 0.5/2
1/3 0.25 0.25 = (x1+1/3) y1 z1
2/3 0.25 0.25 = (x1+2/3) y1 z1
0.0 0.75 0.25 = x1 (y1+1/2) z1
1/3 0.75 0.25 = (x1+1/3) (y1+1/2) z1
2/3 0.75 0.25 = (x1+2/3) (y1+1/2) z1
0.0 0.25 0.75 = x1 y1 (z1+1/2)
1/3 0.25 0.75 = (x1+1/3) y1 (z1+1/2)
2/3 0.25 0.75 = (x1+2/3) y1 (z1+1/2)
0.0 0.75 0.75 = x1 (y1+1/2) (z1+1/2)
1/3 0.75 0.75 = (x1+1/3) (y1+1/2) (z1+1/2)
2/3 0.75 0.75 = (x1+2/3) (y1+1/2) (z1+1/2)
I think you can guess how it works..
David
The xred variable defines the reduced coordinates which of course identifies position 0.0 0.0 0.0 with position 1.0 0.0 0.0, or position 2.0 0.0 0.0 or position 0.0 1.0 0.0 or .... So what abinit tells you is that the two atoms you are defining are at the same place (which is true). If you want to use a supercell, change your reduced coordinates : if your supercell is a 3x2x2=Nx x Ny x Nz, your position 0.0 0.5 0.5 becomes replicated 12 times :
0.0 0.25 0.25 = x1 y1 z1 = (0.0/Nx) (0.5/Ny) (0.5/Nz) = 0.0/3 0.5/2 0.5/2
1/3 0.25 0.25 = (x1+1/3) y1 z1
2/3 0.25 0.25 = (x1+2/3) y1 z1
0.0 0.75 0.25 = x1 (y1+1/2) z1
1/3 0.75 0.25 = (x1+1/3) (y1+1/2) z1
2/3 0.75 0.25 = (x1+2/3) (y1+1/2) z1
0.0 0.25 0.75 = x1 y1 (z1+1/2)
1/3 0.25 0.75 = (x1+1/3) y1 (z1+1/2)
2/3 0.25 0.75 = (x1+2/3) y1 (z1+1/2)
0.0 0.75 0.75 = x1 (y1+1/2) (z1+1/2)
1/3 0.75 0.75 = (x1+1/3) (y1+1/2) (z1+1/2)
2/3 0.75 0.75 = (x1+2/3) (y1+1/2) (z1+1/2)
I think you can guess how it works..
David
Re: Avoiding "same point in unit cell" error in supercells
Dear David
I'm learning how to make supercells in abinit. I have studied the test input file \V1\t40.in which concerns the building of a 63-atom cell: C-diamond with one vacancy. Part of the input file is as follows:
------------------------------------------------------
acell 3*13.6
rprim 1 0 0
0 1 0
0 0 1
xred 0.000 0.000 0.000
0.125 0.125 0.125
0.250 0.250 0.000
0.250 0.000 0.250
0.000 0.250 0.250
0.375 0.375 0.125
0.375 0.125 0.375
0.125 0.375 0.375
natrd 8 # Eight coordinates to be read
nobj 1 # Just one object
objan 8 # Eight atoms in this object
objaat 1 2 3 4 5 6 7 8 # Here are the ID numbers of the atoms of the object
objarf 2 2 2 # Repeated 8 times
objatr 0.0 0.0 0.0 #No initial translation
6.8 0.0 0.0 #Translation of the first repetition factor
0.0 6.8 0.0 #Translation of the second repetition factor
0.0 0.0 6.8 #Translation of the third repetition factor
vacnum 1 #One atom will be subtracted
vaclst 1 #The atom to be subtracted is number 1.
-----------------------------------------------------------------------------------------------
It seems to me that this is firstly the building of a 2x2x2 supercell of a conventional cubic unit cell of diamond, and then remove away one C atom. I would like to ask if we can use this as a guide to automatically constructuct supercells in general? Would it be equivalent to the raplicating procedure of atomic positions you describe in your previous post.
Kind regards,
Thanusit
I'm learning how to make supercells in abinit. I have studied the test input file \V1\t40.in which concerns the building of a 63-atom cell: C-diamond with one vacancy. Part of the input file is as follows:
------------------------------------------------------
acell 3*13.6
rprim 1 0 0
0 1 0
0 0 1
xred 0.000 0.000 0.000
0.125 0.125 0.125
0.250 0.250 0.000
0.250 0.000 0.250
0.000 0.250 0.250
0.375 0.375 0.125
0.375 0.125 0.375
0.125 0.375 0.375
natrd 8 # Eight coordinates to be read
nobj 1 # Just one object
objan 8 # Eight atoms in this object
objaat 1 2 3 4 5 6 7 8 # Here are the ID numbers of the atoms of the object
objarf 2 2 2 # Repeated 8 times
objatr 0.0 0.0 0.0 #No initial translation
6.8 0.0 0.0 #Translation of the first repetition factor
0.0 6.8 0.0 #Translation of the second repetition factor
0.0 0.0 6.8 #Translation of the third repetition factor
vacnum 1 #One atom will be subtracted
vaclst 1 #The atom to be subtracted is number 1.
-----------------------------------------------------------------------------------------------
It seems to me that this is firstly the building of a 2x2x2 supercell of a conventional cubic unit cell of diamond, and then remove away one C atom. I would like to ask if we can use this as a guide to automatically constructuct supercells in general? Would it be equivalent to the raplicating procedure of atomic positions you describe in your previous post.
Kind regards,
Thanusit
-
- Posts: 138
- Joined: Sat Aug 15, 2009 12:45 am
Re: Avoiding "same point in unit cell" error in supercells
Hello,
I've never used these variables to construct supercells but I think it is meant to this. You can easily check this by doing it manually and comparing if the automatic generation gives the same atomic positions and unit cell.
David
I've never used these variables to construct supercells but I think it is meant to this. You can easily check this by doing it manually and comparing if the automatic generation gives the same atomic positions and unit cell.
David