Changeset 441


Ignore:
Timestamp:
Dec 11, 2011 3:09:49 PM (10 years ago)
Author:
vondreele
Message:

rename p:h:Size:0 & 1 to p:h:Size:i & a for isotropic/anisotropic parms, ditto for mustrain
keeps these separate from the generalized/ellipsoidal parms.
GSASIIstruct.Refine now returns Rwp - put on the "Save results" dialog.

Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/GSASII.py

    r440 r441  
    15091509        dlg.SetPosition(wx.Point(screenSize[2]-Size[0]-305,screenSize[1]+5))
    15101510        dlg.SetSize(Size)
    1511         try:
    1512             G2str.Refine(self.GSASprojectfile,dlg)
     1511        Rwp = 100.00
     1512        try:
     1513            Rwp = G2str.Refine(self.GSASprojectfile,dlg)
    15131514        finally:
    15141515            dlg.Destroy()       
    1515         dlg = wx.MessageDialog(self,'Load new result?','Refinement results',wx.OK|wx.CANCEL)
     1516        dlg = wx.MessageDialog(self,'Load new result?','Refinement results, Rwp =%.3f'%(Rwp),wx.OK|wx.CANCEL)
    15161517        try:
    15171518            if dlg.ShowModal() == wx.ID_OK:
  • trunk/GSASIIstruct.py

    r440 r441  
    10681068                controlDict[pfx+item+'Type'] = hapData[item][0]
    10691069                if hapData[item][0] in ['isotropic','uniaxial']:
    1070                     hapDict[pfx+item+':0'] = hapData[item][1][0]
     1070                    hapDict[pfx+item+':i'] = hapData[item][1][0]
    10711071                    if hapData[item][2][0]:
    1072                         hapVary.append(pfx+item+':0')
     1072                        hapVary.append(pfx+item+':i')
    10731073                    if hapData[item][0] == 'uniaxial':
    10741074                        controlDict[pfx+item+'Axis'] = hapData[item][3]
    1075                         hapDict[pfx+item+':1'] = hapData[item][1][1]
     1075                        hapDict[pfx+item+':a'] = hapData[item][1][1]
    10761076                        if hapData[item][2][1]:
    1077                             hapVary.append(pfx+item+':1')
     1077                            hapVary.append(pfx+item+':a')
    10781078                else:       #generalized for mustrain or ellipsoidal for size
    10791079                    if item == 'Mustrain':
     
    12571257            for item in ['Mustrain','Size']:
    12581258                if hapData[item][0] in ['isotropic','uniaxial']:                   
    1259                     hapData[item][1][0] = parmDict[pfx+item+':0']
     1259                    hapData[item][1][0] = parmDict[pfx+item+':i']
    12601260                    if item == 'Size':
    12611261                        hapData[item][1][0] = min(10.,max(0.01,hapData[item][1][0]))
    1262                     if pfx+item+':0' in sigDict:
    1263                         SizeMuStrSig[item][0][0] = sigDict[pfx+item+':0']
     1262                    if pfx+item+':i' in sigDict:
     1263                        SizeMuStrSig[item][0][0] = sigDict[pfx+item+':i']
    12641264                    if hapData[item][0] == 'uniaxial':
    1265                         hapData[item][1][1] = parmDict[pfx+item+':1']
     1265                        hapData[item][1][1] = parmDict[pfx+item+':a']
    12661266                        if item == 'Size':
    12671267                            hapData[item][1][1] = min(10.,max(0.01,hapData[item][1][1]))                       
    1268                         if pfx+item+':1' in sigDict:
    1269                             SizeMuStrSig[item][0][1] = sigDict[pfx+item+':1']
     1268                        if pfx+item+':a' in sigDict:
     1269                            SizeMuStrSig[item][0][1] = sigDict[pfx+item+':a']
    12701270                else:       #generalized for mustrain or ellipsoidal for size
    12711271                    for i in range(len(hapData[item][4])):
     
    18991899    #crystallite size
    19001900    if calcControls[phfx+'SizeType'] == 'isotropic':
    1901         gam = 1.8*wave/(np.pi*parmDict[phfx+'Size:0']*costh)
     1901        gam = 1.8*wave/(np.pi*parmDict[phfx+'Size:i']*costh)
    19021902    elif calcControls[phfx+'SizeType'] == 'uniaxial':
    19031903        H = np.array(refl[:3])
    19041904        P = np.array(calcControls[phfx+'SizeAxis'])
    19051905        cosP,sinP = G2lat.CosSinAngle(H,P,G)
    1906         gam = (1.8*wave/np.pi)/(parmDict[phfx+'Size:0']*parmDict[phfx+'Size:1']*costh)
    1907         gam *= np.sqrt((sinP*parmDict[phfx+'Size:1'])**2+(cosP*parmDict[phfx+'Size:0'])**2)
     1906        gam = (1.8*wave/np.pi)/(parmDict[phfx+'Size:i']*parmDict[phfx+'Size:a']*costh)
     1907        gam *= np.sqrt((sinP*parmDict[phfx+'Size:a'])**2+(cosP*parmDict[phfx+'Size:i'])**2)
    19081908    else:           #ellipsoidal crystallites
    19091909        Sij =[parmDict[phfx+'Size:%d'%(i)] for i in range(6)]
     
    19131913    #microstrain               
    19141914    if calcControls[phfx+'MustrainType'] == 'isotropic':
    1915         gam += 0.018*parmDict[phfx+'Mustrain:0']*tand(refl[5]/2.)/np.pi
     1915        gam += 0.018*parmDict[phfx+'Mustrain:i']*tand(refl[5]/2.)/np.pi
    19161916    elif calcControls[phfx+'MustrainType'] == 'uniaxial':
    19171917        H = np.array(refl[:3])
    19181918        P = np.array(calcControls[phfx+'MustrainAxis'])
    19191919        cosP,sinP = G2lat.CosSinAngle(H,P,G)
    1920         Si = parmDict[phfx+'Mustrain:0']
    1921         Sa = parmDict[phfx+'Mustrain:1']
     1920        Si = parmDict[phfx+'Mustrain:i']
     1921        Sa = parmDict[phfx+'Mustrain:a']
    19221922        gam += 0.018*Si*Sa*tand(refl[5]/2.)/(np.pi*np.sqrt((Si*cosP)**2+(Sa*sinP)**2))
    19231923    else:       #generalized - P.W. Stephens model
     
    19351935    #crystallite size derivatives
    19361936    if calcControls[phfx+'SizeType'] == 'isotropic':
    1937         gamDict[phfx+'Size:0'] = -1.80*wave/(np.pi*costh)
     1937        gamDict[phfx+'Size:i'] = -1.80*wave/(np.pi*costh)
    19381938    elif calcControls[phfx+'SizeType'] == 'uniaxial':
    19391939        H = np.array(refl[:3])
    19401940        P = np.array(calcControls[phfx+'SizeAxis'])
    19411941        cosP,sinP = G2lat.CosSinAngle(H,P,G)
    1942         Si = parmDict[phfx+'Size:0']
    1943         Sa = parmDict[phfx+'Size:1']
     1942        Si = parmDict[phfx+'Size:i']
     1943        Sa = parmDict[phfx+'Size:a']
    19441944        gami = (1.8*wave/np.pi)/(Si*Sa)
    19451945        sqtrm = np.sqrt((sinP*Sa)**2+(cosP*Si)**2)
    19461946        gam = gami*sqtrm/costh           
    1947         gamDict[phfx+'Size:0'] = gami*Si*cosP**2/(sqtrm*costh)-gam/Si
    1948         gamDict[phfx+'Size:1'] = gami*Sa*sinP**2/(sqtrm*costh)-gam/Sa         
     1947        gamDict[phfx+'Size:i'] = gami*Si*cosP**2/(sqtrm*costh)-gam/Si
     1948        gamDict[phfx+'Size:a'] = gami*Sa*sinP**2/(sqtrm*costh)-gam/Sa         
    19491949    else:           #ellipsoidal crystallites
    19501950        const = 1.8*wave/(np.pi*costh)
     
    26082608#    cPickle.dump(pawleyLookup,file,1)
    26092609#    file.close()
     2610    return Rwp
    26102611
    26112612def SeqRefine(GPXfile,dlg):
Note: See TracChangeset for help on using the changeset viewer.