[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