Changeset 4125 for trunk/GSASIIstrMath.py
- Timestamp:
- Aug 30, 2019 2:03:45 PM (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/GSASIIstrMath.py
r4068 r4125 1510 1510 1511 1511 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 1513 1514 1514 1515 if not SGData['SGGray']: #for fixed Mx,My,Mz … … 1606 1607 M = np.array(np.abs(H[3]),dtype=np.int)-1 1607 1608 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 1610 1614 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) 1616 1621 1617 fas = np.sum(famq,axis=-1)**2-np.sum(eM.T*famq,axis=-1)**2 #mag intensity calc F^2-(e.F)^21618 fbs = np.sum(fbmq,axis=-1)**2-np.sum(eM.T*fbmq,axis=-1)**21622 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 1619 1624 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 1622 1628 refl.T[10] = fas+fbs 1623 1629 refl.T[11] = atan2d(fbs,fas)
Note: See TracChangeset
for help on using the changeset viewer.