Changeset 3706
- Timestamp:
- Oct 26, 2018 8:33:06 AM (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/GSASIIspc.py
r3703 r3706 1064 1064 magSym[2] += "'" 1065 1065 SGData['MagPtGp'] = "m'3'" 1066 if SpnFlp[ 2] < 0:1066 if SpnFlp[1] < 0: 1067 1067 if not 'm' in magSym[1]: #only Ia3 1068 1068 magSym[1].strip("'") … … 2838 2838 if siteSym == '1': 2839 2839 CSI = [[1,0,0],[2,0,0],[3,0,0],[4,0,0],[5,0,0],[6,0,0]],6*[[1.,0.,0.],] 2840 elif siteSym in ['-1', 'mmm','2/m(x)','2/m(y)','2/m(z)','4/mmm001']:2840 elif siteSym in ['-1',]: 2841 2841 CSI = 3*[[0,0,0],]+[[1,0,0],[2,0,0],[3,0,0]],3*[[0.,0.,0.],]+3*[[1.,0.,0.],] 2842 2842 else: … … 2856 2856 dMTP.append(dMT) 2857 2857 for i in range(3): 2858 if not np.allclose(dM[i,i,:], dMT[i,i,:]):2858 if not np.allclose(dM[i,i,:],-dMT[i,i,:]): 2859 2859 msc[i] = 0 2860 if not np.allclose(dM[i,i+3,:], dMT[i,i+3,:]):2860 if not np.allclose(dM[i,i+3,:],-dMT[i,i+3,:]): 2861 2861 msc[i+3] = 0 2862 2862 if np.any(dtau%.5) and ('1/2' in SSGData['modSymb'] or '1' in SSGData['modSymb']): … … 2866 2866 if dT: 2867 2867 if '(x)' in siteSym: 2868 CSI[1][3:] = [ 1./dT,0.,0.],[-dT,0.,0.],[-dT,0.,0.]2868 CSI[1][3:] = [-dT,0.,0.],[1./dT,0.,0.],[1./dT,0.,0.] 2869 2869 if 'm' in siteSym and len(SdIndx) == 1: 2870 CSI[1][3:] = [ -dT,0.,0.],[1./dT,0.,0.],[1./dT,0.,0.]2870 CSI[1][3:] = [1./dT,0.,0.],[-dT,0.,0.],[-dT,0.,0.] 2871 2871 elif '(y)' in siteSym: 2872 CSI[1][3:] = [ -dT,0.,0.],[1./dT,0.,0.],[-dT,0.,0.]2872 CSI[1][3:] = [1./dT,0.,0.],[-dT,0.,0.],[1./dT,0.,0.] 2873 2873 if 'm' in siteSym and len(SdIndx) == 1: 2874 CSI[1][3:] = [ 1./dT,0.,0.],[-dT,0.,0.],[1./dT,0.,0.]2874 CSI[1][3:] = [-dT,0.,0.],[1./dT,0.,0.],[-dT,0.,0.] 2875 2875 elif '(z)' in siteSym: 2876 CSI[1][3:] = [ -dT,0.,0.],[-dT,0.,0.],[1./dT,0.,0.]2876 CSI[1][3:] = [1./dT,0.,0.],[1./dT,0.,0.],[-dT,0.,0.] 2877 2877 if 'm' in siteSym and len(SdIndx) == 1: 2878 CSI[1][3:] = [ 1./dT,0.,0.],[1./dT,0.,0.],[-dT,0.,0.]2878 CSI[1][3:] = [-dT,0.,0.],[-dT,0.,0.],[1./dT,0.,0.] 2879 2879 else: 2880 2880 CSI[1][3:] = [0.,0.,0.],[0.,0.,0.],[0.,0.,0.] … … 2919 2919 SSGOps = copy.deepcopy(SSGData['SSGOps']) 2920 2920 #expand ops to include inversions if any 2921 if SGData['SGInv'] :2921 if SGData['SGInv'] and not SGData['SGFixed']: 2922 2922 for op,sop in zip(SGData['SGOps'],SSGData['SSGOps']): 2923 2923 SGOps.append([-op[0],-op[1]%1.]) … … 3209 3209 inv = SGData['SGInv']+1 3210 3210 icen = SGData['SGCen'] 3211 Ncen = len(icen) 3211 3212 if SGData['SGFixed']: #already in list of operators 3212 3213 inv = 1 3214 if Ncen > 1: Ncen //= 2 3213 3215 Xeqv = list(GenAtom(XYZ,SGData,True)) 3214 3216 # for xeqv in Xeqv: print(xeqv) 3215 3217 IRT = PackRot(SGData['SGOps']) 3216 3218 L = -1 3217 for ic,cen in enumerate(icen ):3219 for ic,cen in enumerate(icen[:Ncen]): 3218 3220 for invers in range(int(inv)): 3219 3221 for io,ops in enumerate(SGData['SGOps']): … … 3404 3406 eleSym = {-3:['','-1'],-2:['',-6],-1:['2','-4'],0:['3','-3'],1:['4','m'],2:['6',''],3:['1','']} 3405 3407 # get operators & expand if centrosymmetric 3408 SymElements = [] 3406 3409 Ops = SGData['SGOps'] 3407 3410 opM = np.array([op[0].T for op in Ops]) … … 3440 3443 print ('rotation',Es) 3441 3444 X = [-1,-1,-1] 3442 #SymElements.append([Es,X])3445 SymElements.append([Es,X]) 3443 3446 3444 return #SymElements3447 return SymElements 3445 3448 3446 3449 def ApplyStringOps(A,SGData,X,Uij=[]):
Note: See TracChangeset
for help on using the changeset viewer.