Changeset 1391 for trunk/GSASIIElem.py
- Timestamp:
- Jun 20, 2014 1:43:42 PM (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/GSASIIElem.py
r1365 r1391 68 68 atomTypes = General['AtomTypes'] 69 69 BLtable = {} 70 isotopes = General['Isotopes']71 70 isotope = General['Isotope'] 72 71 for El in atomTypes: … … 95 94 BLvals = [] 96 95 for El in BLtables: 97 BLvals.append(BLtables[El][1]['SL'][0]) 96 if 'BW-LS' in El: 97 BLvals.append(BLtables[El][1]['BW-LS'][0]) 98 else: 99 BLvals.append(BLtables[El][1]['SL'][0]) 98 100 else: 99 101 BLvals = {} 100 102 for El in BLtables: 101 BLvals[El] = BLtables[El][1]['SL'][0] 103 if 'BW-LS' in El: 104 BLvals[El] = BLtables[El][1]['BW-LS'][0] 105 else: 106 BLvals[El] = BLtables[El][1]['SL'][0] 102 107 return BLvals 103 108 … … 301 306 return np.sum(fa[:,np.newaxis]*np.exp(t)[:],axis=0)+El['fc'] 302 307 303 def BlenRes (Elist,BLtables,wave):304 FP = np.zeros(len(El ist))305 FPP = np.zeros(len(El ist))306 Emev = 81.80703/wave**2307 for i,El in enumerate(Elist):308 BL = BLtables[El]309 if len(BL) >= 6:308 def BlenResCW(Els,BLtables,wave): 309 FP = np.zeros(len(Els)) 310 FPP = np.zeros(len(Els)) 311 for i,El in enumerate(Els): 312 BL = BLtables[El][1] 313 if 'BW-LS' in BL: 314 Re,Im,E0,gam,A,E1,B,E2 = BL['BW-LS'][1:] 310 315 Emev = 81.80703/wave**2 311 G2 = BL[5]**2 312 T = [Emev-BL[4],0,0] 313 D = [T**2+G2,0,0] 314 fp = T/D 315 fpp = 1.0/D 316 if len(BL) == 8: 317 T = Emev-BL[7] 318 D = T**2+G2 319 fp += BL[6]*T/D 320 fpp += BL[6]/D 321 if len(BL) == 10: 322 T = Emev-BL[9] 323 D = T**2+G2 324 fp += BL[8]*T/D 325 fpp += BL[8]/D 326 FP[i] = (BL[2]*fp) 327 FPP[i] = (-BL[3]*fpp) 316 T0 = Emev-E0 317 T1 = Emev-E1 318 T2 = Emev-E2 319 D0 = T0**2+gam**2 320 D1 = T1**2+gam**2 321 D2 = T2**2+gam**2 322 FP[i] = Re*(T0/D0+A*T1/D1+B*T2/D2) 323 FPP[i] = Im*(1/D0+A/D1+B/D2) 328 324 else: 329 FP[i] = 0.0 330 FPP[i] = 0.0 325 FPP[i] = BL['SL'][1] #for Li, B, etc. 331 326 return FP,FPP 332 327 333 #def BlenRes(BLdata,wave): 334 # FP = [] 335 # FPP = [] 336 # Emev = 81.80703/wave**2 337 # for BL in BLdata: 338 # if len(BL) >= 6: 339 # G2 = BL[5]**2 340 # T = [Emev-BL[4],0,0] 341 # D = [T**2+G2,0,0] 342 # fp = T/D 343 # fpp = 1.0/D 344 # if len(BL) == 8: 345 # T = Emev-BL[7] 346 # D = T**2+G2 347 # fp += BL[6]*T/D 348 # fpp += BL[6]/D 349 # if len(BL) == 10: 350 # T = Emev-BL[9] 351 # D = T**2+G2 352 # fp += BL[8]*T/D 353 # fpp += BL[8]/D 354 # FP.append(BL[2]*fp) 355 # FPP.append(-BL[3]*fpp) 356 # else: 357 # FP.append(0.0) 358 # FPP.append(0.0) 359 # return np.array(FP),np.array(FPP) 328 def BlenResTOF(El,BLtables,wave): 329 # FP = np.zeros(len(wave)) 330 FPP = np.zeros(len(wave)) 331 BL = BLtables[El][1] 332 print BL 333 if 'BW-LS' in BL: 334 Re,Im,E0,gam,A,E1,B,E2 = BL['BW-LS'][1:] 335 Emev = 81.80703/wave**2 336 T0 = Emev-E0 337 T1 = Emev-E1 338 T2 = Emev-E2 339 D0 = T0**2+gam**2 340 D1 = T1**2+gam**2 341 D2 = T2**2+gam**2 342 FP = Re*(T0/D0+A*T1/D1+B*T2/D2) 343 FPP = Im*(1/D0+A/D1+B/D2) 344 else: 345 FPP = np.ones(len(wave))*BL['SL'][1] #for Li, B, etc. 346 return FP,FPP 360 347 361 348 def ComptonFac(El,SQ):
Note: See TracChangeset
for help on using the changeset viewer.