Changeset 578 for trunk/GSASIIstruct.py
- Timestamp:
- Apr 27, 2012 12:14:21 PM (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/GSASIIstruct.py
r577 r578 488 488 if SGLaue in ['-1','2/m','mmm']: 489 489 return #no Pawley symmetry required constraints 490 eqvDict = {} 490 491 for i,varyI in enumerate(pawleyVary): 492 eqvDict[varyI] = [] 491 493 refI = int(varyI.split(':')[-1]) 492 494 ih,ik,il = PawleyRef[refI][:3] 493 for varyJ in pawleyVary[ 0:i]:495 for varyJ in pawleyVary[i+1:]: 494 496 refJ = int(varyJ.split(':')[-1]) 495 497 jh,jk,jl = PawleyRef[refJ][:3] … … 498 500 jsum = jh**2+jk**2 499 501 if abs(il) == abs(jl) and isum == jsum: 500 G2mv.StoreEquivalence(varyJ,(varyI,))502 eqvDict[varyI].append(varyJ) 501 503 elif SGLaue in ['3R','3mR']: 502 504 isum = ih**2+ik**2+il**2 … … 505 507 jsum2 = jh*jk+jh*jl+jk*jl 506 508 if isum == jsum and isum2 == jsum2: 507 G2mv.StoreEquivalence(varyJ,(varyI,))509 eqvDict[varyI].append(varyJ) 508 510 elif SGLaue in ['3','3m1','31m','6/m','6/mmm']: 509 511 isum = ih**2+ik**2+ih*ik 510 512 jsum = jh**2+jk**2+jh*jk 511 513 if abs(il) == abs(jl) and isum == jsum: 512 G2mv.StoreEquivalence(varyJ,(varyI,))514 eqvDict[varyI].append(varyJ) 513 515 elif SGLaue in ['m3','m3m']: 514 516 isum = ih**2+ik**2+il**2 515 517 jsum = jh**2+jk**2+jl**2 516 518 if isum == jsum: 517 G2mv.StoreEquivalence(varyJ,(varyI,)) 519 eqvDict[varyI].append(varyJ) 520 for item in pawleyVary: 521 if eqvDict[item]: 522 for item2 in pawleyVary: 523 if item2 in eqvDict[item]: 524 eqvDict[item2] = [] 525 G2mv.StoreEquivalence(item,eqvDict[item]) 518 526 519 527 def cellVary(pfx,SGData): … … 2898 2906 # print msg 2899 2907 # raise Exception(' *** Refine aborted ***') 2900 print G2mv.VarRemapShow(varyList)2908 #print G2mv.VarRemapShow(varyList) 2901 2909 G2mv.Map2Dict(parmDict,varyList) 2902 2910 Rvals = {} … … 2947 2955 print '**** Refinement failed - singular matrix ****' 2948 2956 if 'Hessian' in Controls['deriv type']: 2949 for i in result[2]['psing'].reverse(): 2950 print 'Removing parameter: ',varyList[i] 2951 del(varyList[i]) 2957 num = len(varyList)-1 2958 for i,val in enumerate(np.flipud(result[2]['psing'])): 2959 if val: 2960 print 'Removing parameter: ',varyList[num-i] 2961 del(varyList[num-i]) 2952 2962 else: 2953 2963 Ipvt = result[2]['ipvt'] … … 3129 3139 print '**** Refinement failed - singular matrix ****' 3130 3140 if 'Hessian' in Controls['deriv type']: 3131 for i in result[2]['psing'].reverse(): 3132 print 'Removing parameter: ',varyList[i] 3133 del(varyList[i]) 3141 num = len(varyList)-1 3142 for i,val in enumerate(np.flipud(result[2]['psing'])): 3143 if val: 3144 print 'Removing parameter: ',varyList[num-i] 3145 del(varyList[num-i]) 3134 3146 else: 3135 3147 Ipvt = result[2]['ipvt']
Note: See TracChangeset
for help on using the changeset viewer.