Branch data Line data Source code
1 : : !!****m* ABINIT/m_symlist
2 : : !! NAME
3 : : !! m_symlist
4 : : !!
5 : : !! FUNCTION
6 : : !! Determine the space group from the number and type of symmetry operations
7 : : !!
8 : : !! COPYRIGHT
9 : : !! Copyright (C) 2008-2026 ABINIT group (RC)
10 : : !! This file is distributed under the terms of the
11 : : !! GNU General Public License, see ~abinit/COPYING
12 : : !! or http://www.gnu.org/copyleft/gpl.txt .
13 : : !!
14 : : !! SOURCE
15 : :
16 : : #if defined HAVE_CONFIG_H
17 : : #include "config.h"
18 : : #endif
19 : :
20 : : #include "abi_common.h"
21 : :
22 : : module m_symlist
23 : :
24 : : use defs_basis
25 : :
26 : : implicit none
27 : :
28 : : private
29 : : !!***
30 : :
31 : : public :: symlist_prim
32 : : public :: symlist_bcc
33 : : public :: symlist_fcc
34 : : public :: symlist_others
35 : : !!***
36 : :
37 : : contains
38 : : !!***
39 : :
40 : : !!****f* m_symlist/symlist_prim
41 : : !! NAME
42 : : !! symlist_prim
43 : : !!
44 : : !! FUNCTION
45 : : !! Determine the space group from the number and type of symmetry operations
46 : : !!
47 : : !! INPUTS
48 : : !! additional_info=information that is needed beyond n_axes, in order
49 : : !! to discriminate between specific space groups
50 : : !! nsym=actual number of symmetries
51 : : !! n_axes(31)=array containing the number of all the possible symmetry operations
52 : : !!
53 : : !! OUTPUT
54 : : !! spgroup=space group number ; returns 0 if not found
55 : : !!
56 : : !! NOTES
57 : : !!
58 : : !! The list of symmetry operations is for the conventional cell
59 : : !!
60 : : !! TODO
61 : : !! For the time being there are several groups where uncertainties still exist
62 : : !! This will be solved in the very next ABINIT version
63 : : !!
64 : : !! SOURCE
65 : :
66 : 5266 : subroutine symlist_prim(additional_info,nsym,n_axes,spgroup)
67 : :
68 : : !Arguments ------------------------------------
69 : : !scalars
70 : : integer,intent(in) :: additional_info,nsym
71 : : integer,intent(out) :: spgroup
72 : : !arrays
73 : : integer,intent(in) :: n_axes(31)
74 : :
75 : : !Local variables-------------------------------
76 : : !character(len=500) :: message
77 : : !arrays
78 : : integer :: n_axest(31)
79 : :
80 : : !**************************************************************************
81 : :
82 : : !DEBUG
83 : : !write(std_out,*) ' symlist_prim : enter '
84 : : !write(std_out,*) ' nsym = ', nsym
85 : : !write(std_out,'(a,10i3)' ) ' n_axes(1:10) =',n_axes(1:10)
86 : : !write(std_out,'(a,10i3)' ) ' n_axes(11:20)=',n_axes(11:20)
87 : : !write(std_out,'(a,11i3)' ) ' n_axes(21:31)=',n_axes(21:31)
88 : : !ENDDEBUG
89 : :
90 : 5266 : spgroup=0
91 : :
92 : 6609 : select case(nsym)
93 : :
94 : : case(1)
95 : :
96 : 1343 : n_axest=(/0,0,0,0,0,0,0,1,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0/)
97 [ + + + - ]: 42976 : if(sum((n_axes-n_axest)**2)==0) spgroup=1
98 : :
99 : : case(2)
100 : :
101 : 196 : n_axest=(/0,0,0,0,1,0,0,1,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0/)
102 [ + + + + ]: 6272 : if(sum((n_axes-n_axest)**2)==0) spgroup=2
103 : 196 : n_axest=(/0,0,0,0,0,0,0,1,1,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0/)
104 [ + + + + ]: 6272 : if(sum((n_axes-n_axest)**2)==0) spgroup=3
105 : 196 : n_axest=(/0,0,0,0,0,0,0,1,0,0, 0,0,0,0,0,0,0,0,0,1, 0,0,0,0,0,0,0,0,0,0,0/)
106 [ + + + + ]: 6272 : if(sum((n_axes-n_axest)**2)==0) spgroup=4
107 : 196 : n_axest=(/0,0,0,0,0,0,0,1,0,0, 0,0,0,0,1,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0/)
108 [ + + + + ]: 6272 : if(sum((n_axes-n_axest)**2)==0) spgroup=6
109 : 196 : n_axest=(/0,0,0,0,0,0,0,1,0,0, 0,0,0,0,0,1,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0/)
110 [ + + + + ]: 6272 : if(sum((n_axes-n_axest)**2)==0) spgroup=7
111 : 196 : n_axest=(/0,0,0,0,0,0,0,1,0,0, 0,0,0,0,0,0,0,1,0,0, 0,0,0,0,0,0,0,0,0,0,0/)
112 [ + + - + ]: 6272 : if(sum((n_axes-n_axest)**2)==0) spgroup=7
113 : :
114 : : case(3)
115 : :
116 : 15 : n_axest=(/0,0,0,0,0,0,0,1,0,2, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0/)
117 [ + + + + ]: 480 : if(sum((n_axes-n_axest)**2)==0) spgroup=143
118 : 15 : n_axest=(/0,0,0,0,0,0,0,1,0,0, 0,0,0,0,0,0,0,0,0,0, 0,2,0,0,0,0,0,0,0,0,0/)
119 [ + + + + ]: 480 : if(sum((n_axes-n_axest)**2)==0) spgroup=144
120 : 15 : n_axest=(/0,0,0,0,0,0,0,1,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,2,0,0,0,0,0,0,0,0/)
121 [ + + + + ]: 480 : if(sum((n_axes-n_axest)**2)==0) spgroup=145
122 : :
123 : : case(4)
124 : :
125 : 309 : n_axest=(/0,0,0,0,1,0,0,1,1,0, 0,0,0,0,1,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0/)
126 [ + + + + ]: 9888 : if(sum((n_axes-n_axest)**2)==0) spgroup=10
127 : 309 : n_axest=(/0,0,0,0,1,0,0,1,0,0, 0,0,0,0,1,0,0,0,0,1, 0,0,0,0,0,0,0,0,0,0,0/)
128 [ + + + + ]: 9888 : if(sum((n_axes-n_axest)**2)==0) spgroup=11
129 : 309 : n_axest=(/0,0,0,0,1,0,0,1,1,0, 0,0,0,0,0,1,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0/)
130 [ + + + + ]: 9888 : if(sum((n_axes-n_axest)**2)==0) spgroup=13
131 : 309 : n_axest=(/0,0,0,0,1,0,0,1,1,0, 0,0,0,0,0,0,0,1,0,0, 0,0,0,0,0,0,0,0,0,0,0/)
132 [ + + - + ]: 9888 : if(sum((n_axes-n_axest)**2)==0) spgroup=13
133 : 309 : n_axest=(/0,0,0,0,1,0,0,1,0,0, 0,0,0,0,0,1,0,0,0,1, 0,0,0,0,0,0,0,0,0,0,0/)
134 [ + + + + ]: 9888 : if(sum((n_axes-n_axest)**2)==0) spgroup=14
135 : 309 : n_axest=(/0,0,0,0,1,0,0,1,0,0, 0,0,0,0,0,0,0,1,0,1, 0,0,0,0,0,0,0,0,0,0,0/)
136 [ + + + + ]: 9888 : if(sum((n_axes-n_axest)**2)==0) spgroup=14
137 : :
138 : 309 : n_axest=(/0,0,0,0,0,0,0,1,3,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0/)
139 [ + + + + ]: 9888 : if(sum((n_axes-n_axest)**2)==0) spgroup=16
140 : 309 : n_axest=(/0,0,0,0,0,0,0,1,2,0, 0,0,0,0,0,0,0,0,0,1, 0,0,0,0,0,0,0,0,0,0,0/)
141 [ + + + + ]: 9888 : if(sum((n_axes-n_axest)**2)==0) spgroup=17
142 : 309 : n_axest=(/0,0,0,0,0,0,0,1,1,0, 0,0,0,0,0,0,0,0,0,2, 0,0,0,0,0,0,0,0,0,0,0/)
143 [ + + + + ]: 9888 : if(sum((n_axes-n_axest)**2)==0) spgroup=18
144 : 309 : n_axest=(/0,0,0,0,0,0,0,1,0,0, 0,0,0,0,0,0,0,0,0,3, 0,0,0,0,0,0,0,0,0,0,0/)
145 [ + + + + ]: 9888 : if(sum((n_axes-n_axest)**2)==0) spgroup=19
146 : 309 : n_axest=(/0,0,0,0,0,0,0,1,1,0, 0,0,0,0,2,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0/)
147 : :
148 [ + + + + ]: 9888 : if(sum((n_axes-n_axest)**2)==0) spgroup=25
149 : 309 : n_axest=(/0,0,0,0,0,0,0,1,0,0, 0,0,0,0,1,1,0,0,0,1, 0,0,0,0,0,0,0,0,0,0,0/)
150 [ + + + + ]: 9888 : if(sum((n_axes-n_axest)**2)==0) spgroup=26
151 : 309 : n_axest=(/0,0,0,0,0,0,0,1,0,0, 0,0,0,0,0,2,0,0,0,1, 0,0,0,0,0,0,0,0,0,0,0/)
152 [ + + + + ]: 9888 : if(sum((n_axes-n_axest)**2)==0) spgroup=29
153 : 309 : n_axest=(/0,0,0,0,0,0,0,1,1,0, 0,0,0,0,0,2,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0/)
154 [ + + + + ]: 9888 : if(sum((n_axes-n_axest)**2)==0) then
155 [ + + ]: 16 : if(additional_info==1) spgroup=27
156 [ + + ]: 16 : if(additional_info==2) spgroup=32
157 : : end if
158 : 309 : n_axest=(/0,0,0,0,0,0,0,1,1,0, 0,0,0,0,1,1,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0/)
159 [ + + + + ]: 9888 : if(sum((n_axes-n_axest)**2)==0) spgroup=28
160 : 309 : n_axest=(/0,0,0,0,0,0,0,1,1,0, 0,0,0,0,0,1,0,1,0,0, 0,0,0,0,0,0,0,0,0,0,0/)
161 [ + + + + ]: 9888 : if(sum((n_axes-n_axest)**2)==0) spgroup=30
162 : 309 : n_axest=(/0,0,0,0,0,0,0,1,0,0, 0,0,0,0,1,0,0,1,0,1, 0,0,0,0,0,0,0,0,0,0,0/)
163 [ + + + + ]: 9888 : if(sum((n_axes-n_axest)**2)==0) spgroup=31
164 : 309 : n_axest=(/0,0,0,0,0,0,0,1,0,0, 0,0,0,0,0,1,0,1,0,1, 0,0,0,0,0,0,0,0,0,0,0/)
165 [ + + + + ]: 9888 : if(sum((n_axes-n_axest)**2)==0) spgroup=33
166 : 309 : n_axest=(/0,0,0,0,0,0,0,1,1,0, 0,0,0,0,0,0,0,2,0,0, 0,0,0,0,0,0,0,0,0,0,0/)
167 [ + + + + ]: 9888 : if(sum((n_axes-n_axest)**2)==0) spgroup=34
168 : :
169 : 309 : n_axest=(/0,0,0,0,0,0,0,1,1,0, 0,2,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0/)
170 [ + + + + ]: 9888 : if(sum((n_axes-n_axest)**2)==0) spgroup=75
171 : 309 : n_axest=(/0,0,0,0,0,0,0,1,0,0, 0,0,0,0,0,0,0,0,0,1, 0,0,0,2,0,0,0,0,0,0,0/)
172 [ + + + + ]: 9888 : if(sum((n_axes-n_axest)**2)==0) spgroup=76
173 : 309 : n_axest=(/0,0,0,0,0,0,0,1,1,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,2,0,0,0,0,0,0/)
174 [ + + + + ]: 9888 : if(sum((n_axes-n_axest)**2)==0) spgroup=77
175 : 309 : n_axest=(/0,0,0,0,0,0,0,1,0,0, 0,0,0,0,0,0,0,0,0,1, 0,0,0,0,0,2,0,0,0,0,0/)
176 [ + + + + ]: 9888 : if(sum((n_axes-n_axest)**2)==0) spgroup=78
177 : :
178 : :
179 : 309 : n_axest=(/0,2,0,0,0,0,0,1,1,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0/)
180 [ + + + + ]: 9888 : if(sum((n_axes-n_axest)**2)==0) spgroup=81
181 : :
182 : : case(6)
183 : :
184 : 235 : n_axest=(/0,0,2,0,1,0,0,1,0,2, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0/)
185 [ + + + + ]: 7520 : if(sum((n_axes-n_axest)**2)==0) spgroup=147
186 : :
187 : 235 : n_axest=(/0,0,0,0,0,0,0,1,0,2, 0,0,0,0,0,0,0,0,0,0, 3,0,0,0,0,0,0,0,0,0,0/)
188 [ + + + + ]: 7520 : if(sum((n_axes-n_axest)**2)==0) spgroup=149
189 : 235 : n_axest=(/0,0,0,3,0,0,0,1,0,2, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0/)
190 [ + + + + ]: 7520 : if(sum((n_axes-n_axest)**2)==0) spgroup=150
191 : 235 : n_axest=(/0,0,0,0,0,0,0,1,0,0, 0,0,0,0,0,0,0,0,0,0, 3,2,0,0,0,0,0,0,0,0,0/)
192 [ + + + + ]: 7520 : if(sum((n_axes-n_axest)**2)==0) spgroup=151
193 : 235 : n_axest=(/0,0,0,0,0,0,0,1,0,0, 0,0,0,0,0,0,0,0,0,0, 3,0,2,0,0,0,0,0,0,0,0/)
194 [ + + + + ]: 7520 : if(sum((n_axes-n_axest)**2)==0) spgroup=153
195 : :
196 : 235 : n_axest=(/0,0,0,3,0,0,0,1,0,0, 0,0,0,0,0,0,0,0,0,0, 0,2,0,0,0,0,0,0,0,0,0/)
197 [ + + + + ]: 7520 : if(sum((n_axes-n_axest)**2)==0) spgroup=152
198 : 235 : n_axest=(/0,0,0,3,0,0,0,1,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,2,0,0,0,0,0,0,0,0/)
199 [ + + + + ]: 7520 : if(sum((n_axes-n_axest)**2)==0) spgroup=154
200 : :
201 : 235 : n_axest=(/0,0,0,0,0,0,0,1,0,2, 0,0,0,0,3,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0/)
202 [ + + + + ]: 7520 : if(sum((n_axes-n_axest)**2)==0) spgroup=156
203 : 235 : n_axest=(/0,0,0,0,0,0,0,1,0,2, 0,0,0,0,0,0,3,0,0,0, 0,0,0,0,0,0,0,0,0,0,0/)
204 [ + + + + ]: 7520 : if(sum((n_axes-n_axest)**2)==0) spgroup=157
205 : 235 : n_axest=(/0,0,0,0,0,0,0,1,0,2, 0,0,0,0,0,3,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0/)
206 [ + + + + ]: 7520 : if(sum((n_axes-n_axest)**2)==0) spgroup=158
207 : 235 : n_axest=(/0,0,0,0,0,0,0,1,0,2, 0,0,0,0,0,0,0,3,0,0, 0,0,0,0,0,0,0,0,0,0,0/)
208 [ + + + + ]: 7520 : if(sum((n_axes-n_axest)**2)==0) spgroup=159
209 : :
210 : 235 : n_axest=(/0,0,0,0,0,0,0,1,1,2, 0,0,0,2,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0/)
211 [ + + + + ]: 7520 : if(sum((n_axes-n_axest)**2)==0) spgroup=168
212 : 235 : n_axest=(/0,0,0,0,0,0,0,1,0,0, 0,0,0,0,0,0,0,0,0,1, 0,2,0,0,0,0,2,0,0,0,0/)
213 [ + + + + ]: 7520 : if(sum((n_axes-n_axest)**2)==0) spgroup=169
214 : 235 : n_axest=(/0,0,0,0,0,0,0,1,0,0, 0,0,0,0,0,0,0,0,0,1, 0,0,2,0,0,0,0,0,0,0,2/)
215 [ + + + + ]: 7520 : if(sum((n_axes-n_axest)**2)==0) spgroup=170
216 : :
217 : 235 : n_axest=(/0,0,0,0,0,0,0,1,1,0, 0,0,0,0,0,0,0,0,0,0, 0,0,2,0,0,0,0,2,0,0,0/)
218 [ + + + + ]: 7520 : if(sum((n_axes-n_axest)**2)==0) spgroup=171
219 : 235 : n_axest=(/0,0,0,0,0,0,0,1,1,0, 0,0,0,0,0,0,0,0,0,0, 0,2,0,0,0,0,0,0,0,2,0/)
220 [ + + + + ]: 7520 : if(sum((n_axes-n_axest)**2)==0) spgroup=172
221 : :
222 : 235 : n_axest=(/0,0,0,0,0,0,0,1,0,2, 0,0,0,0,0,0,0,0,0,1, 0,0,0,0,0,0,0,0,2,0,0/)
223 [ + + + + ]: 7520 : if(sum((n_axes-n_axest)**2)==0) spgroup=173
224 : 235 : n_axest=(/2,0,0,0,0,0,0,1,0,2, 0,0,0,0,1,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0/)
225 [ + + + + ]: 7520 : if(sum((n_axes-n_axest)**2)==0) spgroup=174
226 : :
227 : : case(8)
228 : :
229 : 881 : n_axest=(/0,0,0,0,1,0,0,1,3,0, 0,0,0,0,3,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0/)
230 [ + + + + ]: 28192 : if(sum((n_axes-n_axest)**2)==0) spgroup=47
231 : 881 : n_axest=(/0,0,0,0,1,0,0,1,3,0, 0,0,0,0,0,0,0,3,0,0, 0,0,0,0,0,0,0,0,0,0,0/)
232 [ + + + + ]: 28192 : if(sum((n_axes-n_axest)**2)==0) spgroup=48
233 : 881 : n_axest=(/0,0,0,0,1,0,0,1,3,0, 0,0,0,0,1,2,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0/)
234 [ + + + + ]: 28192 : if(sum((n_axes-n_axest)**2)==0) spgroup=49
235 : 881 : n_axest=(/0,0,0,0,1,0,0,1,3,0, 0,0,0,0,0,2,0,1,0,0, 0,0,0,0,0,0,0,0,0,0,0/)
236 [ + + + + ]: 28192 : if(sum((n_axes-n_axest)**2)==0) spgroup=50
237 : :
238 : 881 : n_axest=(/0,0,0,0,1,0,0,1,2,0, 0,0,0,0,2,1,0,0,0,1, 0,0,0,0,0,0,0,0,0,0,0/)
239 [ + + + + ]: 28192 : if(sum((n_axes-n_axest)**2)==0) spgroup=51
240 : 881 : n_axest=(/0,0,0,0,1,0,0,1,2,0, 0,0,0,0,0,1,0,2,0,1, 0,0,0,0,0,0,0,0,0,0,0/)
241 [ + + + + ]: 28192 : if(sum((n_axes-n_axest)**2)==0) spgroup=52
242 : 881 : n_axest=(/0,0,0,0,1,0,0,1,2,0, 0,0,0,0,1,1,0,1,0,1, 0,0,0,0,0,0,0,0,0,0,0/)
243 [ + + + + ]: 28192 : if(sum((n_axes-n_axest)**2)==0) spgroup=53
244 : 881 : n_axest=(/0,0,0,0,1,0,0,1,2,0, 0,0,0,0,0,3,0,0,0,1, 0,0,0,0,0,0,0,0,0,0,0/)
245 [ + + + + ]: 28192 : if(sum((n_axes-n_axest)**2)==0) spgroup=54
246 : :
247 : 881 : n_axest=(/0,0,0,0,1,0,0,1,1,0, 0,0,0,0,1,2,0,0,0,2, 0,0,0,0,0,0,0,0,0,0,0/)
248 [ + + + + ]: 28192 : if(sum((n_axes-n_axest)**2)==0) then
249 [ + + ]: 26 : if(additional_info==1) spgroup=55
250 [ + + ]: 26 : if(additional_info==2) spgroup=57
251 : : end if
252 : 881 : n_axest=(/0,0,0,0,1,0,0,1,1,0, 0,0,0,0,0,2,0,1,0,2, 0,0,0,0,0,0,0,0,0,0,0/)
253 [ + + + + ]: 28192 : if(sum((n_axes-n_axest)**2)==0) then
254 [ + + ]: 26 : if(additional_info==1) spgroup=56
255 [ + + ]: 26 : if(additional_info==2) spgroup=60
256 : : end if
257 : 881 : n_axest=(/0,0,0,0,1,0,0,1,1,0, 0,0,0,0,1,0,0,2,0,2, 0,0,0,0,0,0,0,0,0,0,0/)
258 [ + + + + ]: 28192 : if(sum((n_axes-n_axest)**2)==0) spgroup=58
259 : 881 : n_axest=(/0,0,0,0,1,0,0,1,1,0, 0,0,0,0,2,0,0,1,0,2, 0,0,0,0,0,0,0,0,0,0,0/)
260 [ + + + + ]: 28192 : if(sum((n_axes-n_axest)**2)==0) spgroup=59
261 : :
262 : 881 : n_axest=(/0,0,0,0,1,0,0,1,0,0, 0,0,0,0,0,3,0,0,0,3, 0,0,0,0,0,0,0,0,0,0,0/)
263 [ + + + + ]: 28192 : if(sum((n_axes-n_axest)**2)==0) spgroup=61
264 : 881 : n_axest=(/0,0,0,0,1,0,0,1,0,0, 0,0,0,0,1,1,0,1,0,3, 0,0,0,0,0,0,0,0,0,0,0/)
265 [ + + + + ]: 28192 : if(sum((n_axes-n_axest)**2)==0) spgroup=62
266 : :
267 : 881 : n_axest=(/0,0,0,0,0,0,0,1,3,0, 0,2,0,0,0,0,0,0,0,0, 2,0,0,0,0,0,0,0,0,0,0/)
268 [ + + + + ]: 28192 : if(sum((n_axes-n_axest)**2)==0) spgroup=89
269 : 881 : n_axest=(/0,0,0,0,0,0,0,1,1,0, 0,2,0,0,0,0,0,0,0,2, 2,0,0,0,0,0,0,0,0,0,0/)
270 [ + + + + ]: 28192 : if(sum((n_axes-n_axest)**2)==0) spgroup=90
271 : :
272 : 881 : n_axest=(/0,0,0,0,0,0,0,1,2,0, 0,0,0,0,0,0,0,0,0,1, 2,0,0,2,0,0,0,0,0,0,0/)
273 [ + + + + ]: 28192 : if(sum((n_axes-n_axest)**2)==0) spgroup=91
274 : 881 : n_axest=(/0,0,0,0,0,0,0,1,2,0, 0,0,0,0,0,0,0,0,0,1, 2,0,0,0,0,2,0,0,0,0,0/)
275 [ + + + + ]: 28192 : if(sum((n_axes-n_axest)**2)==0) spgroup=95
276 : :
277 : 881 : n_axest=(/0,0,0,0,0,0,0,1,0,0, 0,0,0,0,0,0,0,0,0,3, 2,0,0,2,0,0,0,0,0,0,0/)
278 [ + + + + ]: 28192 : if(sum((n_axes-n_axest)**2)==0) spgroup=92
279 : 881 : n_axest=(/0,0,0,0,0,0,0,1,0,0, 0,0,0,0,0,0,0,0,0,3, 2,0,0,0,0,2,0,0,0,0,0/)
280 [ + + + + ]: 28192 : if(sum((n_axes-n_axest)**2)==0) spgroup=96
281 : :
282 : 881 : n_axest=(/0,0,0,0,0,0,0,1,3,0, 0,0,0,0,0,0,0,0,0,0, 2,0,0,0,2,0,0,0,0,0,0/)
283 [ + + + + ]: 28192 : if(sum((n_axes-n_axest)**2)==0) spgroup=93
284 : 881 : n_axest=(/0,0,0,0,0,0,0,1,1,0, 0,0,0,0,0,0,0,0,0,2, 2,0,0,0,2,0,0,0,0,0,0/)
285 [ + + + + ]: 28192 : if(sum((n_axes-n_axest)**2)==0) spgroup=94
286 : :
287 : 881 : n_axest=(/0,0,0,0,0,0,0,1,1,0, 0,2,0,0,4,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0/)
288 [ + + + + ]: 28192 : if(sum((n_axes-n_axest)**2)==0) spgroup=99
289 : 881 : n_axest=(/0,0,0,0,0,0,0,1,1,0, 0,2,0,0,2,2,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0/)
290 [ + + + + ]: 28192 : if(sum((n_axes-n_axest)**2)==0) spgroup=100
291 : 881 : n_axest=(/0,0,0,0,0,0,0,1,1,0, 0,0,0,0,2,0,2,0,0,0, 0,0,0,0,2,0,0,0,0,0,0/)
292 [ + + + + ]: 28192 : if(sum((n_axes-n_axest)**2)==0) spgroup=101
293 : 881 : n_axest=(/0,0,0,0,0,0,0,1,1,0, 0,0,0,0,2,0,0,2,0,0, 0,0,0,0,2,0,0,0,0,0,0/)
294 [ + + + + ]: 28192 : if(sum((n_axes-n_axest)**2)==0) spgroup=102
295 : 881 : n_axest=(/0,0,0,0,0,0,0,1,1,0, 0,2,0,0,0,0,2,0,2,0, 0,0,0,0,0,0,0,0,0,0,0/)
296 [ + + + + ]: 28192 : if(sum((n_axes-n_axest)**2)==0) spgroup=103
297 : 881 : n_axest=(/0,0,0,0,0,0,0,1,1,0, 0,2,0,0,0,0,0,2,2,0, 0,0,0,0,0,0,0,0,0,0,0/)
298 [ + + + + ]: 28192 : if(sum((n_axes-n_axest)**2)==0) spgroup=104
299 : 881 : n_axest=(/0,0,0,0,0,0,0,1,1,0, 0,0,0,0,2,0,0,0,2,0, 0,0,0,0,2,0,0,0,0,0,0/)
300 [ + + + + ]: 28192 : if(sum((n_axes-n_axest)**2)==0) spgroup=105
301 : 881 : n_axest=(/0,0,0,0,0,0,0,1,1,0, 0,0,0,0,0,2,0,0,2,0, 0,0,0,0,2,0,0,0,0,0,0/)
302 [ + + + + ]: 28192 : if(sum((n_axes-n_axest)**2)==0) spgroup=106
303 : :
304 : 881 : n_axest=(/0,2,0,0,1,0,0,1,1,0, 0,2,0,0,1,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0/)
305 [ + + + + ]: 28192 : if(sum((n_axes-n_axest)**2)==0) spgroup=83
306 : 881 : n_axest=(/0,2,0,0,1,0,0,1,1,0, 0,0,0,0,1,0,0,0,0,0, 0,0,0,0,2,0,0,0,0,0,0/)
307 [ + + + + ]: 28192 : if(sum((n_axes-n_axest)**2)==0) spgroup=84
308 : 881 : n_axest=(/0,2,0,0,1,0,0,1,1,0, 0,2,0,0,0,0,0,1,0,0, 0,0,0,0,0,0,0,0,0,0,0/)
309 [ + + + + ]: 28192 : if(sum((n_axes-n_axest)**2)==0) spgroup=85
310 : 881 : n_axest=(/0,2,0,0,1,0,0,1,1,0, 0,0,0,0,0,0,0,1,0,0, 0,0,0,0,2,0,0,0,0,0,0/)
311 [ + + + + ]: 28192 : if(sum((n_axes-n_axest)**2)==0) spgroup=86
312 : :
313 : 881 : n_axest=(/0,2,0,0,0,0,0,1,3,0, 0,0,0,0,2,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0/)
314 [ + + + + ]: 28192 : if(sum((n_axes-n_axest)**2)==0) spgroup=111
315 : 881 : n_axest=(/0,2,0,0,0,0,0,1,3,0, 0,0,0,0,0,0,0,0,2,0, 0,0,0,0,0,0,0,0,0,0,0/)
316 [ + + + + ]: 28192 : if(sum((n_axes-n_axest)**2)==0) spgroup=112
317 : 881 : n_axest=(/0,2,0,0,0,0,0,1,1,0, 0,0,0,0,2,0,0,0,0,2, 0,0,0,0,0,0,0,0,0,0,0/)
318 [ + + + + ]: 28192 : if(sum((n_axes-n_axest)**2)==0) spgroup=113
319 : 881 : n_axest=(/0,2,0,0,0,0,0,1,1,0, 0,0,0,0,0,0,0,0,2,2, 0,0,0,0,0,0,0,0,0,0,0/)
320 [ + + + + ]: 28192 : if(sum((n_axes-n_axest)**2)==0) spgroup=114
321 : 881 : n_axest=(/0,2,0,0,0,0,0,1,1,0, 0,0,0,0,2,0,0,0,0,0, 2,0,0,0,0,0,0,0,0,0,0/)
322 [ + + + + ]: 28192 : if(sum((n_axes-n_axest)**2)==0) spgroup=115
323 : 881 : n_axest=(/0,2,0,0,0,0,0,1,1,0, 0,0,0,0,0,0,2,0,0,0, 2,0,0,0,0,0,0,0,0,0,0/)
324 [ + + + + ]: 28192 : if(sum((n_axes-n_axest)**2)==0) spgroup=116
325 : 881 : n_axest=(/0,2,0,0,0,0,0,1,1,0, 0,0,0,0,0,2,0,0,0,0, 2,0,0,0,0,0,0,0,0,0,0/)
326 [ + + + + ]: 28192 : if(sum((n_axes-n_axest)**2)==0) spgroup=117
327 : 881 : n_axest=(/0,2,0,0,0,0,0,1,1,0, 0,0,0,0,0,0,0,2,0,0, 2,0,0,0,0,0,0,0,0,0,0/)
328 [ + + + + ]: 28192 : if(sum((n_axes-n_axest)**2)==0) spgroup=118
329 : :
330 : : case(12)
331 : :
332 : 321 : n_axest=(/0,0,2,0,1,0,0,1,0,2, 0,0,0,0,0,0,3,0,0,0, 3,0,0,0,0,0,0,0,0,0,0/)
333 [ + + + + ]: 10272 : if(sum((n_axes-n_axest)**2)==0) spgroup=162
334 : 321 : n_axest=(/0,0,2,0,1,0,0,1,0,2, 0,0,0,0,0,0,0,3,0,0, 3,0,0,0,0,0,0,0,0,0,0/)
335 [ + + + + ]: 10272 : if(sum((n_axes-n_axest)**2)==0) spgroup=163
336 : 321 : n_axest=(/0,0,2,3,1,0,0,1,0,2, 0,0,0,0,3,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0/)
337 [ + + + + ]: 10272 : if(sum((n_axes-n_axest)**2)==0) spgroup=164
338 : 321 : n_axest=(/0,0,2,3,1,0,0,1,0,2, 0,0,0,0,0,3,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0/)
339 [ + + + + ]: 10272 : if(sum((n_axes-n_axest)**2)==0) spgroup=165
340 : :
341 : 321 : n_axest=(/2,0,2,0,1,0,0,1,1,2, 0,0,0,2,1,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0/)
342 [ + + + + ]: 10272 : if(sum((n_axes-n_axest)**2)==0) spgroup=175
343 : 321 : n_axest=(/2,0,2,0,1,0,0,1,0,2, 0,0,0,0,1,0,0,0,0,1, 0,0,0,0,0,0,0,0,2,0,0/)
344 [ + + + + ]: 10272 : if(sum((n_axes-n_axest)**2)==0) spgroup=176
345 : :
346 : 321 : n_axest=(/0,0,0,3,0,0,0,1,1,2, 0,0,0,2,0,0,0,0,0,0, 3,0,0,0,0,0,0,0,0,0,0/)
347 [ + + + + ]: 10272 : if(sum((n_axes-n_axest)**2)==0) spgroup=177
348 : :
349 : 321 : n_axest=(/0,0,0,3,0,0,0,1,0,0, 0,0,0,0,0,0,0,0,0,1, 3,2,0,0,0,0,2,0,0,0,0/)
350 [ + + + + ]: 10272 : if(sum((n_axes-n_axest)**2)==0) spgroup=178
351 : 321 : n_axest=(/0,0,0,3,0,0,0,1,0,0, 0,0,0,0,0,0,0,0,0,1, 3,0,2,0,0,0,0,0,0,0,2/)
352 [ + + + + ]: 10272 : if(sum((n_axes-n_axest)**2)==0) spgroup=179
353 : :
354 : 321 : n_axest=(/0,0,0,3,0,0,0,1,1,0, 0,0,0,0,0,0,0,0,0,0, 3,0,2,0,0,0,0,2,0,0,0/)
355 [ + + + + ]: 10272 : if(sum((n_axes-n_axest)**2)==0) spgroup=180
356 : 321 : n_axest=(/0,0,0,3,0,0,0,1,1,0, 0,0,0,0,0,0,0,0,0,0, 3,2,0,0,0,0,0,0,0,2,0/)
357 [ + + + + ]: 10272 : if(sum((n_axes-n_axest)**2)==0) spgroup=181
358 : :
359 : 321 : n_axest=(/0,0,0,3,0,0,0,1,0,2, 0,0,0,0,0,0,0,0,0,1, 3,0,0,0,0,0,0,0,2,0,0/)
360 [ + + + + ]: 10272 : if(sum((n_axes-n_axest)**2)==0) spgroup=182
361 : :
362 : 321 : n_axest=(/0,0,0,0,0,0,0,1,1,2, 0,0,0,2,3,0,3,0,0,0, 0,0,0,0,0,0,0,0,0,0,0/)
363 [ + + + + ]: 10272 : if(sum((n_axes-n_axest)**2)==0) spgroup=183
364 : 321 : n_axest=(/0,0,0,0,0,0,0,1,1,2, 0,0,0,2,0,3,0,3,0,0, 0,0,0,0,0,0,0,0,0,0,0/)
365 [ + + + + ]: 10272 : if(sum((n_axes-n_axest)**2)==0) spgroup=184
366 : 321 : n_axest=(/0,0,0,0,0,0,0,1,0,2, 0,0,0,0,0,3,3,0,0,1, 0,0,0,0,0,0,0,0,2,0,0/)
367 [ + + + + ]: 10272 : if(sum((n_axes-n_axest)**2)==0) spgroup=185
368 : 321 : n_axest=(/0,0,0,0,0,0,0,1,0,2, 0,0,0,0,3,0,0,3,0,1, 0,0,0,0,0,0,0,0,2,0,0/)
369 [ + + + + ]: 10272 : if(sum((n_axes-n_axest)**2)==0) spgroup=186
370 : :
371 : 321 : n_axest=(/2,0,0,0,0,0,0,1,0,2, 0,0,0,0,4,0,0,0,0,0, 3,0,0,0,0,0,0,0,0,0,0/)
372 [ + + + + ]: 10272 : if(sum((n_axes-n_axest)**2)==0) spgroup=187
373 : 321 : n_axest=(/2,0,0,0,0,0,0,1,0,2, 0,0,0,0,1,3,0,0,0,0, 3,0,0,0,0,0,0,0,0,0,0/)
374 [ + + + + ]: 10272 : if(sum((n_axes-n_axest)**2)==0) spgroup=188
375 : 321 : n_axest=(/2,0,0,3,0,0,0,1,0,2, 0,0,0,0,1,0,3,0,0,0, 0,0,0,0,0,0,0,0,0,0,0/)
376 [ + + + + ]: 10272 : if(sum((n_axes-n_axest)**2)==0) spgroup=189
377 : 321 : n_axest=(/2,0,0,3,0,0,0,1,0,2, 0,0,0,0,1,0,0,3,0,0, 0,0,0,0,0,0,0,0,0,0,0/)
378 [ + + + + ]: 10272 : if(sum((n_axes-n_axest)**2)==0) spgroup=190
379 : :
380 : 321 : n_axest=(/0,0,0,0,0,0,0,1,3,8, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0/)
381 [ + + + + ]: 10272 : if(sum((n_axes-n_axest)**2)==0) spgroup=195
382 : 321 : n_axest=(/0,0,0,0,0,0,0,1,0,8, 0,0,0,0,0,0,0,0,0,3, 0,0,0,0,0,0,0,0,0,0,0/)
383 [ + + + + ]: 10272 : if(sum((n_axes-n_axest)**2)==0) spgroup=198
384 : :
385 : : case(16)
386 : :
387 : 846 : n_axest=(/0,2,0,0,1,0,0,1,3,0, 0,2,0,0,5,0,0,0,0,0, 2,0,0,0,0,0,0,0,0,0,0/)
388 [ + + + + ]: 27072 : if(sum((n_axes-n_axest)**2)==0) spgroup=123
389 : 846 : n_axest=(/0,2,0,0,1,0,0,1,3,0, 0,2,0,0,1,0,2,0,2,0, 2,0,0,0,0,0,0,0,0,0,0/)
390 [ + + + + ]: 27072 : if(sum((n_axes-n_axest)**2)==0) spgroup=124
391 : 846 : n_axest=(/0,2,0,0,1,0,0,1,3,0, 0,2,0,0,2,2,0,1,0,0, 2,0,0,0,0,0,0,0,0,0,0/)
392 [ + + + + ]: 27072 : if(sum((n_axes-n_axest)**2)==0) spgroup=125
393 : 846 : n_axest=(/0,2,0,0,1,0,0,1,3,0, 0,2,0,0,0,0,0,3,2,0, 2,0,0,0,0,0,0,0,0,0,0/)
394 [ + + + + ]: 27072 : if(sum((n_axes-n_axest)**2)==0) spgroup=126
395 : :
396 : 846 : n_axest=(/0,2,0,0,1,0,0,1,1,0, 0,2,0,0,3,2,0,0,0,2, 2,0,0,0,0,0,0,0,0,0,0/)
397 [ + + + + ]: 27072 : if(sum((n_axes-n_axest)**2)==0) spgroup=127
398 : 846 : n_axest=(/0,2,0,0,1,0,0,1,1,0, 0,2,0,0,1,0,0,2,2,2, 2,0,0,0,0,0,0,0,0,0,0/)
399 [ + + + + ]: 27072 : if(sum((n_axes-n_axest)**2)==0) spgroup=128
400 : 846 : n_axest=(/0,2,0,0,1,0,0,1,1,0, 0,2,0,0,4,0,0,1,0,2, 2,0,0,0,0,0,0,0,0,0,0/)
401 [ + + + + ]: 27072 : if(sum((n_axes-n_axest)**2)==0) spgroup=129
402 : 846 : n_axest=(/0,2,0,0,1,0,0,1,1,0, 0,2,0,0,0,0,2,1,2,2, 2,0,0,0,0,0,0,0,0,0,0/)
403 [ + + + + ]: 27072 : if(sum((n_axes-n_axest)**2)==0) spgroup=130
404 : :
405 : 846 : n_axest=(/0,2,0,0,1,0,0,1,3,0, 0,0,0,0,3,0,0,0,2,0, 2,0,0,0,2,0,0,0,0,0,0/)
406 [ + + + + ]: 27072 : if(sum((n_axes-n_axest)**2)==0) spgroup=131
407 : 846 : n_axest=(/0,2,0,0,1,0,0,1,3,0, 0,0,0,0,3,0,2,0,0,0, 2,0,0,0,2,0,0,0,0,0,0/)
408 [ + + + + ]: 27072 : if(sum((n_axes-n_axest)**2)==0) spgroup=132
409 : 846 : n_axest=(/0,2,0,0,1,0,0,1,3,0, 0,0,0,0,0,2,0,1,2,0, 2,0,0,0,2,0,0,0,0,0,0/)
410 [ + + + + ]: 27072 : if(sum((n_axes-n_axest)**2)==0) spgroup=133
411 : 846 : n_axest=(/0,2,0,0,1,0,0,1,3,0, 0,0,0,0,2,0,0,3,0,0, 2,0,0,0,2,0,0,0,0,0,0/)
412 [ + + + + ]: 27072 : if(sum((n_axes-n_axest)**2)==0) spgroup=134
413 : :
414 : 846 : n_axest=(/0,2,0,0,1,0,0,1,1,0, 0,0,0,0,1,2,0,0,2,2, 2,0,0,0,2,0,0,0,0,0,0/)
415 [ + + + + ]: 27072 : if(sum((n_axes-n_axest)**2)==0) spgroup=135
416 : 846 : n_axest=(/0,2,0,0,1,0,0,1,1,0, 0,0,0,0,3,0,0,2,0,2, 2,0,0,0,2,0,0,0,0,0,0/)
417 [ + + + + ]: 27072 : if(sum((n_axes-n_axest)**2)==0) spgroup=136
418 : 846 : n_axest=(/0,2,0,0,1,0,0,1,1,0, 0,0,0,0,2,0,0,1,2,2, 2,0,0,0,2,0,0,0,0,0,0/)
419 [ + + + + ]: 27072 : if(sum((n_axes-n_axest)**2)==0) spgroup=137
420 : 846 : n_axest=(/0,2,0,0,1,0,0,1,1,0, 0,0,0,0,2,0,2,1,0,2, 2,0,0,0,2,0,0,0,0,0,0/)
421 [ + + + + ]: 27072 : if(sum((n_axes-n_axest)**2)==0) spgroup=138
422 : :
423 : : case(24)
424 : :
425 : 206 : n_axest=(/2,0,2,3,1,0,0,1,1,2, 0,0,0,2,4,0,3,0,0,0, 3,0,0,0,0,0,0,0,0,0,0/)
426 [ + + + + ]: 6592 : if(sum((n_axes-n_axest)**2)==0) spgroup=191
427 : 206 : n_axest=(/2,0,2,3,1,0,0,1,1,2, 0,0,0,2,1,3,0,3,0,0, 3,0,0,0,0,0,0,0,0,0,0/)
428 [ + + + + ]: 6592 : if(sum((n_axes-n_axest)**2)==0) spgroup=192
429 : 206 : n_axest=(/2,0,2,3,1,0,0,1,0,2, 0,0,0,0,1,3,3,0,0,1, 3,0,0,0,0,0,0,0,2,0,0/)
430 [ + + + + ]: 6592 : if(sum((n_axes-n_axest)**2)==0) spgroup=193
431 : 206 : n_axest=(/2,0,2,3,1,0,0,1,0,2, 0,0,0,0,4,0,0,3,0,1, 3,0,0,0,0,0,0,0,2,0,0/)
432 [ + + + + ]: 6592 : if(sum((n_axes-n_axest)**2)==0) spgroup=194
433 : :
434 : :
435 : 206 : n_axest=(/0,0,8,0,1,0,0,1,3,8, 0,0,0,0,3,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0/)
436 [ + + + + ]: 6592 : if(sum((n_axes-n_axest)**2)==0) spgroup=200
437 : 206 : n_axest=(/0,0,8,0,1,0,0,1,3,8, 0,0,0,0,0,0,0,3,0,0, 0,0,0,0,0,0,0,0,0,0,0/)
438 [ + + + + ]: 6592 : if(sum((n_axes-n_axest)**2)==0) spgroup=201
439 : 206 : n_axest=(/0,0,8,0,1,0,0,1,0,8, 0,0,0,0,0,0,0,3,0,3, 0,0,0,0,0,0,0,0,0,0,0/)
440 [ + + + + ]: 6592 : if(sum((n_axes-n_axest)**2)==0) spgroup=205
441 : 206 : n_axest=(/0,0,0,0,0,0,0,1,3,8, 0,6,0,0,0,0,0,0,0,0, 6,0,0,0,0,0,0,0,0,0,0/)
442 [ + + + + ]: 6592 : if(sum((n_axes-n_axest)**2)==0) spgroup=207
443 : 206 : n_axest=(/0,0,0,0,0,0,0,1,3,8, 0,0,0,0,0,0,0,0,0,0, 6,0,0,0,6,0,0,0,0,0,0/)
444 [ + + + + ]: 6592 : if(sum((n_axes-n_axest)**2)==0) spgroup=208
445 : 206 : n_axest=(/0,0,0,0,0,0,0,1,0,8, 0,0,0,0,0,0,0,0,0,3, 6,0,0,0,0,6,0,0,0,0,0/)
446 [ + + + + ]: 6592 : if(sum((n_axes-n_axest)**2)==0) spgroup=212
447 : 206 : n_axest=(/0,0,0,0,0,0,0,1,0,8, 0,0,0,0,0,0,0,0,0,3, 6,0,0,6,0,0,0,0,0,0,0/)
448 [ + + + + ]: 6592 : if(sum((n_axes-n_axest)**2)==0) spgroup=213
449 : :
450 : 206 : n_axest=(/0,6,0,0,0,0,0,1,3,8, 0,0,0,0,6,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0/)
451 [ + + + + ]: 6592 : if(sum((n_axes-n_axest)**2)==0) spgroup=215
452 : 206 : n_axest=(/0,6,0,0,0,0,0,1,3,8, 0,0,0,0,0,0,0,6,0,0, 0,0,0,0,0,0,0,0,0,0,0/)
453 [ + + + + ]: 6592 : if(sum((n_axes-n_axest)**2)==0) spgroup=218
454 : :
455 : : case(48)
456 : :
457 : 914 : n_axest=(/0,6,8,0,1,0,0,1,3,8, 0,6,0,0,9,0,0,0,0,0, 6,0,0,0,0,0,0,0,0,0,0/)
458 [ + + + + ]: 29248 : if(sum((n_axes-n_axest)**2)==0) spgroup=221
459 : 914 : n_axest=(/0,6,8,0,1,0,0,1,3,8, 0,6,0,0,0,0,0,9,0,0, 6,0,0,0,0,0,0,0,0,0,0/)
460 [ + + + + ]: 29248 : if(sum((n_axes-n_axest)**2)==0) spgroup=222
461 : 914 : n_axest=(/0,6,8,0,1,0,0,1,3,8, 0,0,0,0,3,0,0,6,0,0, 6,0,0,0,6,0,0,0,0,0,0/)
462 [ + + + + ]: 29248 : if(sum((n_axes-n_axest)**2)==0) spgroup=223
463 : 914 : n_axest=(/0,6,8,0,1,0,0,1,3,8, 0,0,0,0,6,0,0,3,0,0, 6,0,0,0,6,0,0,0,0,0,0/)
464 [ + + + + : 34514 : if(sum((n_axes-n_axest)**2)==0) spgroup=224
+ + + + +
+ - + + +
+ ]
465 : :
466 : : end select
467 : :
468 : 5266 : end subroutine symlist_prim
469 : : !!***
470 : :
471 : : !!****f* m_symlist/symlist_bcc
472 : : !! NAME
473 : : !! symlist_bcc
474 : : !!
475 : : !! FUNCTION
476 : : !! Determine the space group from the number and type of symmetry operations
477 : : !! BCC case.
478 : : !!
479 : : !! INPUTS
480 : : !! additional_info=information that is needed beyond n_axes, in order
481 : : !! to discriminate between specific space groups
482 : : !! nsym=actual number of symmetries
483 : : !! n_axes(31)=array containing the number of all the possible symmetry operations
484 : : !!
485 : : !! OUTPUT
486 : : !! spgroup=space group number ; returns 0 if not found
487 : : !!
488 : : !! NOTES
489 : : !!
490 : : !! The list of symmetry operations is for the conventional cell
491 : : !!
492 : : !! TODO
493 : : !! For the time being there are several groups where uncertainties still exist
494 : : !! This will be solved in the very next ABINIT version
495 : : !!
496 : : !! SOURCE
497 : :
498 : 698 : subroutine symlist_bcc(additional_info,nsym,n_axes,spgroup)
499 : :
500 : : !Arguments ------------------------------------
501 : : !scalars
502 : : integer,intent(in) :: additional_info,nsym
503 : : integer,intent(out) :: spgroup
504 : : !arrays
505 : : integer,intent(in) :: n_axes(31)
506 : :
507 : : !Local variables-------------------------------
508 : : !character(len=500) :: message
509 : : !scalars
510 : : integer :: ii
511 : : !arrays
512 : : integer :: n_axest(31)
513 : :
514 : : !**************************************************************************
515 : :
516 : : !DEBUG
517 : : !write(std_out,*) ' symlist_bcc : enter '
518 : : !write(std_out,*) ' nsym = ', nsym
519 : : !write(std_out,'(a,10i3)' ) ' n_axes(1:10) =',n_axes(1:10)
520 : : !write(std_out,'(a,10i3)' ) ' n_axes(11:20)=',n_axes(11:20)
521 : : !write(std_out,'(a,11i3)' ) ' n_axes(21:31)=',n_axes(21:31)
522 : : !ENDDEBUG
523 : :
524 : 698 : spgroup=0
525 : :
526 : 698 : select case(nsym)
527 : :
528 : : case(4)
529 : : ! XG021015, from LSi.
530 : : ! The coding of this case is different because of a compiler problem on
531 : : ! SUN. Seems that an internal limit is reached. Do not know why.
532 [ # # ]: 0 : do ii=1,3
533 [ # # ]: 0 : if(ii==1)then
534 : 0 : n_axest(:)=0 ; n_axest(7)=1 ; n_axest(8)=1 ; n_axest(9)=1 ; n_axest(20)=1
535 : 0 : spgroup=5
536 [ # # ]: 0 : else if(ii==2)then
537 : 0 : n_axest(:)=0 ; n_axest(7)=1 ; n_axest(8)=1 ; n_axest(15)=1 ; n_axest(18)=1
538 : 0 : spgroup=8
539 : : else if(ii==3)then
540 : 0 : n_axest(:)=0 ; n_axest(7)=1 ; n_axest(8)=1 ; n_axest(16)=1 ; n_axest(18)=1
541 : 0 : spgroup=9
542 : : end if
543 [ # # # # ]: 0 : if(sum((n_axes-n_axest)**2)==0)exit
544 : 0 : spgroup=0
545 : : end do
546 : :
547 : : case(8)
548 : :
549 : 105 : n_axest=(/0,0,0,0,2,0,1,1,1,0, 0,0,0,0,0,2,0,0,0,1, 0,0,0,0,0,0,0,0,0,0,0/)
550 [ + + - + ]: 3360 : if(sum((n_axes-n_axest)**2)==0) spgroup=15
551 : 105 : n_axest=(/0,0,0,0,0,0,1,1,3,0, 0,0,0,0,0,0,0,0,0,3, 0,0,0,0,0,0,0,0,0,0,0/)
552 [ + + + + ]: 3360 : if(sum((n_axes-n_axest)**2)==0) then
553 [ + + ]: 6 : if(additional_info==1) spgroup=23
554 [ + + ]: 6 : if(additional_info==2) spgroup=24
555 : : end if
556 : 105 : n_axest=(/0,0,0,0,0,0,1,1,1,0, 0,0,0,0,2,0,0,2,0,1, 0,0,0,0,0,0,0,0,0,0,0/)
557 [ + + + + ]: 3360 : if(sum((n_axes-n_axest)**2)==0) spgroup=44
558 : 105 : n_axest=(/0,0,0,0,0,0,1,1,1,0, 0,0,0,0,0,4,0,0,0,1, 0,0,0,0,0,0,0,0,0,0,0/)
559 [ + + + + ]: 3360 : if(sum((n_axes-n_axest)**2)==0) spgroup=45
560 : 105 : n_axest=(/0,0,0,0,0,0,1,1,1,0, 0,0,0,0,1,2,0,1,0,1, 0,0,0,0,0,0,0,0,0,0,0/)
561 [ + + + + ]: 3360 : if(sum((n_axes-n_axest)**2)==0) spgroup=46
562 : 105 : n_axest=(/0,0,0,0,0,0,1,1,2,0, 0,2,0,0,0,0,0,0,0,0, 0,0,0,0,2,0,0,0,0,0,0/)
563 [ + + + + ]: 3360 : if(sum((n_axes-n_axest)**2)==0) spgroup=79
564 : 105 : n_axest=(/0,0,0,0,0,0,1,1,2,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,4,0,0,0,0,0,0,0/)
565 [ + + + + ]: 3360 : if(sum((n_axes-n_axest)**2)==0) spgroup=80
566 : :
567 : 105 : n_axest=(/0,4,0,0,0,0,1,1,2,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0/)
568 [ + + + + ]: 3360 : if(sum((n_axes-n_axest)**2)==0) spgroup=82
569 : :
570 : : case(16)
571 : :
572 : 145 : n_axest=(/0,0,0,0,2,0,1,1,3,0, 0,0,0,0,3,0,0,3,0,3, 0,0,0,0,0,0,0,0,0,0,0/)
573 [ + + + + ]: 4640 : if(sum((n_axes-n_axest)**2)==0) spgroup=71
574 : 145 : n_axest=(/0,0,0,0,2,0,1,1,3,0, 0,0,0,0,1,4,0,1,0,3, 0,0,0,0,0,0,0,0,0,0,0/)
575 [ + + + + ]: 4640 : if(sum((n_axes-n_axest)**2)==0) spgroup=72
576 : 145 : n_axest=(/0,0,0,0,2,0,1,1,3,0, 0,0,0,0,0,6,0,0,0,3, 0,0,0,0,0,0,0,0,0,0,0/)
577 [ + + + + ]: 4640 : if(sum((n_axes-n_axest)**2)==0) spgroup=73
578 : 145 : n_axest=(/0,0,0,0,2,0,1,1,3,0, 0,0,0,0,2,2,0,2,0,3, 0,0,0,0,0,0,0,0,0,0,0/)
579 [ + + + + ]: 4640 : if(sum((n_axes-n_axest)**2)==0) spgroup=74
580 : 145 : n_axest=(/0,0,0,0,0,0,1,1,6,0, 0,2,0,0,0,0,0,0,0,0, 4,0,0,0,2,0,0,0,0,0,0/)
581 [ + + + + ]: 4640 : if(sum((n_axes-n_axest)**2)==0) spgroup=97
582 : 145 : n_axest=(/0,0,0,0,0,0,1,1,6,0, 0,0,0,0,0,0,0,0,0,0, 4,0,0,4,0,0,0,0,0,0,0/)
583 [ + + + + ]: 4640 : if(sum((n_axes-n_axest)**2)==0) spgroup=98
584 : 145 : n_axest=(/0,0,0,0,0,0,1,1,2,0, 0,2,0,0,8,0,0,0,0,0, 0,0,0,0,2,0,0,0,0,0,0/)
585 [ + + + + ]: 4640 : if(sum((n_axes-n_axest)**2)==0) spgroup=107
586 : 145 : n_axest=(/0,0,0,0,0,0,1,1,2,0, 0,2,0,0,4,4,0,0,0,0, 0,0,0,0,2,0,0,0,0,0,0/)
587 [ + + + + ]: 4640 : if(sum((n_axes-n_axest)**2)==0) spgroup=108
588 : 145 : n_axest=(/0,0,0,0,0,0,1,1,2,0, 0,0,0,0,4,0,4,0,0,0, 0,0,0,4,0,0,0,0,0,0,0/)
589 [ + + + + ]: 4640 : if(sum((n_axes-n_axest)**2)==0) spgroup=109
590 : 145 : n_axest=(/0,0,0,0,0,0,1,1,2,0, 0,0,0,0,0,4,4,0,0,0, 0,0,0,4,0,0,0,0,0,0,0/)
591 [ + + + + ]: 4640 : if(sum((n_axes-n_axest)**2)==0) spgroup=110
592 : :
593 : 145 : n_axest=(/0,4,0,0,2,0,1,1,2,0, 0,2,0,0,2,0,0,0,0,0, 0,0,0,0,2,0,0,0,0,0,0/)
594 [ + + + + ]: 4640 : if(sum((n_axes-n_axest)**2)==0) spgroup=87
595 : 145 : n_axest=(/0,4,0,0,2,0,1,1,2,0, 0,0,0,0,0,2,0,0,0,0, 0,0,0,4,0,0,0,0,0,0,0/)
596 [ + + + + ]: 4640 : if(sum((n_axes-n_axest)**2)==0) spgroup=88
597 : 145 : n_axest=(/0,4,0,0,0,0,1,1,2,0, 0,0,0,0,4,0,0,0,0,0, 4,0,0,0,0,0,0,0,0,0,0/)
598 [ + + + + ]: 4640 : if(sum((n_axes-n_axest)**2)==0) spgroup=119
599 : 145 : n_axest=(/0,4,0,0,0,0,1,1,2,0, 0,0,0,0,0,4,0,0,0,0, 4,0,0,0,0,0,0,0,0,0,0/)
600 [ + + + + ]: 4640 : if(sum((n_axes-n_axest)**2)==0) spgroup=120
601 : 145 : n_axest=(/0,4,0,0,0,0,1,1,6,0, 0,0,0,0,4,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0/)
602 [ + + + + ]: 4640 : if(sum((n_axes-n_axest)**2)==0) spgroup=121
603 : 145 : n_axest=(/0,4,0,0,0,0,1,1,6,0, 0,0,0,0,0,0,4,0,0,0, 0,0,0,0,0,0,0,0,0,0,0/)
604 [ + + + + ]: 4640 : if(sum((n_axes-n_axest)**2)==0) spgroup=122
605 : :
606 : : case(24)
607 : :
608 : 2 : n_axest=(/0,0,0,0,0,0,1,1,3,16, 0,0,0,0,0,0,0,0,0,3, 0,0,0,0,0,0,0,0,0,0,0/)
609 [ + + + - ]: 64 : if(sum((n_axes-n_axest)**2)==0) then
610 [ + + ]: 2 : if(additional_info==1) spgroup=197
611 [ + + ]: 2 : if(additional_info==2) spgroup=199
612 : : end if
613 : :
614 : : case(32)
615 : :
616 : 164 : n_axest=(/0,4,0,0,2,0,1,1,6,0, 0,2,0,0,10,0,0,0,0,0, 4,0,0,0,2,0,0,0,0,0,0/)
617 [ + + + + ]: 5248 : if(sum((n_axes-n_axest)**2)==0) spgroup=139
618 : 164 : n_axest=(/0,4,0,0,2,0,1,1,6,0, 0,2,0,0,6,4,0,0,0,0, 4,0,0,0,2,0,0,0,0,0,0/)
619 [ + + + + ]: 5248 : if(sum((n_axes-n_axest)**2)==0) spgroup=140
620 : 164 : n_axest=(/0,4,0,0,2,0,1,1,6,0, 0,0,0,0,4,2,4,0,0,0, 4,0,0,4,0,0,0,0,0,0,0/)
621 [ + + + + ]: 5248 : if(sum((n_axes-n_axest)**2)==0) spgroup=141
622 : 164 : n_axest=(/0,4,0,0,2,0,1,1,6,0, 0,0,0,0,0,6,4,0,0,0, 4,0,0,4,0,0,0,0,0,0,0/)
623 [ + + + + ]: 5248 : if(sum((n_axes-n_axest)**2)==0) spgroup=142
624 : :
625 : : case(48)
626 : :
627 : 12 : n_axest=(/0,0,16,0,2,0,1,1,3,16, 0,0,0,0,3,0,0,3,0,3, 0,0,0,0,0,0,0,0,0,0,0/)
628 [ + + + + ]: 384 : if(sum((n_axes-n_axest)**2)==0) spgroup=204
629 : 12 : n_axest=(/0,0,16,0,2,0,1,1,3,16, 0,0,0,0,0,0,0,6,0,3, 0,0,0,0,0,0,0,0,0,0,0/)
630 [ + + + + ]: 384 : if(sum((n_axes-n_axest)**2)==0) spgroup=206
631 : 12 : n_axest=(/0,0,0,0,0,0,1,1,12,16, 0,6,0,0,0,0,0,0,0,6, 0,0,0,0,6,0,0,0,0,0,0/)
632 [ + + + + ]: 384 : if(sum((n_axes-n_axest)**2)==0) spgroup=211
633 : 12 : n_axest=(/0,0,0,0,0,0,1,1,12,16, 0,0,0,0,0,0,0,0,0,6, 0,0,0,12,0,0,0,0,0,0,0/)
634 [ + + + + ]: 384 : if(sum((n_axes-n_axest)**2)==0) spgroup=214
635 : 12 : n_axest=(/0,12,0,0,0,0,1,1,3,16, 0,0,0,0,6,0,0,6,0,3, 0,0,0,0,0,0,0,0,0,0,0/)
636 [ + + + + ]: 384 : if(sum((n_axes-n_axest)**2)==0) spgroup=217
637 : 12 : n_axest=(/0,12,0,0,0,0,1,1,3,16, 0,0,0,0,0,0,12,0,0,3, 0,0,0,0,0,0,0,0,0,0,0/)
638 [ + + + + ]: 384 : if(sum((n_axes-n_axest)**2)==0) spgroup=220
639 : :
640 : : case(96)
641 : :
642 : : ! Note that the identification of the mirror planes is still ambiguous for cI
643 : 270 : n_axest=(/0,12,16,0,2,0,1,1,12,16, 0,6,0,0,9,0,0,9,0,6, 0,0,0,0,6,0,0,0,0,0,0/)
644 [ + + + + ]: 8640 : if(sum((n_axes-n_axest)**2)==0) spgroup=229
645 : 270 : n_axest=(/0,12,16,0,2,0,1,1,12,16, 0,0,0,0,0,0,12,6,0,6, 0,0,0,12,0,0,0,0,0,0,0/)
646 [ - + + + : 9338 : if(sum((n_axes-n_axest)**2)==0) spgroup=230
+ + + - +
+ + + ]
647 : :
648 : : end select
649 : :
650 : 698 : end subroutine symlist_bcc
651 : : !!***
652 : :
653 : : !!****f* m_symlist/symlist_fcc
654 : : !! NAME
655 : : !! symlist_fcc
656 : : !!
657 : : !! FUNCTION
658 : : !! Determine the space group from the number and type of symmetry operations
659 : : !! FCC case
660 : : !!
661 : : !! INPUTS
662 : : !! nsym=actual number of symmetries
663 : : !! n_axes(31)=array containing the number of all the possible symmetry operations
664 : : !!
665 : : !! OUTPUT
666 : : !! spgroup=space group number ; returns 0 if not found
667 : : !!
668 : : !! NOTES
669 : : !!
670 : : !! The list of symmetry operations is for the conventional cell
671 : : !!
672 : : !! TODO
673 : : !! For the time being there are several groups where uncertainties still exist
674 : : !! This will be solved in the very next ABINIT version
675 : : !!
676 : : !! SOURCE
677 : :
678 : 4377 : subroutine symlist_fcc(nsym,n_axes,spgroup)
679 : :
680 : : !Arguments ------------------------------------
681 : : !scalars
682 : : integer,intent(in) :: nsym
683 : : integer,intent(out) :: spgroup
684 : : !arrays
685 : : integer,intent(in) :: n_axes(31)
686 : :
687 : : !Local variables-------------------------------
688 : : !character(len=500) :: message
689 : : !arrays
690 : : integer :: n_axest(31)
691 : :
692 : : !**************************************************************************
693 : :
694 : : !DEBUG
695 : : !write(std_out,*) ' symlist_fcc : enter '
696 : : !write(std_out,*) ' nsym = ', nsym
697 : : !write(std_out,'(a,10i3)' ) ' n_axes(1:10) =',n_axes(1:10)
698 : : !write(std_out,'(a,10i3)' ) ' n_axes(11:20)=',n_axes(11:20)
699 : : !write(std_out,'(a,11i3)' ) ' n_axes(21:31)=',n_axes(21:31)
700 : : !ENDDEBUG
701 : :
702 : 4377 : spgroup=0
703 : :
704 : 4392 : select case(nsym)
705 : :
706 : : case(16)
707 : :
708 : 15 : 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/)
709 [ + + + + ]: 480 : if(sum((n_axes-n_axest)**2)==0) spgroup=22
710 : 15 : 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/)
711 [ + + + + ]: 480 : if(sum((n_axes-n_axest)**2)==0) spgroup=42
712 : 15 : 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/)
713 [ + + + + ]: 480 : if(sum((n_axes-n_axest)**2)==0) spgroup=43
714 : :
715 : :
716 : : case(32)
717 : :
718 : 16 : 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/)
719 [ + + + + ]: 512 : if(sum((n_axes-n_axest)**2)==0) spgroup=69
720 : 16 : 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/)
721 [ + + + + ]: 512 : if(sum((n_axes-n_axest)**2)==0) spgroup=70
722 : :
723 : : case(48)
724 : :
725 : 12 : 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/)
726 [ + + + - ]: 384 : if(sum((n_axes-n_axest)**2)==0) spgroup=196
727 : :
728 : : case(96)
729 : :
730 : 1031 : 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/)
731 [ + + + + ]: 32992 : if(sum((n_axes-n_axest)**2)==0) spgroup=202
732 : 1031 : 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/)
733 [ + + + + ]: 32992 : if(sum((n_axes-n_axest)**2)==0) spgroup=203
734 : 1031 : 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/)
735 [ + + + + ]: 32992 : if(sum((n_axes-n_axest)**2)==0) spgroup=209
736 : 1031 : 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/)
737 [ + + + + ]: 32992 : if(sum((n_axes-n_axest)**2)==0) spgroup=210
738 : 1031 : 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/)
739 [ + + + + ]: 32992 : if(sum((n_axes-n_axest)**2)==0) spgroup=216
740 : 1031 : 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/)
741 [ + + + + ]: 32992 : if(sum((n_axes-n_axest)**2)==0) spgroup=219
742 : :
743 : :
744 : : case(192)
745 : :
746 : 3303 : 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/)
747 [ + + + + ]: 105696 : if(sum((n_axes-n_axest)**2)==0) spgroup=225
748 : 3303 : 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/)
749 [ + + + + ]: 105696 : if(sum((n_axes-n_axest)**2)==0) spgroup=226
750 : 3303 : 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/)
751 [ + + + + ]: 105696 : if(sum((n_axes-n_axest)**2)==0) spgroup=227
752 : 3303 : 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/)
753 [ + + + + : 110073 : if(sum((n_axes-n_axest)**2)==0) spgroup=228
+ - + + +
+ ]
754 : :
755 : : end select
756 : :
757 : 4377 : end subroutine symlist_fcc
758 : : !!***
759 : :
760 : : !!****f* m_symlist/symlist_others
761 : : !! NAME
762 : : !! symlist_others
763 : : !!
764 : : !! FUNCTION
765 : : !! Determine the space group from the number and type of symmetry operations
766 : : !! Non primitive, non BCC, non FCC case : rhombohedral or face centered
767 : : !!
768 : : !! INPUTS
769 : : !! brvltt=Bravais lattice type
770 : : !! nsym=actual number of symmetries
771 : : !! n_axes(31)=array containing the number of all the possible symmetry operations
772 : : !!
773 : : !! OUTPUT
774 : : !! spgroup=space group number ; returns 0 if not found
775 : : !!
776 : : !! NOTES
777 : : !!
778 : : !! The list of symmetry operations is for the conventional cell
779 : : !!
780 : : !! TODO
781 : : !! For the time being there are several groups where uncertainties still exist
782 : : !! This will be solved in the very next ABINIT version
783 : : !!
784 : : !! SOURCE
785 : :
786 : 1411 : subroutine symlist_others(brvltt,nsym,n_axes,spgroup)
787 : :
788 : : !Arguments ------------------------------------
789 : : !scalars
790 : : integer,intent(in) :: brvltt,nsym
791 : : integer,intent(out) :: spgroup
792 : : !arrays
793 : : integer,intent(in) :: n_axes(31)
794 : :
795 : : !Local variables-------------------------------
796 : : !character(len=500) :: message
797 : : !arrays
798 : : integer :: n_axest(31)
799 : :
800 : : !**************************************************************************
801 : :
802 : : !DEBUG
803 : : !write(std_out,*) ' symlist_others : enter '
804 : : !write(std_out,*) ' nsym = ', nsym
805 : : !write(std_out,*) ' brvltt = ',brvltt
806 : : !write(std_out,'(a,10i3)' ) ' n_axes(1:10) =',n_axes(1:10)
807 : : !write(std_out,'(a,10i3)' ) ' n_axes(11:20)=',n_axes(11:20)
808 : : !write(std_out,'(a,11i3)' ) ' n_axes(21:31)=',n_axes(21:31)
809 : : !ENDDEBUG
810 : :
811 : 1411 : spgroup=0
812 : :
813 [ + + ]: 1411 : if(brvltt==4 .or. brvltt==5 .or. brvltt==6)then ! A, B, C face centered
814 : :
815 : 885 : select case(nsym)
816 : :
817 : : case(4)
818 : :
819 : 286 : n_axest=(/0,0,0,0,0,0,1,1,1,0, 0,0,0,0,0,0,0,0,0,1, 0,0,0,0,0,0,0,0,0,0,0/)
820 [ + + + + ]: 9152 : if(sum((n_axes-n_axest)**2)==0) spgroup=5
821 : 286 : n_axest=(/0,0,0,0,0,0,1,1,0,0, 0,0,0,0,1,1,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0/)
822 [ + + + + ]: 9152 : if(sum((n_axes-n_axest)**2)==0) spgroup=8
823 : 286 : n_axest=(/0,0,0,0,0,0,1,1,0,0, 0,0,0,0,0,1,0,1,0,0, 0,0,0,0,0,0,0,0,0,0,0/)
824 [ + + + + ]: 9152 : if(sum((n_axes-n_axest)**2)==0) spgroup=9
825 : :
826 : : case(8)
827 : :
828 : 218 : n_axest=(/0,0,0,0,0,0,1,1,0,0, 0,0,0,0,1,2,0,1,0,2, 0,0,0,0,0,0,0,0,0,0,0/)
829 [ + + + + ]: 6976 : if(sum((n_axes-n_axest)**2)==0) spgroup=36
830 : :
831 : 218 : n_axest=(/0,0,0,0,2,0,1,1,1,0, 0,0,0,0,1,1,0,0,0,1, 0,0,0,0,0,0,0,0,0,0,0/)
832 [ + + + + ]: 6976 : if(sum((n_axes-n_axest)**2)==0) spgroup=12
833 : 218 : n_axest=(/0,0,0,0,2,0,1,1,1,0, 0,0,0,0,0,1,0,1,0,1, 0,0,0,0,0,0,0,0,0,0,0/)
834 [ + + + + ]: 6976 : if(sum((n_axes-n_axest)**2)==0) spgroup=15
835 : 218 : n_axest=(/0,0,0,0,0,0,1,1,1,0, 0,0,0,0,2,1,0,1,0,1, 0,0,0,0,0,0,0,0,0,0,0/)
836 [ + + + + ]: 6976 : if(sum((n_axes-n_axest)**2)==0) spgroup=38
837 : 218 : n_axest=(/0,0,0,0,0,0,1,1,1,0, 0,0,0,0,1,3,0,0,0,1, 0,0,0,0,0,0,0,0,0,0,0/)
838 [ + + + + ]: 6976 : if(sum((n_axes-n_axest)**2)==0) spgroup=39
839 : 218 : n_axest=(/0,0,0,0,0,0,1,1,1,0, 0,0,0,0,1,1,0,2,0,1, 0,0,0,0,0,0,0,0,0,0,0/)
840 [ + + + + ]: 6976 : if(sum((n_axes-n_axest)**2)==0) spgroup=40
841 : 218 : n_axest=(/0,0,0,0,0,0,1,1,1,0, 0,0,0,0,0,3,0,1,0,1, 0,0,0,0,0,0,0,0,0,0,0/)
842 [ + + + + ]: 6976 : if(sum((n_axes-n_axest)**2)==0) spgroup=41
843 : :
844 : 218 : n_axest=(/0,0,0,0,0,0,1,1,2,0, 0,0,0,0,0,0,0,0,0,4, 0,0,0,0,0,0,0,0,0,0,0/)
845 [ + + + + ]: 6976 : if(sum((n_axes-n_axest)**2)==0) spgroup=20
846 : 218 : n_axest=(/0,0,0,0,0,0,1,1,2,0, 0,0,0,0,2,2,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0/)
847 [ + + + + ]: 6976 : if(sum((n_axes-n_axest)**2)==0) spgroup=35
848 : 218 : n_axest=(/0,0,0,0,0,0,1,1,2,0, 0,0,0,0,0,2,0,2,0,0, 0,0,0,0,0,0,0,0,0,0,0/)
849 [ + + + + ]: 6976 : if(sum((n_axes-n_axest)**2)==0) spgroup=37
850 : :
851 : 218 : n_axest=(/0,0,0,0,0,0,1,1,4,0, 0,0,0,0,0,0,0,0,0,2, 0,0,0,0,0,0,0,0,0,0,0/)
852 [ + + + + ]: 6976 : if(sum((n_axes-n_axest)**2)==0) spgroup=21
853 : :
854 : : case(16)
855 : :
856 : 95 : n_axest=(/0,0,0,0,2,0,1,1,2,0, 0,0,0,0,2,2,0,2,0,4, 0,0,0,0,0,0,0,0,0,0,0/)
857 [ + + + + ]: 3040 : if(sum((n_axes-n_axest)**2)==0) spgroup=63
858 : 95 : n_axest=(/0,0,0,0,2,0,1,1,2,0, 0,0,0,0,1,4,0,1,0,4, 0,0,0,0,0,0,0,0,0,0,0/)
859 [ + + + + ]: 3040 : if(sum((n_axes-n_axest)**2)==0) spgroup=64
860 : :
861 : 95 : n_axest=(/0,0,0,0,2,0,1,1,4,0, 0,0,0,0,3,2,0,1,0,2, 0,0,0,0,0,0,0,0,0,0,0/)
862 [ + + + + ]: 3040 : if(sum((n_axes-n_axest)**2)==0) spgroup=65
863 : 95 : n_axest=(/0,0,0,0,2,0,1,1,4,0, 0,0,0,0,2,4,0,0,0,2, 0,0,0,0,0,0,0,0,0,0,0/)
864 [ + + + + ]: 3040 : if(sum((n_axes-n_axest)**2)==0) spgroup=67
865 : 95 : n_axest=(/0,0,0,0,2,0,1,1,4,0, 0,0,0,0,0,4,0,2,0,2, 0,0,0,0,0,0,0,0,0,0,0/)
866 [ + + + + ]: 3040 : if(sum((n_axes-n_axest)**2)==0) spgroup=68
867 : 95 : n_axest=(/0,0,0,0,2,0,1,1,4,0, 0,0,0,0,1,2,0,3,0,2, 0,0,0,0,0,0,0,0,0,0,0/)
868 [ + + + - : 3639 : if(sum((n_axes-n_axest)**2)==0) spgroup=66
+ + + + ]
869 : :
870 : : end select
871 : :
872 [ + - ]: 812 : else if(brvltt==7)then ! Rhombohedral lattice
873 : :
874 : 818 : select case(nsym)
875 : :
876 : : case(3)
877 : :
878 : 6 : n_axest=(/0,0,0,0,0,0,0,1,0,2, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0/)
879 [ + + + - ]: 192 : if(sum((n_axes-n_axest)**2)==0) spgroup=146
880 : :
881 : : case(6)
882 : :
883 : 293 : n_axest=(/0,0,2,0,1,0,0,1,0,2, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0/)
884 [ + + + + ]: 9376 : if(sum((n_axes-n_axest)**2)==0) spgroup=148
885 : 293 : n_axest=(/0,0,0,0,0,0,0,1,3,2, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0/)
886 [ + + + + ]: 9376 : if(sum((n_axes-n_axest)**2)==0) spgroup=155
887 : 293 : n_axest=(/0,0,0,0,0,0,0,1,0,2, 0,0,0,0,3,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0/)
888 [ + + + + ]: 9376 : if(sum((n_axes-n_axest)**2)==0) spgroup=160
889 : 293 : n_axest=(/0,0,0,0,0,0,0,1,0,2, 0,0,0,0,0,3,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0/)
890 [ + + + + ]: 9376 : if(sum((n_axes-n_axest)**2)==0) spgroup=161
891 : :
892 : : case(12)
893 : :
894 : 496 : n_axest=(/0,0,2,0,1,0,0,1,3,2, 0,0,0,0,3,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0/)
895 [ + + + + ]: 15872 : if(sum((n_axes-n_axest)**2)==0) spgroup=166
896 : 496 : n_axest=(/0,0,2,0,1,0,0,1,3,2, 0,0,0,0,0,3,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0/)
897 [ + + + + : 16684 : if(sum((n_axes-n_axest)**2)==0) spgroup=167
+ + + + ]
898 : :
899 : : end select
900 : :
901 : : end if
902 : :
903 : 1411 : end subroutine symlist_others
904 : : !!***
905 : :
906 : : end module m_symlist
907 : : !!***
|