Changeset 3795


Ignore:
Timestamp:
Jan 24, 2019 12:14:33 PM (3 years ago)
Author:
vondreele
Message:

fix space group & incommensurate space group displays for mag. incomensurate cases
disable cell refine in Unit Cell List if no peaks
another shot at incommensurate mag. structure factor calc.

Location:
trunk
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/GSASIIctrlGUI.py

    r3780 r3795  
    32373237        nG = 1
    32383238        j = 0
    3239         if self.ifGray:
    3240             nG = 2
    32413239        for ng in range(nG):
    32423240            if ng:
    32433241                mainSizer.Add(wx.StaticText(self.panel,label="      for (0,0,0)+1'"),0,WACV)
     3242                j = 0
    32443243            for ic,cent in enumerate(cents):
    3245                 Cent = np.array(Cents[ic])
     3244                Cent = np.zeros(3)
     3245                if cent:
     3246                    cent = cent.strip(' (').strip(')+\n')
     3247                    Cent = np.array(eval(cent)[:3])
     3248#                Cent = np.array(Cents[ic])
    32463249                if ic:
    32473250                    if cent: cent = cent.strip(' (').strip(')+\n')
  • trunk/GSASIIphsGUI.py

    r3774 r3795  
    19161916                SGData = generalData['SGData']
    19171917                SpcGrp = SGData['SpGrp']
     1918                if SGData['SGGray']:
     1919                    SpcGrp += " 1'"
    19181920                SGErr,SGData = G2spc.SpcGroup(SpcGrp)
    19191921                if '_' in BNSlatt:
     
    19211923                else:
    19221924                    SGData['BNSlattsym'] = [SGData['SGLatt'],[0.,0.,0.]]
    1923                 SGData['SGSpin'] = [1,]*len(SGData['SGSpin'])
     1925                SGData['SGSpin'] = [1,]*len(SGData['SGSpin'])   #set to all black
    19241926                GenSym,GenFlg = G2spc.GetGenSym(SGData)[:2]
    19251927                SGData['GenSym'] = GenSym
     
    19581960                OprNames = G2spc.GenMagOps(SGData)[0]
    19591961            else:
    1960                 if not len(GenSym) or SGData['SGGray']:
     1962                if not len(GenSym): # or SGData['SGGray']:
    19611963                    spinSizer.Add(wx.StaticText(General,label=' No spin inversion allowed'),0,WACV)
    19621964                    OprNames,SpnFlp = G2spc.GenMagOps(SGData)                   
     
    20052007            def OnShowSOps(event):
    20062008                SSGData = generalData['SSGData']
    2007                 text,table = G2spc.SSGPrint(generalData['SGData'],SSGData)
     2009                text,table = G2spc.SSGPrint(generalData['SGData'],SSGData,True)
    20082010                msg = 'Superspace Group Information'
    20092011                G2G.SGMessageBox(General,msg,text,table).ShowModal()
     
    20732075            if SGData['SGGray']:
    20742076                SpGrp += " 1'"
     2077            if 'BNSlattsym' in SGData and '_' in SGData['BNSlattsym'][0]:
     2078                SpGrp = SGData['BNSlattsym'][0]+SpGrp[1:]
    20752079            modSizer.Add(wx.StaticText(General,label=' Superspace group: %s '%SpGrp),0,WACV)
    20762080            if not SGData['SGFixed']:
  • trunk/GSASIIpwdGUI.py

    r3787 r3795  
    34203420        PatternId = G2frame.PatternId
    34213421        peaks = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,PatternId, 'Index Peak List'))
    3422         if not len(peaks[0]):
    3423             G2frame.ErrorDialog('No peaks!', 'Nothing to refine!')
    3424             return       
    34253422        print (' Refine cell')
    34263423        controls,bravais,cells,dminx,ssopt,magcells = G2frame.GPXtree.GetItemPyData(G2gd.GetGPXtreeItemId(G2frame,PatternId, 'Unit Cells List'))
     
    41014098        G2frame.dataWindow.IndexPeaks.Enable(True)
    41024099    G2frame.dataWindow.RefineCell.Enable(False)
    4103     if controls[12] > 1.0:                               #if a "real" volume (i.e. not default)
     4100    if controls[12] > 1.0 and len(peaks[0]):             #if a "real" volume (i.e. not default) and peaks
    41044101        G2frame.dataWindow.RefineCell.Enable(True)   
    41054102    G2frame.dataWindow.CopyCell.Enable(False)
  • trunk/GSASIIspc.py

    r3768 r3795  
    845845    elif 'R' in SGData['SGLatt']:
    846846        BNSsym = {'R_I':[0,0,.5]}
     847       
     848    if SGData['SGGray']:
     849        for bns in BNSsym:
     850            BNSsym[bns].append(0.5)
     851           
    847852    return UsymOp,OprFlg,BNSsym
    848853
     
    878883        return Tmat
    879884    SGData['SGSpin'].append(-1)
    880     C = SGCen+A
     885    C = SGCen+A[:3]
    881886    SGData['SGCen'] = np.vstack((SGCen,C))%1.
    882887    return Tmat
     
    12781283    sgOp = [M for M,T in SGData['SGOps']]
    12791284    oprName = [GetOprPtrName(str(irtx)) for irtx in PackRot(SGData['SGOps'])]
    1280     if SGData['SGInv'] and not SGData['SGFixed'] and not SGData['SGGray']:
     1285    if SGData['SGInv'] and not SGData['SGFixed']:
    12811286        Nsym *= 2
    12821287        sgOp += [-M for M,T in SGData['SGOps']]
     
    12951300        GenFlg = SGData.get('GenFlg',[0])
    12961301        Ngen = len(SGData['SGGen'])
    1297     #    print ('GenFlg:',SGData['GenFlg'])
    1298     #    print ('GenSym:',SGData['GenSym'])
    12991302        Nfl = len(GenFlg)
    13001303        for ieqv in range(Nsym):
     
    13021305                if SGData['SGGen'][ieqv%Ngen] & GenFlg[iunq]:
    13031306                    SpnFlp[ieqv] *= FlpSpn[iunq]
    1304     #        print ('\nMagSpGrp:',SGData['MagSpGrp'],Ncv)
    1305     #        print ('FlpSpn:',Nfl,FlpSpn)
    13061307        for incv in range(Ncv):
    13071308            if incv:
     
    13141315    MagMom = SpnFlp*np.array(Ncv*detM)      #duplicate for no. centerings
    13151316    SGData['MagMom'] = MagMom
    1316 #        print ('SgOps:',OprNames)
    1317 #        print ('SGGen:',SGData['SGGen'])
    1318 #        print ('SpnFlp:',SpnFlp)
    1319 #        print ('MagMom:',MagMom)
    13201317    return OprNames,SpnFlp
    13211318   
     
    16411638    elif SGData['SGLaue'] in ['3R','3mR']:
    16421639        return '(3+1) superlattices not defined for rhombohedral settings - use hexagonal setting',None
    1643 #    if SGData['SGGray'] and SSymbol[-1] == 's':
    1644 #        SSymbol = SSymbol[:-1]
    16451640    try:
    16461641        modsym,gensym = splitSSsym(SSymbol)
     
    16631658    if SGData['SGGray']:
    16641659        SSgSpc = SSgSpc.replace('('," 1'(")
    1665 #        SSgSpc += 's'
    16661660    SSGData = {'SSpGrp':SSgSpc,'modQ':modQ,'modSymb':modsym,'SSGKl':SSGKl}
    16671661    SSCen = np.zeros((len(SGData['SGCen']),4))
    16681662    for icen,cen in enumerate(SGData['SGCen']):
    16691663        SSCen[icen,0:3] = cen
    1670     SSCen[0] = np.zeros(4)
    16711664    SSGData['SSGCen'] = SSCen
    16721665    SSGData['SSGOps'] = []
     
    18331826        Mult = len(SSGData['SSGCen'])*len(SSGData['SSGOps'])
    18341827    SSsymb = SSGData['SSpGrp']
     1828    if 'BNSlattsym' in SGData and '_' in SGData['BNSlattsym'][0]:
     1829        SSsymb = SGData['BNSlattsym'][0]+SSsymb[1:]
    18351830    if SGData.get('SGGray',False):
    18361831        if SGData.get('SGFixed',False): Mult //= 2
     
    18741869        for i,Opr in enumerate(SSGData['SSGOps']):
    18751870            IOpr = [-Opr[0],-Opr[1]]
    1876             SSGTable.append('(%2d) %s'%(i+1,SSMT2text(IOpr)))       
    1877     if SGData['SGGray']:
    1878         SSGTable.append("     for 1'")
    1879         for i,Opr in enumerate(SSGData['SSGOps']):
    1880             Opr2 = [Opr[0],Opr[1]+np.array([0,0,0,.5])]
    1881             SSGTable.append('(%2d) %s'%(i+1,SSMT2text(Opr2)))
     1871            SSGTable.append('(%2d) %s'%(i+1+len(SSGData['SSGOps']),SSMT2text(IOpr)))       
    18821872    return SSGText,SSGTable
    18831873   
     
    35423532    iAx = abs(Ax[0])
    35433533    nA = iAx%100-1
    3544     nC = len(SGOps)*(iAx//100)
     3534    if SGData['SGInv'] and not SGData['SGFixed']:
     3535        nC = 2*len(SGOps)*(iAx//100)
     3536    else:
     3537        nC = len(SGOps)*(iAx//100)
    35453538    NA = nA
    35463539    if Ax[0] < 0:
  • trunk/GSASIIstrMath.py

    r3778 r3795  
    15301530            Q = HM[:,:,nxs,nxs,nxs]*eDotK[nxs,:,:,:,:]-Kdata[:,nxs,:,:,:] #Mxyz,Nref,Nop,Ntau,Natm
    15311531           
    1532             fam = Q*TMcorr[nxs,:,nxs,nxs,:]*cosm[nxs,:,:,nxs,:]*SMag[nxs,nxs,:,:,:]    #ditto
    1533             fbm = Q*TMcorr[nxs,:,nxs,nxs,:]*sinm[nxs,:,:,nxs,:]*SMag[nxs,nxs,:,:,:]    #ditto
     1532            fam = Q*TMcorr[nxs,:,nxs,nxs,:]*cosm[nxs,:,:,nxs,:]*SMag[nxs,nxs,:,:,:]*glWt[nxs,nxs,nxs,:,nxs]    #ditto
     1533            fbm = Q*TMcorr[nxs,:,nxs,nxs,:]*sinm[nxs,:,:,nxs,:]*SMag[nxs,nxs,:,:,:]*glWt[nxs,nxs,nxs,:,nxs]    #ditto
    15341534           
    15351535            fams = np.sum(np.sum(fam,axis=2),axis=-1)                          #xyz,Nref,ntau
    15361536            fbms = np.sum(np.sum(fbm,axis=2),axis=-1)                          #ditto
    15371537           
    1538             fams = np.sum(np.sum(fams**2,axis=0)*glWt[nxs,:],axis=-1)
    1539             fbms = np.sum(np.sum(fbms**2,axis=0)*glWt[nxs,:],axis=-1)
     1538            fams = np.sum(np.sum(fams,axis=0)**2,axis=-1)
     1539            fbms = np.sum(np.sum(fbms,axis=0)**2,axis=-1)
    15401540
    15411541        if 'T' in calcControls[hfx+'histType']:
Note: See TracChangeset for help on using the changeset viewer.