Ignore:
Timestamp:
Aug 30, 2019 2:03:45 PM (4 years ago)
Author:
vondreele
Message:

back to incomm. mag. str. fctr.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/GSASIIstrMath.py

    r4068 r4125  
    15101510       
    15111511        mXYZ = np.array([[xyz[0] for xyz in list(G2spc.GenAtom(xyz,SGData,All=True,Move=True))] for xyz in (Xdata+dXdata).T])%1. #Natn,Nop,xyz
    1512         TmagA,TmagB = G2mth.MagMod2(mXYZ,modQ,MSSdata,SGData,SSGData)   #Nops,Natm,Mxyz-Tmag matches drawing moments
     1512#        TmagA,TmagB = G2mth.MagMod2(mXYZ,modQ,MSSdata,SGData,SSGData)   #Nops,Natm,Mxyz-TmagA+TmagB matches drawing moments @ tau=0.
     1513        MmodA,MmodB = G2mth.MagMod(glTau,mXYZ,modQ,MSSdata,SGData,SSGData)  #Ntau,Nops,Natm,Mxyz sum matches drawing
    15131514       
    15141515        if not SGData['SGGray']:    #for fixed Mx,My,Mz
     
    16061607            M = np.array(np.abs(H[3]),dtype=np.int)-1
    16071608       
    1608             fam = .5*TMcorr[:,nxs,:,nxs]*np.array([np.where(M[i]>=0,(TmagB*cosm[i,:,:,nxs]-    \
    1609                 np.sign(H[3,i])*TmagA*sinm[i,:,:,nxs]),0.) for i in range(mRef)])+fam0          #Nref,Nops,Natm,Mxyz
     1609            fams = .5*TMcorr[:,nxs,nxs,:,nxs]*np.array([np.where(M[i]>=0,(MmodA*cosm[i,nxs,:,:,nxs]-    \
     1610                np.sign(H[3,i])*MmodB*sinm[i,nxs,:,:,nxs]),0.) for i in range(mRef)])          #Ntau,Nref,Nops,Natm,Mxyz
     1611                       
     1612            fbms = .5*TMcorr[:,nxs,nxs,:,nxs]*np.array([np.where(M[i]>=0,(MmodA*sinm[i,nxs,:,:,nxs]+    \
     1613                np.sign(H[3,i])*MmodB*cosm[i,nxs,:,:,nxs]),0.) for i in range(mRef)])          #Ntau,Nref,Nops,Natm,Mxyz
    16101614           
    1611             fbm = .5*TMcorr[:,nxs,:,nxs]*np.array([np.where(M[i]>=0,(TmagB*sinm[i,:,:,nxs]+    \
    1612                 np.sign(H[3,i])*TmagA*cosm[i,:,:,nxs]),0.) for i in range(mRef)])+fbm0
    1613                        
    1614             famq = np.sum(np.sum(fam,axis=-2),axis=-2)      #Nref,Mxyz; sum ops & atoms
    1615             fbmq = np.sum(np.sum(fbm,axis=-2),axis=-2)
     1615            if not SGData['SGGray']:
     1616                fams += fam0[:,nxs,:,:,:]
     1617                fbms += fbm0[:,nxs,:,:,:]
     1618                       
     1619            famqs = np.sum(np.sum(fams,axis=-2),axis=-2)      #Ntau,Nref,Mxyz; sum ops & atoms
     1620            fbmqs = np.sum(np.sum(fbms,axis=-2),axis=-2)
    16161621           
    1617             fas = np.sum(famq,axis=-1)**2-np.sum(eM.T*famq,axis=-1)**2      #mag intensity calc F^2-(e.F)^2
    1618             fbs = np.sum(fbmq,axis=-1)**2-np.sum(eM.T*fbmq,axis=-1)**2
     1622            fass = np.sum(famqs,axis=-1)**2-np.sum(eM.T[:,nxs,:]*famqs,axis=-1)**2      #mag intensity calc F^2-(e.F)^2
     1623            fbss = np.sum(fbmqs,axis=-1)**2-np.sum(eM.T[:,nxs,:]*fbmqs,axis=-1)**2
    16191624           
    1620 #            refl.T[10] = np.where(H[3],fas+fbs,fas0+fbs0)
    1621 #            refl.T[11] = np.where(H[3],atan2d(fbs,fas),atan2d(fbs0,fas0))
     1625            fas = np.sum(glWt*fass,axis=1)
     1626            fbs = np.sum(glWt*fbss,axis=1)
     1627           
    16221628            refl.T[10] = fas+fbs
    16231629            refl.T[11] = atan2d(fbs,fas)
Note: See TracChangeset for help on using the changeset viewer.