Changeset 5147


Ignore:
Timestamp:
Jan 19, 2022 3:04:38 PM (8 months ago)
Author:
vondreele
Message:

Add new routine to G2lat - AplusDij? & use it in a couple of places
add a new column to the ISODISTORT mode display - shows values obtained from ISODISTORT
remove calls to GetHstrainShift? for all powder data cases - wrong thing to do.

Location:
trunk
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/GSASIIddataGUI.py

    r5112 r5147  
    437437            hstrainSizer.Add(hstrainRef,0,WACV|wx.LEFT,5)
    438438            hstrainVal = G2G.ValidatedTxtCtrl(DData,
    439                         UseList[G2frame.hist]['HStrain'][0],Id,nDig=(10,3,'g'),
    440                         OnLeave=OnNewValueReDraw)
     439                UseList[G2frame.hist]['HStrain'][0],Id,nDig=(10,3,'g'),OnLeave=OnNewValueReDraw)
    441440            if abs(UseList[G2frame.hist]['HStrain'][0][Id]) > 1e-8:
    442441                allzero = False
     
    445444        if not allzero:   # show Dij shifted unit cell
    446445            DijVals = UseList[G2frame.hist]['HStrain'][0][:]
     446            A = G2lat.cell2A(data['General']['Cell'][1:7])
    447447            # apply the Dij values to the reciprocal cell
    448             newA = []
    449             Dijdict = dict(zip(G2spc.HStrainNames(SGData),DijVals))
    450             for Aij,lbl in zip(G2lat.cell2A(data['General']['Cell'][1:7]),
    451                             ['D11','D22','D33','D12','D13','D23']):
    452                 newA.append(Aij + Dijdict.get(lbl,0.0))
     448            newA =  G2lat.AplusDij(A,DijVals,SGData)
    453449            cell = G2lat.A2cell(newA)   # convert back to direct cell
    454450            laue = generalData['SGData']['SGLaue']
  • trunk/GSASIIlattice.py

    r5116 r5147  
    267267    A = cell2A(Cell)
    268268    Dij = Data[hist]['HStrain'][0]
     269    newA = AplusDij(A,Dij,SGData)
     270    return A2cell(newA)
     271
     272def AplusDij(A,Dij,SGData):
     273    ''' returns the A corrected by Dij
     274   
     275    :param list A: reciprocal metric terms A0-A5
     276    :param array Dij: unique Dij values as stored in Hstrain
     277    :param dict SGdata: a symmetry object
     278   
     279    :returns list newA: A corrected by Dij
     280    '''
    269281    if SGData['SGLaue'] in ['-1',]:
    270282        newA = [A[0]+Dij[0],A[1]+Dij[1],A[2]+Dij[2],A[3]+Dij[3],A[4]+Dij[4],A[5]+Dij[5]]
     
    286298    elif SGData['SGLaue'] in ['m3m','m3']:
    287299        newA = [A[0]+Dij[0],A[0]+Dij[0],A[0]+Dij[0],0,0,0]
    288     return A2cell(newA)
     300       
     301    return newA
    289302   
    290303def prodMGMT(G,Mat):
  • trunk/GSASIIphsGUI.py

    r5146 r5147  
    72087208            lineSizer.Add(reset,0,WACV)
    72097209            topSizer.Add(lineSizer)
    7210             slideSizer = wx.FlexGridSizer(0,4,0,0)
    7211             slideSizer.AddGrowableCol(2,1)
     7210            slideSizer = wx.FlexGridSizer(0,5,0,0)
     7211            slideSizer.AddGrowableCol(3,1)
    72127212            modeDisp = ISOdata['modeDispl']
    72137213            idsp = 0
     
    72167216                    continue
    72177217                slideSizer.Add(wx.StaticText(ISODIST,label=item[-3].name),0,WACV)
     7218                slideSizer.Add(wx.StaticText(ISODIST,label=' %.5g '%ISOdata['ISOmodeDispl'][idsp]),0,WACV)
    72187219                dispVal = G2G.ValidatedTxtCtrl(ISODIST,modeDisp,idsp,xmin=-2.,xmax=2.,size=(75,20),OnLeave=OnDispVal)
    72197220                slideSizer.Add(dispVal,0,WACV)
     
    72297230                slideSizer.Add(refDispl,0,WACV)
    72307231                idsp += 1
    7231             slideSizer.SetMinSize(wx.Size(350,10))
     7232            slideSizer.SetMinSize(wx.Size(450,10))
    72327233            topSizer.Add(slideSizer)
    72337234            mainSizer.Add(topSizer)
     
    1089110892        newA = []
    1089210893        Dijdict = dict(zip(G2spc.HStrainNames(SGData),DijVals))
    10893         for Aij,lbl in zip(G2lat.cell2A(data['General']['Cell'][1:7]),
    10894                             ['D11','D22','D33','D12','D13','D23']):
     10894        for Aij,lbl in zip(G2lat.cell2A(data['General']['Cell'][1:7]),['D11','D22','D33','D12','D13','D23']):
    1089510895            newA.append(Aij + Dijdict.get(lbl,0.0))
    1089610896        # convert back to direct cell
  • trunk/GSASIIstrIO.py

    r5142 r5147  
    25882588                    if hapData['HStrain'][1][i]:
    25892589                        hapVary.append(pfx+name)
     2590#                Acorr = G2lat.AplusDij(A,hapData['HStrain'][0],SGData)
     2591                Acorr = A
     2592                #adjust A for the Dij rith here?
    25902593                if 'Layer Disp' in hapData:
    25912594                    hapDict[pfx+'LayerDisp'] = hapData['Layer Disp'][0]
     
    26822685                    if Phases[phase]['General'].get('Modulated',False):
    26832686                        ifSuper = True
    2684                         HKLd = np.array(G2lat.GenSSHLaue(dmin,SGData,SSGData,Vec,maxH,A))
     2687                        HKLd = np.array(G2lat.GenSSHLaue(dmin,SGData,SSGData,Vec,maxH,Acorr))
    26852688                        HKLd = G2mth.sortArray(HKLd,4,reverse=True)
    26862689                        for h,k,l,m,d in HKLd:
     
    27072710                    else:
    27082711                        ifSuper = False
    2709                         HKLd = np.array(G2lat.GenHLaue(dmin,SGData,A))
     2712                        HKLd = np.array(G2lat.GenHLaue(dmin,SGData,Acorr))
    27102713                        HKLd = G2mth.sortArray(HKLd,3,reverse=True)
    27112714                        for h,k,l,d in HKLd:
  • trunk/GSASIIstrMath.py

    r5141 r5147  
    33513351                Uniq = np.inner(refl[:3],SGMT)
    33523352                refl[5+im] = GetReflPos(refl,im,wave,A,pfx,hfx,phfx,calcControls,parmDict)         #corrected reflection position
    3353                 refl[5+im] += GetHStrainShift(refl,im,SGData,phfx,hfx,calcControls,parmDict)               #apply hydrostatic strain shift
     3353#                refl[5+im] += GetHStrainShift(refl,im,SGData,phfx,hfx,calcControls,parmDict)               #apply hydrostatic strain shift
    33543354                Lorenz = 1./(2.*sind(refl[5+im]/2.)**2*cosd(refl[5+im]/2.))           #Lorentz correction
    33553355                refl[6+im:8+im] = GetReflSigGamCW(refl,im,wave,G,GB,phfx,calcControls,parmDict)    #peak sig & gam
     
    34073407                Uniq = np.inner(refl[:3],SGMT)
    34083408                refl[5+im] = GetReflPos(refl,im,0.0,A,pfx,hfx,phfx,calcControls,parmDict)         #corrected reflection position
    3409                 refl[5+im] += GetHStrainShift(refl,im,SGData,phfx,hfx,calcControls,parmDict)               #apply hydrostatic strain shift
     3409#                refl[5+im] += GetHStrainShift(refl,im,SGData,phfx,hfx,calcControls,parmDict)               #apply hydrostatic strain shift
    34103410                refl[6+im:8+im] = GetReflSigGamED(refl,im,G,GB,phfx,calcControls,parmDict)    #peak sig & gam
    34113411                refl[11+im] = 1.0       #no intensity corrections; default = 1.0
     
    34443444                Uniq = np.inner(refl[:3],SGMT)
    34453445                refl[5+im] = GetReflPos(refl,im,wave,A,pfx,hfx,phfx,calcControls,parmDict)         #corrected reflection position
     3446#                refl[5+im] += GetHStrainShift(refl,im,SGData,phfx,hfx,calcControls,parmDict)               #apply hydrostatic strain shift
    34463447                Lorenz = 1./(2.*sind(refl[5+im]/2.)**2*cosd(refl[5+im]/2.))           #Lorentz correction
    34473448                refl[6+im:8+im] = GetReflSigGamCW(refl,im,wave,G,GB,phfx,calcControls,parmDict)    #peak sig & gam
     
    34873488                refl[5+im] = GetReflPos(refl,im,0.0,A,pfx,hfx,phfx,calcControls,parmDict)         #corrected reflection position - #TODO - what about tabluated offset?
    34883489                Lorenz = sind(abs(parmDict[hfx+'2-theta'])/2)*refl[4+im]**4                                                #TOF Lorentz correction
    3489                 refl[5+im] += GetHStrainShift(refl,im,SGData,phfx,hfx,calcControls,parmDict)               #apply hydrostatic strain shift
     3490#                refl[5+im] += GetHStrainShift(refl,im,SGData,phfx,hfx,calcControls,parmDict)               #apply hydrostatic strain shift
    34903491                refl[6+im:8+im] = GetReflSigGamTOF(refl,im,G,GB,phfx,calcControls,parmDict)    #peak sig & gam
    34913492                refl[12+im:14+im] = GetReflAlpBet(refl,im,hfx,parmDict)             #TODO - skip if alp, bet tabulated?
Note: See TracChangeset for help on using the changeset viewer.