TABLE OF CONTENTS
ABINIT/symlist_fcc [ Functions ]
NAME
symlist_fcc
FUNCTION
Determine the space group from the number and type of symmetry operations FCC case
COPYRIGHT
Copyright (C) 2000-2018 ABINIT group (RC) This file is distributed under the terms of the GNU General Public License, see ~abinit/COPYING or http://www.gnu.org/copyleft/gpl.txt . For the initials of contributors, see ~abinit/doc/developers/contributors.txt .
INPUTS
nsym=actual number of symmetries n_axes(31)=array containing the number of all the possible symmetry operations
OUTPUT
spgroup=space group number ; returns 0 if not found
NOTES
The list of symmetry operations is for the conventional cell
TODO
For the time being there are several groups where uncertainties still exist This will be solved in the very next ABINIT version
PARENTS
symspgr
CHILDREN
SOURCE
39 #if defined HAVE_CONFIG_H 40 #include "config.h" 41 #endif 42 43 #include "abi_common.h" 44 45 46 subroutine symlist_fcc(nsym,n_axes,spgroup) 47 48 use defs_basis 49 use m_profiling_abi 50 51 !This section has been created automatically by the script Abilint (TD). 52 !Do not modify the following lines by hand. 53 #undef ABI_FUNC 54 #define ABI_FUNC 'symlist_fcc' 55 !End of the abilint section 56 57 implicit none 58 59 !Arguments ------------------------------------ 60 !scalars 61 integer,intent(in) :: nsym 62 integer,intent(out) :: spgroup 63 !arrays 64 integer,intent(in) :: n_axes(31) 65 66 !Local variables------------------------------- 67 !character(len=500) :: message 68 !arrays 69 integer :: n_axest(31) 70 71 !************************************************************************** 72 73 !DEBUG 74 !write(std_out,*) ' symlist_fcc : enter ' 75 !write(std_out,*) ' nsym = ', nsym 76 !write(std_out,'(a,10i3)' ) ' n_axes(1:10) =',n_axes(1:10) 77 !write(std_out,'(a,10i3)' ) ' n_axes(11:20)=',n_axes(11:20) 78 !write(std_out,'(a,11i3)' ) ' n_axes(21:31)=',n_axes(21:31) 79 !ENDDEBUG 80 81 spgroup=0 82 83 select case(nsym) 84 85 case(16) 86 87 n_axest=(/0,0,0,0,0,0,3,1,6,0, 0,0,0,0,0,0,0,0,0,6, 0,0,0,0,0,0,0,0,0,0,0/) 88 if(sum((n_axes-n_axest)**2)==0) spgroup=22 89 n_axest=(/0,0,0,0,0,0,3,1,2,0, 0,0,0,0,2,4,0,2,0,2, 0,0,0,0,0,0,0,0,0,0,0/) 90 if(sum((n_axes-n_axest)**2)==0) spgroup=42 91 n_axest=(/0,0,0,0,0,0,3,1,2,0, 0,0,0,0,0,0,8,0,0,2, 0,0,0,0,0,0,0,0,0,0,0/) 92 if(sum((n_axes-n_axest)**2)==0) spgroup=43 93 94 95 case(32) 96 97 n_axest=(/0,0,0,0,4,0,3,1,6,0, 0,0,0,0,3,6,0,3,0,6, 0,0,0,0,0,0,0,0,0,0,0/) 98 if(sum((n_axes-n_axest)**2)==0) spgroup=69 99 n_axest=(/0,0,0,0,4,0,3,1,6,0, 0,0,0,0,0,0,12,0,0,6, 0,0,0,0,0,0,0,0,0,0,0/) 100 if(sum((n_axes-n_axest)**2)==0) spgroup=70 101 102 case(48) 103 104 n_axest=(/0,0,0,0,0,0,3,1,6,32, 0,0,0,0,0,0,0,0,0,6, 0,0,0,0,0,0,0,0,0,0,0/) 105 if(sum((n_axes-n_axest)**2)==0) spgroup=196 106 107 case(96) 108 109 n_axest=(/0,0,32,0,4,0,3,1,6,32, 0,0,0,0,3,0,0,9,0,6, 0,0,0,0,0,0,0,0,0,0,0/) 110 if(sum((n_axes-n_axest)**2)==0) spgroup=202 111 n_axest=(/0,0,32,0,4,0,3,1,6,32, 0,0,0,0,0,0,12,0,0,6, 0,0,0,0,0,0,0,0,0,0,0/) 112 if(sum((n_axes-n_axest)**2)==0) spgroup=203 113 n_axest=(/0,0,0,0,0,0,3,1,18,32, 0,12,0,0,0,0,0,0,0,18, 0,0,0,0,12,0,0,0,0,0,0/) 114 if(sum((n_axes-n_axest)**2)==0) spgroup=209 115 n_axest=(/0,0,0,0,0,0,3,1,18,32, 0,0,0,0,0,0,0,0,0,18, 0,0,0,24,0,0,0,0,0,0,0/) 116 if(sum((n_axes-n_axest)**2)==0) spgroup=210 117 n_axest=(/0,24,0,0,0,0,3,1,6,32, 0,0,0,0,24,0,0,0,0,6, 0,0,0,0,0,0,0,0,0,0,0/) 118 if(sum((n_axes-n_axest)**2)==0) spgroup=216 119 n_axest=(/0,24,0,0,0,0,3,1,6,32, 0,0,0,0,0,0,0,24,0,6, 0,0,0,0,0,0,0,0,0,0,0/) 120 if(sum((n_axes-n_axest)**2)==0) spgroup=219 121 122 123 case(192) 124 125 n_axest=(/0,24,32,0,4,0,3,1,18,32, 0,12,0,0,27,0,0,9,0,18, 0,0,0,0,12,0,0,0,0,0,0/) 126 if(sum((n_axes-n_axest)**2)==0) spgroup=225 127 n_axest=(/0,24,32,0,4,0,3,1,18,32, 0,12,0,0,3,0,0,33,0,18, 0,0,0,0,12,0,0,0,0,0,0/) 128 if(sum((n_axes-n_axest)**2)==0) spgroup=226 129 n_axest=(/0,24,32,0,4,0,3,1,18,32, 0,0,0,0,24,0,12,0,0,18, 0,0,0,24,0,0,0,0,0,0,0/) 130 if(sum((n_axes-n_axest)**2)==0) spgroup=227 131 n_axest=(/0,24,32,0,4,0,3,1,18,32, 0,0,0,0,0,0,12,24,0,18, 0,0,0,24,0,0,0,0,0,0,0/) 132 if(sum((n_axes-n_axest)**2)==0) spgroup=228 133 134 end select 135 136 end subroutine symlist_fcc