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 5204 : 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 5204 : spgroup=0
91 :
92 6488 : select case(nsym)
93 :
94 : case(1)
95 :
96 1284 : 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 41088 : 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 879 : 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 28128 : if(sum((n_axes-n_axest)**2)==0) spgroup=47
231 879 : 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 28128 : if(sum((n_axes-n_axest)**2)==0) spgroup=48
233 879 : 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 28128 : if(sum((n_axes-n_axest)**2)==0) spgroup=49
235 879 : 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 28128 : if(sum((n_axes-n_axest)**2)==0) spgroup=50
237 :
238 879 : 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 28128 : if(sum((n_axes-n_axest)**2)==0) spgroup=51
240 879 : 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 28128 : if(sum((n_axes-n_axest)**2)==0) spgroup=52
242 879 : 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 28128 : if(sum((n_axes-n_axest)**2)==0) spgroup=53
244 879 : 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 28128 : if(sum((n_axes-n_axest)**2)==0) spgroup=54
246 :
247 879 : 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 28128 : 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 879 : 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 28128 : 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 879 : 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 28128 : if(sum((n_axes-n_axest)**2)==0) spgroup=58
259 879 : 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 28128 : if(sum((n_axes-n_axest)**2)==0) spgroup=59
261 :
262 879 : 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 28128 : if(sum((n_axes-n_axest)**2)==0) spgroup=61
264 879 : 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 28128 : if(sum((n_axes-n_axest)**2)==0) spgroup=62
266 :
267 879 : 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 28128 : if(sum((n_axes-n_axest)**2)==0) spgroup=89
269 879 : 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 28128 : if(sum((n_axes-n_axest)**2)==0) spgroup=90
271 :
272 879 : 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 28128 : if(sum((n_axes-n_axest)**2)==0) spgroup=91
274 879 : 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 28128 : if(sum((n_axes-n_axest)**2)==0) spgroup=95
276 :
277 879 : 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 28128 : if(sum((n_axes-n_axest)**2)==0) spgroup=92
279 879 : 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 28128 : if(sum((n_axes-n_axest)**2)==0) spgroup=96
281 :
282 879 : 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 28128 : if(sum((n_axes-n_axest)**2)==0) spgroup=93
284 879 : 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 28128 : if(sum((n_axes-n_axest)**2)==0) spgroup=94
286 :
287 879 : 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 28128 : if(sum((n_axes-n_axest)**2)==0) spgroup=99
289 879 : 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 28128 : if(sum((n_axes-n_axest)**2)==0) spgroup=100
291 879 : 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 28128 : if(sum((n_axes-n_axest)**2)==0) spgroup=101
293 879 : 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 28128 : if(sum((n_axes-n_axest)**2)==0) spgroup=102
295 879 : 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 28128 : if(sum((n_axes-n_axest)**2)==0) spgroup=103
297 879 : 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 28128 : if(sum((n_axes-n_axest)**2)==0) spgroup=104
299 879 : 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 28128 : if(sum((n_axes-n_axest)**2)==0) spgroup=105
301 879 : 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 28128 : if(sum((n_axes-n_axest)**2)==0) spgroup=106
303 :
304 879 : 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 28128 : if(sum((n_axes-n_axest)**2)==0) spgroup=83
306 879 : 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 28128 : if(sum((n_axes-n_axest)**2)==0) spgroup=84
308 879 : 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 28128 : if(sum((n_axes-n_axest)**2)==0) spgroup=85
310 879 : 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 28128 : if(sum((n_axes-n_axest)**2)==0) spgroup=86
312 :
313 879 : 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 28128 : if(sum((n_axes-n_axest)**2)==0) spgroup=111
315 879 : 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 28128 : if(sum((n_axes-n_axest)**2)==0) spgroup=112
317 879 : 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 28128 : if(sum((n_axes-n_axest)**2)==0) spgroup=113
319 879 : 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 28128 : if(sum((n_axes-n_axest)**2)==0) spgroup=114
321 879 : 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 28128 : if(sum((n_axes-n_axest)**2)==0) spgroup=115
323 879 : 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 28128 : if(sum((n_axes-n_axest)**2)==0) spgroup=116
325 879 : 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 28128 : if(sum((n_axes-n_axest)**2)==0) spgroup=117
327 879 : 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 28128 : 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 205 : 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 6560 : if(sum((n_axes-n_axest)**2)==0) spgroup=191
427 205 : 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 6560 : if(sum((n_axes-n_axest)**2)==0) spgroup=192
429 205 : 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 6560 : if(sum((n_axes-n_axest)**2)==0) spgroup=193
431 205 : 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 6560 : if(sum((n_axes-n_axest)**2)==0) spgroup=194
433 :
434 :
435 205 : 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 6560 : if(sum((n_axes-n_axest)**2)==0) spgroup=200
437 205 : 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 6560 : if(sum((n_axes-n_axest)**2)==0) spgroup=201
439 205 : 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 6560 : if(sum((n_axes-n_axest)**2)==0) spgroup=205
441 205 : 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 6560 : if(sum((n_axes-n_axest)**2)==0) spgroup=207
443 205 : 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 6560 : if(sum((n_axes-n_axest)**2)==0) spgroup=208
445 205 : 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 6560 : if(sum((n_axes-n_axest)**2)==0) spgroup=212
447 205 : 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 6560 : if(sum((n_axes-n_axest)**2)==0) spgroup=213
449 :
450 205 : 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 6560 : if(sum((n_axes-n_axest)**2)==0) spgroup=215
452 205 : 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 6560 : 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 34452 : if(sum((n_axes-n_axest)**2)==0) spgroup=224
465 :
466 : end select
467 :
468 5204 : 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 4342 : 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 4342 : spgroup=0
703 :
704 4357 : 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 1009 : 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 32288 : if(sum((n_axes-n_axest)**2)==0) spgroup=202
732 1009 : 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 32288 : if(sum((n_axes-n_axest)**2)==0) spgroup=203
734 1009 : 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 32288 : if(sum((n_axes-n_axest)**2)==0) spgroup=209
736 1009 : 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 32288 : if(sum((n_axes-n_axest)**2)==0) spgroup=210
738 1009 : 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 32288 : if(sum((n_axes-n_axest)**2)==0) spgroup=216
740 1009 : 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 32288 : if(sum((n_axes-n_axest)**2)==0) spgroup=219
742 :
743 :
744 : case(192)
745 :
746 3290 : 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 105280 : if(sum((n_axes-n_axest)**2)==0) spgroup=225
748 3290 : 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 105280 : if(sum((n_axes-n_axest)**2)==0) spgroup=226
750 3290 : 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 105280 : if(sum((n_axes-n_axest)**2)==0) spgroup=227
752 3290 : 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 109622 : if(sum((n_axes-n_axest)**2)==0) spgroup=228
754 :
755 : end select
756 :
757 4342 : 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 1401 : 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 1401 : spgroup=0
812 :
813 1401 : if(brvltt==4 .or. brvltt==5 .or. brvltt==6)then ! A, B, C face centered
814 :
815 879 : 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 212 : 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 6784 : if(sum((n_axes-n_axest)**2)==0) spgroup=36
830 :
831 212 : 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 6784 : if(sum((n_axes-n_axest)**2)==0) spgroup=12
833 212 : 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 6784 : if(sum((n_axes-n_axest)**2)==0) spgroup=15
835 212 : 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 6784 : if(sum((n_axes-n_axest)**2)==0) spgroup=38
837 212 : 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 6784 : if(sum((n_axes-n_axest)**2)==0) spgroup=39
839 212 : 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 6784 : if(sum((n_axes-n_axest)**2)==0) spgroup=40
841 212 : 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 6784 : if(sum((n_axes-n_axest)**2)==0) spgroup=41
843 :
844 212 : 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 6784 : if(sum((n_axes-n_axest)**2)==0) spgroup=20
846 212 : 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 6784 : if(sum((n_axes-n_axest)**2)==0) spgroup=35
848 212 : 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 6784 : if(sum((n_axes-n_axest)**2)==0) spgroup=37
850 :
851 212 : 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 6784 : 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 3633 : if(sum((n_axes-n_axest)**2)==0) spgroup=66
869 :
870 : end select
871 :
872 808 : else if(brvltt==7)then ! Rhombohedral lattice
873 :
874 814 : 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 492 : 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 15744 : if(sum((n_axes-n_axest)**2)==0) spgroup=166
896 492 : 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 16552 : if(sum((n_axes-n_axest)**2)==0) spgroup=167
898 :
899 : end select
900 :
901 : end if
902 :
903 1401 : end subroutine symlist_others
904 : !!***
905 :
906 : end module m_symlist
907 : !!***
|