[Pw_forum] atomic positions by space_group (subroutine ccord in wyckoff.f90 )
quantum
quantum at mail.ncyu.edu.tw
Thu Dec 15 04:38:00 CET 2016
Dear QE Friends:
I did a PW (version 5.3.0) simulation using space_group to specify the
atomic positions. A part of the input file is listed below.
========= QE input file =========
&system
space_group = 15
uniqueb = .true.
origin_choice = 1
nat = 7
.....
ATOMIC_POSITIONS crystal_sg
Ca 0.00000 0.17050 0.25000
S 0.00000 0.32727 0.75000
O 0.08319 0.27218 0.59103
O 0.19997 0.38195 0.91298
O -0.20823 0.06826 -0.07831
H -0.25800 0.08700 -0.23400
H -0.24400 0.02000 -0.07700
===================================
As suggested by the PW output file, the 7 inequivalent atoms are expanded
into 24 atoms listed below. (I have manually labeled the 7 inequivalent
atoms with a star for clarity.)
========= QE output file ======================================================
Crystallographic axes
site n. atom positions (cryst. coord.)
1* Ca tau( 1) = ( 0.8295000 0.1705000 0.2500000 )
2 Ca tau( 2) = ( 0.1705000 0.8295000 0.7500000 )
3* S tau( 3) = ( 0.6727300 0.3272700 0.7500000 )
4 S tau( 4) = ( 0.3272700 0.6727300 0.2500000 )
5* O tau( 5) = ( 0.8110100 0.3553700 0.5910300 )
6 O tau( 6) = ( 0.6446300 0.1889900 0.9089700 )
7 O tau( 7) = ( 0.1889900 0.6446300 0.4089700 )
8 O tau( 8) = ( 0.3553700 0.8110100 0.0910300 )
9* O tau( 9) = ( 0.8180200 0.5819200 0.9129800 )
10 O tau( 10) = ( 0.4180800 0.1819800 0.5870200 )
11 O tau( 11) = ( 0.1819800 0.4180800 0.0870200 )
12 O tau( 12) = ( 0.5819200 0.8180200 0.4129800 )
13* O tau( 13) = ( 0.7235100 0.8600300 0.9216900 )
14 O tau( 14) = ( 0.1399700 0.2764900 0.5783100 )
15 O tau( 15) = ( 0.2764900 0.1399700 0.0783100 )
16 O tau( 16) = ( 0.8600300 0.7235100 0.4216900 )
17* H tau( 17) = ( 0.6550000 0.8290000 0.7660000 )
18 H tau( 18) = ( 0.1710000 0.3450000 0.7340000 )
19 H tau( 19) = ( 0.3450000 0.1710000 0.2340000 )
20 H tau( 20) = ( 0.8290000 0.6550000 0.2660000 )
21* H tau( 21) = ( 0.7360000 0.7760000 0.9230000 )
22 H tau( 22) = ( 0.2240000 0.2640000 0.5770000 )
23 H tau( 23) = ( 0.2640000 0.2240000 0.0770000 )
24 H tau( 24) = ( 0.7760000 0.7360000 0.4230000 )
================================================================================
It is found that the coordinates of the 7 inequivalent atoms in the input
and output file are different. I traced the EQ source code, and found that
this part of calculation is mainly performed by the following lines of codes
================================================================================
espresso-5.3.0/PW/src/wyckoff.f90:
!make symmetries, convert coordinates, esclusion
DO i=1,not_eq
CALL find_equivalent_tau(space_group_number, inco, outco,i,unique)
END DO
call ccord(outco,sym_n,not_eq,ibrav,unique)
do i=1,not_eq
call zerone(outco,sym_n,not_eq,i)
end do
call esclusion(outco,sym_n,msym_n,not_eq)
================================================================================
For the simulation I am running, I have ibrav=-13, and the code does the
following conversion on the x- and y-coordinates of atoms using the
SUBROUTINE ccord in wyckoff.f90.
================================================================================
espresso-5.3.0/PW/src/wyckoff.f90:
SUBROUTINE ccord(outco,sym_n,not_eq,ibrav,unique)
CASE (-13) !Centrato B unique MONOCLINO
DO k=1,not_eq
DO i=1,sym_n
tmpx=outco(1,i,k)
tmpy=outco(2,i,k)
outco(1,i,k)=tmpx-tmpy
outco(2,i,k)=tmpy+tmpx
END DO
END DO
================================================================================
In espresso-5.3.0/PW/src/wyckoff.f90, the inequivalent atoms are expanded by four
steps: (1) find_equivalent_tau, (2) ccord, (3) zerone, and (4) esclusion.
I can understand the reasons of using steps (1), (3) and (4), but not step (2).
Can some one please kindly explain the functions of SUBROUTINE ccord?
Sincerely,
Tsung-Lung Li
Tsung-Lung Li, Ph. D.
Professor
Department of Applied Physics
National Chia-Yi University
300 Hsueh-Fu Road, Chiayi 60004, Taiwan
Phone: 886-5-2717904. FAX: 886-5-2717909.
E-mail:quantum at mail.ncyu.edu.tw
URL:http://web.ncyu.edu.tw/~quantum
More information about the users
mailing list