Changeset 963 for trunk/GSASIIspc.py
 Timestamp:
 Jun 20, 2013 5:07:33 PM (9 years ago)
 File:

 1 edited
Legend:
 Unmodified
 Added
 Removed

trunk/GSASIIspc.py
r956 r963 202 202 def AllOps(SGData): 203 203 ''' 204 Returns a list of all operators for a space group, including those for centering and a center of symmetry 204 Returns a list of all operators for a space group, including those for 205 centering and a center of symmetry 205 206 206 207 :param SGData: from :func:`SpcGroup` 207 :returns: list of strings of formatted symmetry operators 208 ''' 209 SGText = [] 208 :returns: (SGTextList,offsetList,symOpList,G2oprList) where 209 210 * SGTextList: a list of strings with formatted and normalized 211 symmetry operators. 212 * offsetList: a tuple of (dx,dy,dz) offsets that relate the GSASII 213 symmetry operation to the operator in SGTextList and symOpList. 214 these dx (etc.) values are added to the GSASII generated 215 positions to provide the positions that are generated 216 by the normalized symmetry operators. 217 * symOpList: a list of tuples with the normalized symmetry 218 operations as (M,T) values 219 (see ``SGOps`` in the :ref:`Space Group object<SGData_table>`) 220 * G2oprList: The GSASII operations for each symmetry operation as 221 a tuple with (center,mult,opnum), where center is (0,0,0), (0.5,0,0), 222 (0.5,0.5,0.5),...; where mult is 1 or 1 for the center of symmetry 223 and opnum is the number for the symmetry operation, in ``SGOps`` 224 (starting with 0). 225 ''' 226 SGTextList = [] 227 offsetList = [] 228 symOpList = [] 229 G2oprList = [] 210 230 onebar = (1,) 211 231 if SGData['SGInv']: … … 213 233 for cen in SGData['SGCen']: 214 234 for mult in onebar: 215 for M,T in SGData['SGOps']: 216 OPtxt = MT2text(mult*M,(mult*T)+cen) 217 SGText.append(OPtxt.replace(' ','')) 218 return SGText 219 235 for j,(M,T) in enumerate(SGData['SGOps']): 236 offset = [0,0,0] 237 Tprime = (mult*T)+cen 238 for i in range(3): 239 while Tprime[i] < 0: 240 Tprime[i] += 1 241 offset[i] += 1 242 while Tprime[i] >= 1: 243 Tprime[i] += 1 244 offset[i] += 1 245 OPtxt = MT2text(mult*M,Tprime) 246 SGTextList.append(OPtxt.replace(' ','')) 247 offsetList.append(tuple(offset)) 248 symOpList.append((mult*M,Tprime)) 249 G2oprList.append((cen,mult,j)) 250 return SGTextList,offsetList,symOpList,G2oprList 220 251 221 252 def MT2text(M,T):
Note: See TracChangeset
for help on using the changeset viewer.