Changeset 3282 for trunk/GSASIIspc.py
- Timestamp:
- Feb 13, 2018 3:31:01 PM (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
TabularUnified trunk/GSASIIspc.py ¶
r3276 r3282 1376 1376 elif SGData['SGLaue'] in ['3R','3mR']: 1377 1377 return '(3+1) superlattices not defined for rhombohedral settings - use hexagonal setting',None 1378 if SGData['SGGray'] and SSymbol[-1] == 's': 1379 SSymbol = SSymbol[:-1] 1378 1380 try: 1379 1381 modsym,gensym = splitSSsym(SSymbol) … … 1449 1451 '31m':['','t00','0ss'], 1450 1452 '6/m':['','h','t','s','s0'], 1451 '6/mmm':[' h00','t00','s00','ss0','0ss','s0s','s0s0','00ss','s00s']}1453 '6/mmm':['','h00','t00','s00','ss0','0ss','s0s','s0s0','00ss','s00s']} 1452 1454 laue = SGData['SGLaue'] 1453 1455 SSChoice = [] … … 2127 2129 dT = 1.0 2128 2130 if np.any(dtau%.5): 2129 dT = np.tan(np.pi*np.sum(dtau%.5)) 2131 sumdtau = np.sum(dtau%.5) 2132 dT = 0. 2133 if np.abs(sumdtau-.5) > 1.e-4: 2134 dT = np.tan(np.pi*sumdtau) 2130 2135 tauT = np.inner(mst,XYZ-sop[1])+epsinv*(tau-ssop[1][3]+phase) 2131 2136 return sdet,ssdet,dtau,dT,tauT … … 2230 2235 if np.any(dtau%.5) and ('1/2' in SSGData['modSymb'] or '1' in SSGData['modSymb']): 2231 2236 fsc = [1,1] 2232 CSI = [[[1,0],[1,0]],[[1.,0.],[1/dT,0.]]] 2237 if dT: 2238 CSI = [[[1,0],[1,0]],[[1.,0.],[1/dT,0.]]] 2239 else: 2240 CSI = [[[1,0],[0,0]],[[1.,0.],[0.,0.]]] 2233 2241 FSC = np.zeros(2,dtype='i') 2234 2242 return CSI,dF,dFTP … … 2303 2311 xsc[3:6] = 0 2304 2312 CSI = [[[1,0,0],[2,0,0],[3,0,0], [1,0,0],[2,0,0],[3,0,0]], 2305 [[1.,0.,0.],[1.,0.,0.],[1.,0.,0.], [1.,0.,0.],[1.,0.,0.],[1.,0.,0.]]] 2306 if '(x)' in siteSym: 2307 CSI[1][3:] = [1./dT,0.,0.],[-dT,0.,0.],[-dT,0.,0.] 2308 if 'm' in siteSym and len(SdIndx) == 1: 2309 CSI[1][3:] = [-dT,0.,0.],[1./dT,0.,0.],[1./dT,0.,0.] 2310 elif '(y)' in siteSym: 2311 CSI[1][3:] = [-dT,0.,0.],[1./dT,0.,0.],[-dT,0.,0.] 2312 if 'm' in siteSym and len(SdIndx) == 1: 2313 CSI[1][3:] = [1./dT,0.,0.],[-dT,0.,0.],[1./dT,0.,0.] 2314 elif '(z)' in siteSym: 2315 CSI[1][3:] = [-dT,0.,0.],[-dT,0.,0.],[1./dT,0.,0.] 2316 if 'm' in siteSym and len(SdIndx) == 1: 2317 CSI[1][3:] = [1./dT,0.,0.],[1./dT,0.,0.],[-dT,0.,0.] 2313 [[1.,0.,0.],[1.,0.,0.],[1.,0.,0.], [1.,0.,0.],[1.,0.,0.],[1.,0.,0.]]] 2314 if dT: 2315 if '(x)' in siteSym: 2316 CSI[1][3:] = [1./dT,0.,0.],[-dT,0.,0.],[-dT,0.,0.] 2317 if 'm' in siteSym and len(SdIndx) == 1: 2318 CSI[1][3:] = [-dT,0.,0.],[1./dT,0.,0.],[1./dT,0.,0.] 2319 elif '(y)' in siteSym: 2320 CSI[1][3:] = [-dT,0.,0.],[1./dT,0.,0.],[-dT,0.,0.] 2321 if 'm' in siteSym and len(SdIndx) == 1: 2322 CSI[1][3:] = [1./dT,0.,0.],[-dT,0.,0.],[1./dT,0.,0.] 2323 elif '(z)' in siteSym: 2324 CSI[1][3:] = [-dT,0.,0.],[-dT,0.,0.],[1./dT,0.,0.] 2325 if 'm' in siteSym and len(SdIndx) == 1: 2326 CSI[1][3:] = [1./dT,0.,0.],[1./dT,0.,0.],[-dT,0.,0.] 2327 else: 2328 CSI[1][3:] = [0.,0.,0.],[0.,0.,0.],[0.,0.,0.] 2318 2329 if '4/mmm' in laue: 2319 2330 if np.any(dtau%.5) and '1/2' in SSGData['modSymb']: 2320 2331 if '(xy)' in siteSym: 2321 2332 CSI[0] = [[1,0,0],[1,0,0],[2,0,0], [1,0,0],[1,0,0],[2,0,0]] 2322 CSI[1][3:] = [[1./dT,0.,0.],[1./dT,0.,0.],[-dT,0.,0.]] 2333 if dT: 2334 CSI[1][3:] = [[1./dT,0.,0.],[1./dT,0.,0.],[-dT,0.,0.]] 2335 else: 2336 CSI[1][3:] = [0.,0.,0.],[0.,0.,0.],[0.,0.,0.] 2323 2337 if '(xy)' in siteSym or '(+-0)' in siteSym: 2324 2338 mul = 1 … … 2360 2374 USC = np.ones(12,dtype='i') 2361 2375 dUTP = [] 2376 dtau = 0. 2362 2377 for i in SdIndx: 2363 2378 sop = Sop[i] … … 2373 2388 dUTP.append(dUT) 2374 2389 if np.any(dtau%.5) and ('1/2' in SSGData['modSymb'] or '1' in SSGData['modSymb']): 2375 CSI = [[[1,0,0],[2,0,0],[3,0,0],[4,0,0],[5,0,0],[6,0,0], 2376 [1,0,0],[2,0,0],[3,0,0],[4,0,0],[5,0,0],[6,0,0]], 2377 [[1.,0.,0.],[1.,0.,0.],[1.,0.,0.], [1.,0.,0.],[1.,0.,0.],[1.,0.,0.], 2378 [1./dT,0.,0.],[1./dT,0.,0.],[1./dT,0.,0.], [1.,0.,0.],[1.,0.,0.],[1.,0.,0.]]] 2379 if 'mm2(x)' in siteSym: 2390 if dT: 2391 CSI = [[[1,0,0],[2,0,0],[3,0,0],[4,0,0],[5,0,0],[6,0,0], 2392 [1,0,0],[2,0,0],[3,0,0],[4,0,0],[5,0,0],[6,0,0]], 2393 [[1.,0.,0.],[1.,0.,0.],[1.,0.,0.], [1.,0.,0.],[1.,0.,0.],[1.,0.,0.], 2394 [1./dT,0.,0.],[1./dT,0.,0.],[1./dT,0.,0.], [1.,0.,0.],[1.,0.,0.],[1.,0.,0.]]] 2395 else: 2396 CSI = [[[1,0,0],[2,0,0],[3,0,0],[4,0,0],[5,0,0],[6,0,0], 2397 [1,0,0],[2,0,0],[3,0,0],[4,0,0],[5,0,0],[6,0,0]], 2398 [[1.,0.,0.],[1.,0.,0.],[1.,0.,0.], [1.,0.,0.],[1.,0.,0.],[1.,0.,0.], 2399 [0.,0.,0.],[0.,0.,0.],[0.,0.,0.], [1.,0.,0.],[1.,0.,0.],[1.,0.,0.]]] 2400 if 'mm2(x)' in siteSym and dT: 2380 2401 CSI[1][9:] = [0.,0.,0.],[-dT,0.,0.],[0.,0.,0.] 2381 2402 USC = [1,1,1,0,1,0,1,1,1,0,1,0] 2382 elif '(xy)' in siteSym :2403 elif '(xy)' in siteSym and dT: 2383 2404 CSI[0] = [[1,0,0],[1,0,0],[2,0,0],[3,0,0],[4,0,0],[4,0,0], 2384 2405 [1,0,0],[1,0,0],[2,0,0],[3,0,0],[4,0,0],[4,0,0]] 2385 2406 CSI[1][9:] = [[1./dT,0.,0.],[-dT,0.,0.],[-dT,0.,0.]] 2386 2407 USC = [1,1,1,1,1,1,1,1,1,1,1,1] 2387 elif '(x)' in siteSym :2408 elif '(x)' in siteSym and dT: 2388 2409 CSI[1][9:] = [-dT,0.,0.],[-dT,0.,0.],[1./dT,0.,0.] 2389 elif '(y)' in siteSym :2410 elif '(y)' in siteSym and dT: 2390 2411 CSI[1][9:] = [-dT,0.,0.],[1./dT,0.,0.],[-dT,0.,0.] 2391 elif '(z)' in siteSym :2412 elif '(z)' in siteSym and dT: 2392 2413 CSI[1][9:] = [1./dT,0.,0.],[-dT,0.,0.],[-dT,0.,0.] 2393 2414 for i in range(6): … … 2452 2473 2453 2474 def DoMag(): 2454 CSI = [[1,0,0],[2,0,0],[3,0,0],[4,0,0],[5,0,0],[6,0,0]] 2475 CSI = [[1,0,0],[2,0,0],[3,0,0], [4,0,0],[5,0,0],[6,0,0]],[6*[1.,0.,0.]] 2476 if siteSym == '1': 2477 CSI = [[1,0,0],[2,0,0],[3,0,0], [4,0,0],[5,0,0],[6,0,0]],[6*[1.,0.,0.]] 2478 elif siteSym == '-1': 2479 CSI = [[1,0,0],[2,0,0],[3,0,0], [0,0,0],[0,0,0],[0,0,0]],[3*[1.,0.,0.],3*[0.,0.,0.]] 2455 2480 return CSI,None,None 2456 2481
Note: See TracChangeset
for help on using the changeset viewer.