Changeset 4997 for trunk/GSASIIstrMath.py
- Timestamp:
- Jul 16, 2021 9:21:10 AM (23 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/GSASIIstrMath.py
r4995 r4997 1532 1532 mXYZ = np.hstack((mXYZ,mXYZ)) 1533 1533 1534 MmodA ,MmodB= G2mth.MagMod(glTau,mXYZ,modQ,MSSdata,SGData,SSGData) #Ntau,Nops,Natm,Mxyz cos,sin parts sum matches drawing1534 MmodAR,MmodBR,MmodAI,MmodBI = G2mth.MagMod(glTau,mXYZ,modQ,MSSdata,SGData,SSGData) #Ntau,Nops,Natm,Mxyz cos,sin parts sum matches drawing 1535 1535 1536 1536 if not SGData['SGGray']: #for fixed Mx,My,Mz … … 1612 1612 MF = refDict['FF']['MF'][iBeg:iFin].T[Tindx].T #Nref,Natm 1613 1613 TMcorr = 0.539*(np.reshape(Tiso,Tuij.shape)*Tuij)[:,0,:]*Mdata*Fdata*MF/(2*Nops) #Nref,Natm 1614 HM = np.inner(Bmat,HP.T) #put into cartesian space X||H,Z||H*L; 1615 Hlen = np.sqrt(np.sum(HM**2,axis=0)) 1616 eM = (HM/Hlen).T # normalize HP Nref,hkl=Unit vectors || Q 1614 HM = np.inner(Bmat,HP.T) #put into cartesian space X||H,Z||H*L; 1615 eM = (HM*refl.T[5]).T # normalize HP by d* Nref,hkl=Unit vectors || Q 1617 1616 1618 1617 if not SGData['SGGray']: #correct -fixed Mx,My,Mz contribution … … 1620 1619 fbm0 = TMcorr[:,nxs,:,nxs]*GSdata[nxs,:,:,:]*sinm[:,:,:,nxs] 1621 1620 # calc mag. structure factors; Nref,Ntau,Nops,Natm,Mxyz 1622 fams = TMcorr[:,nxs,nxs,:,nxs]*np.array([np.where(H[3,i]!=0,(MmodA*cosm[i,nxs,:,:,nxs]+ 1623 H[3,i]*MmodB*sinm[i,nxs,:,:,nxs]),0.) for i in range(mRef)])/2. #Nref,Ntau,Nops,Natm,Mxyz 1621 fams = TMcorr[:,nxs,nxs,:,nxs]*np.array([np.where(H[3,i]!=0,( 1622 (MmodAR+H[3,i]*MmodBR)*cosm[i,nxs,:,:,nxs]+ 1623 (-MmodAI+H[3,i]*MmodBI)*sinm[i,nxs,:,:,nxs])*SGData['SpnFlp'][nxs,:,nxs,nxs], 1624 0.) for i in range(mRef)])/2. #Nref,Ntau,Nops,Natm,Mxyz 1624 1625 1625 fbms = TMcorr[:,nxs,nxs,:,nxs]*np.array([np.where(H[3,i]!=0,(MmodA*sinm[i,nxs,:,:,nxs]+ 1626 H[3,i]*MmodB*cosm[i,nxs,:,:,nxs]),0.) for i in range(mRef)])/2. #Nref,Ntau,Nops,Natm,Mxyz 1627 1626 fbms = TMcorr[:,nxs,nxs,:,nxs]*np.array([np.where(H[3,i]!=0,( 1627 (MmodAR+H[3,i]*MmodBR)*sinm[i,nxs,:,:,nxs]+ 1628 (-MmodAI+H[3,i]*MmodBI)*cosm[i,nxs,:,:,nxs])*SGData['SpnFlp'][nxs,:,nxs,nxs], 1629 0.) for i in range(mRef)])/2. #Nref,Ntau,Nops,Natm,Mxyz 1630 1628 1631 if not SGData['SGGray']: 1629 1632 fams += fam0[:,nxs,:,:,:] … … 1634 1637 fbsm = np.sum(np.sum(fbms,axis=-2),axis=-2) 1635 1638 # #put into cartesian space 1636 facm = np.inner(fasm,uAmat.T) 1639 facm = np.inner(fasm,uAmat.T) #.T better than not 1637 1640 fbcm = np.inner(fbsm,uAmat.T) 1638 1641 #form e.F dot product
Note: See TracChangeset
for help on using the changeset viewer.