Changeset 1489


Ignore:
Timestamp:
Sep 7, 2014 1:37:26 PM (7 years ago)
Author:
vondreele
Message:

correct Uij to U6 conversions Uij = Uk/2 for i != j; k > 2 in G2lattice & G2spc
This fixes derivative issues for aniso tropic atoms in Al2O3
change names of sytsyms e.g. 2(100) to 2(x) for non-hex/trig space groups. Removes possible ambiguity with ortho, etc. cases.
Still checking extinction issues

Location:
trunk
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • trunk/GSASIIimage.py

    r1485 r1489  
    830830    numAzms = data['outAzimuths']
    831831    numChans = data['outChannels']
     832    azmOff = data['azmthOff']
    832833    Dazm = (LRazm[1]-LRazm[0])/numAzms
    833 #    LRazm += Dazm/2.
    834834    if 'log(q)' in data['binType']:
    835835        lutth = np.log(4.*np.pi*npsind(LUtth/2.)/data['wavelength'])
  • trunk/GSASIIlattice.py

    r1475 r1489  
    268268    """
    269269    U = np.array([
    270         [U6[0],  U6[3],  U6[4]],
    271         [U6[3],  U6[1],  U6[5]],
    272         [U6[4],  U6[5],  U6[2]]])
     270        [U6[0],  U6[3]/2.,  U6[4]/2.],
     271        [U6[3]/2.,  U6[1],  U6[5]/2.],
     272        [U6[4]/2.,  U6[5]/2.,  U6[2]]])
    273273    return U
    274274
     
    277277    NB: there is a non numpy version in GSASIIspc: Uij2U
    278278    """
    279     U6 = np.array([U[0][0],U[1][1],U[2][2],U[0][1],U[0][2],U[1][2]])
     279    U6 = np.array([U[0][0],U[1][1],U[2][2],U[0][1]*2.,U[0][2]*2.,U[1][2]*2.])
    280280    return U6
    281281
  • trunk/GSASIImapvars.py

    r1276 r1489  
    396396        errmsg += '\t'+ s + '\n'
    397397    equivVarList = list(set(indepVarList).union(set(depVarList)))
    398     #print 'equivVarList',equivVarList
     398    if debug: print 'equivVarList',equivVarList
    399399    inboth = set(fixVlist).intersection(set(equivVarList))
    400400    if len(inboth) > 0:
     
    604604                msg += str(mv) + " => " + s + '\n'
    605605
    606     #print 'indepVarList',indepVarList
    607     #print 'depVarList',depVarList
     606    if debug: print 'indepVarList',indepVarList
     607    if debug: print 'depVarList',depVarList
    608608    # check for errors:
    609609    inboth = set(indepVarList).intersection(set(depVarList))
     
    933933                j = 0
    934934                for v,m in zip(varlist,invmultarr):
    935                     #print v,m[0]
     935                    if debug: print 'v,m[0]: ',v,m[0]
    936936                    if j > 0: s += '  & '
    937937                    j += 1
     
    984984            if multarr is None:
    985985                for v,m in zip(varlist,invmultarr):
    986                     #print 'add derv',v,'/',m[0],'to derv',name
     986                    if debug: print 'start dMdv',dMdv[varyList.index(name)]
     987                    if debug: print 'add derv',v,'/',m[0],'to derv',name,'add=',derivDict[v] / m[0]
    987988                    if m == 0: continue
    988989                    dMdv[varyList.index(name)] += derivDict[v] / m[0]
    989990            else:
    990991                for v,m in zip(varlist,multarr[i,:]):
    991                     #print 'add derv',v,'*',m,'to derv',name
     992                    if debug: print 'start dMdv',dMdv[varyList.index(name)]
     993                    if debug: print 'add derv',v,'*',m,'to derv',name,'add=',m * derivDict[v]
    992994                    if m == 0: continue
    993995                    dMdv[varyList.index(name)] += m * derivDict[v]
  • trunk/GSASIIphsGUI.py

    r1486 r1489  
    11571157                Atoms.SetReadOnly(row,colSS+1,True)                       #Mult
    11581158                if Atoms.GetCellValue(row,colIA) == 'A':
    1159                     CSI = G2spc.GetCSuinel(atomData[row][colLabels.index('site sym')])
     1159                    try:    #patch for sytsym name changes
     1160                        CSI = G2spc.GetCSuinel(atomData[row][colSS])
     1161                    except KeyError:
     1162                        Sytsym = G2spc.SytSym(atomData[row][colX:colX+3],SGData)[0]
     1163                        atomData[row][colSS] = Sytsym
     1164                        CSI = G2spc.GetCSuinel(Sytsym)
    11601165                    Atoms.SetCellStyle(row,colUiso,VERY_LIGHT_GREY,True)
    11611166                    Atoms.SetCellTextColour(row,colUiso,VERY_LIGHT_GREY)
  • trunk/GSASIIspc.py

    r1480 r1489  
    447447    'Needs a doc string'
    448448    KNsym = {
    449         '0'         :'    1   ','1'         :'   -1   ','64'        :'  2(100)','32'        :'  m(100)',
    450         '97'        :'2/m(100)','16'        :'  2(010)','8'         :'  m(010)','25'        :'2/m(010)',
    451         '2'         :'  2(001)','4'         :'  m(001)','7'         :'2/m(001)','134217728' :'  2(011)',
    452         '67108864'  :'  m(011)','201326593' :'2/m(011)','2097152'   :'  2(0+-)','1048576'   :'  m(0+-)',
    453         '3145729'   :'2/m(0+-)','8388608'   :'  2(101)','4194304'   :'  m(101)','12582913'  :'2/m(101)',
    454         '524288'    :'  2(+0-)','262144'    :'  m(+0-)','796433'    :'2/m(+0-)','1024'      :'  2(110)',
    455         '512'       :'  m(110)','1537'      :'2/m(110)','256'       :'  2(+-0)','128'       :'  m(+-0)',
    456         '385'       :'2/m(+-0)','76'        :'mm2(100)','52'        :'mm2(010)','42'        :'mm2(001)',
    457         '135266336' :'mm2(011)','69206048'  :'mm2(0+-)','8650760'   :'mm2(101)','4718600'   :'mm2(+0-)',
    458         '1156'      :'mm2(110)','772'       :'mm2(+-0)','82'        :'  222   ','136314944' :'222(100)',
    459         '8912912'   :'222(010)','1282'      :'222(001)','127'       :'  mmm   ','204472417' :'mmm(100)',
    460         '13369369'  :'mmm(010)','1927'      :'mmm(001)','33554496'  :'  4(100)','16777280'  :' -4(100)',
     449        '0'         :'    1   ','1'         :'   -1   ','64'        :'    2(x)','32'        :'    m(x)',
     450        '97'        :'  2/m(x)','16'        :'    2(y)','8'         :'    m(y)','25'        :'  2/m(y)',
     451        '2'         :'    2(z)','4'         :'    m(z)','7'         :'  2/m(z)','134217728' :'   2(yz)',
     452        '67108864'  :'   m(yz)','201326593' :' 2/m(yz)','2097152'   :'  2(0+-)','1048576'   :'  m(0+-)',
     453        '3145729'   :'2/m(0+-)','8388608'   :'   2(xz)','4194304'   :'   m(xz)','12582913'  :' 2/m(xz)',
     454        '524288'    :'  2(+0-)','262144'    :'  m(+0-)','796433'    :'2/m(+0-)','1024'      :'   2(xy)',
     455        '512'       :'   m(xy)','1537'      :' 2/m(xy)','256'       :'  2(+-0)','128'       :'  m(+-0)',
     456        '385'       :'2/m(+-0)','76'        :'  mm2(x)','52'        :'  mm2(y)','42'        :'  mm2(z)',
     457        '135266336' :' mm2(yz)','69206048'  :'mm2(0+-)','8650760'   :' mm2(xz)','4718600'   :'mm2(+0-)',
     458        '1156'      :' mm2(xy)','772'       :'mm2(+-0)','82'        :'  222   ','136314944' :'  222(x)',
     459        '8912912'   :'  222(y)','1282'      :'  222(z)','127'       :'  mmm   ','204472417' :'  mmm(x)',
     460        '13369369'  :'  mmm(y)','1927'      :'  mmm(z)','33554496'  :'  4(100)','16777280'  :' -4(100)',
    461461        '50331745'  :'4/m(100)','169869394' :'422(100)','84934738'  :'-42m 100','101711948' :'4mm(100)',
    462462        '254804095' :'4/mmm100','536870928 ':'  4(010)','268435472' :' -4(010)','805306393' :'4/m (10)',
     
    491491    'Needs a doc string'
    492492    NXUPQsym = {
    493         '    1   ':(28,29,28,28),'   -1   ':( 1,29,28, 0),'  2(100)':(12,18,12,25),'  m(100)':(25,18,12,25),
    494         '2/m(100)':( 1,18, 0,-1),'  2(010)':(13,17,13,24),'  m(010)':(24,17,13,24),'2/m(010)':( 1,17, 0,-1),
    495         '  2(001)':(14,16,14,23),'  m(001)':(23,16,14,23),'2/m(001)':( 1,16, 0,-1),'  2(011)':(10,23,10,22),
    496         '  m(011)':(22,23,10,22),'2/m(011)':( 1,23, 0,-1),'  2(0+-)':(11,24,11,21),'  m(0+-)':(21,24,11,21),
    497         '2/m(0+-)':( 1,24, 0,-1),'  2(101)':( 8,21, 8,20),'  m(101)':(20,21, 8,20),'2/m(101)':( 1,21, 0,-1),
    498         '  2(+0-)':( 9,22, 9,19),'  m(+0-)':(19,22, 9,19),'2/m(+0-)':( 1,22, 0,-1),'  2(110)':( 6,19, 6,18),
    499         '  m(110)':(18,19, 6,18),'2/m(110)':( 1,19, 0,-1),'  2(+-0)':( 7,20, 7,17),'  m(+-0)':(17,20, 7,17),
    500         '2/m(+-0)':( 1,20, 0,-1),'mm2(100)':(12,10, 0,-1),'mm2(010)':(13,10, 0,-1),'mm2(001)':(14,10, 0,-1),
    501         'mm2(011)':(10,13, 0,-1),'mm2(0+-)':(11,13, 0,-1),'mm2(101)':( 8,12, 0,-1),'mm2(+0-)':( 9,12, 0,-1),
    502         'mm2(110)':( 6,11, 0,-1),'mm2(+-0)':( 7,11, 0,-1),'  222   ':( 1,10, 0,-1),'222(100)':( 1,13, 0,-1),
    503         '222(010)':( 1,12, 0,-1),'222(001)':( 1,11, 0,-1),'  mmm   ':( 1,10, 0,-1),'mmm(100)':( 1,13, 0,-1),
    504         'mmm(010)':( 1,12, 0,-1),'mmm(001)':( 1,11, 0,-1),'  4(100)':(12, 4,12, 0),' -4(100)':( 1, 4,12, 0),
     493        '    1   ':(28,29,28,28),'   -1   ':( 1,29,28, 0),'    2(x)':(12,18,12,25),'    m(x)':(25,18,12,25),
     494        '  2/m(x)':( 1,18, 0,-1),'    2(y)':(13,17,13,24),'    m(y)':(24,17,13,24),'  2/m(y)':( 1,17, 0,-1),
     495        '    2(z)':(14,16,14,23),'    m(z)':(23,16,14,23),'  2/m(z)':( 1,16, 0,-1),'   2(yz)':(10,23,10,22),
     496        '   m(yz)':(22,23,10,22),' 2/m(yz)':( 1,23, 0,-1),'  2(0+-)':(11,24,11,21),'  m(0+-)':(21,24,11,21),
     497        '2/m(0+-)':( 1,24, 0,-1),'   2(xz)':( 8,21, 8,20),'   m(xz)':(20,21, 8,20),' 2/m(xz)':( 1,21, 0,-1),
     498        '  2(+0-)':( 9,22, 9,19),'  m(+0-)':(19,22, 9,19),'2/m(+0-)':( 1,22, 0,-1),'   2(xy)':( 6,19, 6,18),
     499        '   m(xy)':(18,19, 6,18),' 2/m(xy)':( 1,19, 0,-1),'  2(+-0)':( 7,20, 7,17),'  m(+-0)':(17,20, 7,17),
     500        '2/m(+-0)':( 1,20, 0,-1),'  mm2(x)':(12,10, 0,-1),'  mm2(y)':(13,10, 0,-1),'  mm2(z)':(14,10, 0,-1),
     501        ' mm2(yz)':(10,13, 0,-1),'mm2(0+-)':(11,13, 0,-1),' mm2(xz)':( 8,12, 0,-1),'mm2(+0-)':( 9,12, 0,-1),
     502        ' mm2(xy)':( 6,11, 0,-1),'mm2(+-0)':( 7,11, 0,-1),'  222   ':( 1,10, 0,-1),'  222(x)':( 1,13, 0,-1),
     503        '  222(y)':( 1,12, 0,-1),'  222(z)':( 1,11, 0,-1),'  mmm   ':( 1,10, 0,-1),'  mmm(x)':( 1,13, 0,-1),
     504        '  mmm(y)':( 1,12, 0,-1),'  mmm(z)':( 1,11, 0,-1),'  4(100)':(12, 4,12, 0),' -4(100)':( 1, 4,12, 0),
    505505        '4/m(100)':( 1, 4,12,-1),'422(100)':( 1, 4, 0,-1),'-42m 100':( 1, 4, 0,-1),'4mm(100)':(12, 4, 0,-1),
    506506        '4/mmm100':( 1, 4, 0,-1),'  4(010)':(13, 3,13, 0),' -4(010)':( 1, 3,13, 0),'4/m (10)':( 1, 3,13,-1),
     
    535535    'Needs a doc string'
    536536    CSxinel = [[],                         # 0th empty - indices are Fortran style
    537         [[0,0,0],[ 0.0, 0.0, 0.0]],      #  0  0  0
    538         [[1,1,1],[ 1.0, 1.0, 1.0]],      #  X  X  X
    539         [[1,1,1],[ 1.0, 1.0,-1.0]],      #  X  X -X
    540         [[1,1,1],[ 1.0,-1.0, 1.0]],      #  X -X  X
    541         [[1,1,1],[ 1.0,-1.0,-1.0]],      # -X  X  X
    542         [[1,1,0],[ 1.0, 1.0, 0.0]],      #  X  X  0
    543         [[1,1,0],[ 1.0,-1.0, 0.0]],      #  X -X  0
    544         [[1,0,1],[ 1.0, 0.0, 1.0]],      #  X  0  X
    545         [[1,0,1],[ 1.0, 0.0,-1.0]],      #  X  0 -X
    546         [[0,1,1],[ 0.0, 1.0, 1.0]],      #  0  Y  Y
    547         [[0,1,1],[ 0.0, 1.0,-1.0]],      #  0  Y -Y
    548         [[1,0,0],[ 1.0, 0.0, 0.0]],      #  X  0  0
    549         [[0,1,0],[ 0.0, 1.0, 0.0]],      #  0  Y  0
    550         [[0,0,1],[ 0.0, 0.0, 1.0]],      #  0  0  Z
    551         [[1,1,0],[ 1.0, 2.0, 0.0]],      #  X 2X  0
    552         [[1,1,0],[ 2.0, 1.0, 0.0]],      # 2X  X  0
    553         [[1,1,2],[ 1.0, 1.0, 1.0]],      #  X  X  Z
    554         [[1,1,2],[ 1.0,-1.0, 1.0]],      #  X -X  Z
    555         [[1,2,1],[ 1.0, 1.0, 1.0]],      #  X  Y  X
    556         [[1,2,1],[ 1.0, 1.0,-1.0]],      #  X  Y -X
    557         [[1,2,2],[ 1.0, 1.0, 1.0]],      #  X  Y  Y
    558         [[1,2,2],[ 1.0, 1.0,-1.0]],      #  X  Y -Y
    559         [[1,2,0],[ 1.0, 1.0, 0.0]],      #  X  Y  0
    560         [[1,0,2],[ 1.0, 0.0, 1.0]],      #  X  0  Z
    561         [[0,1,2],[ 0.0, 1.0, 1.0]],      #  0  Y  Z
    562         [[1,1,2],[ 1.0, 2.0, 1.0]],      #  X 2X  Z
    563         [[1,1,2],[ 2.0, 1.0, 1.0]],      # 2X  X  Z
    564         [[1,2,3],[ 1.0, 1.0, 1.0]],      #  X  Y  Z
     537        [[0,0,0],[ 0.0, 0.0, 0.0]],      #1  0  0  0
     538        [[1,1,1],[ 1.0, 1.0, 1.0]],      #2  X  X  X
     539        [[1,1,1],[ 1.0, 1.0,-1.0]],      #3  X  X -X
     540        [[1,1,1],[ 1.0,-1.0, 1.0]],      #4  X -X  X
     541        [[1,1,1],[ 1.0,-1.0,-1.0]],      #5 -X  X  X
     542        [[1,1,0],[ 1.0, 1.0, 0.0]],      #6  X  X  0
     543        [[1,1,0],[ 1.0,-1.0, 0.0]],      #7  X -X  0
     544        [[1,0,1],[ 1.0, 0.0, 1.0]],      #8  X  0  X
     545        [[1,0,1],[ 1.0, 0.0,-1.0]],      #9  X  0 -X
     546        [[0,1,1],[ 0.0, 1.0, 1.0]],      #10  0  Y  Y
     547        [[0,1,1],[ 0.0, 1.0,-1.0]],      #11 0  Y -Y
     548        [[1,0,0],[ 1.0, 0.0, 0.0]],      #12  X  0  0
     549        [[0,1,0],[ 0.0, 1.0, 0.0]],      #13  0  Y  0
     550        [[0,0,1],[ 0.0, 0.0, 1.0]],      #14  0  0  Z
     551        [[1,1,0],[ 1.0, 2.0, 0.0]],      #15  X 2X  0
     552        [[1,1,0],[ 2.0, 1.0, 0.0]],      #16 2X  X  0
     553        [[1,1,2],[ 1.0, 1.0, 1.0]],      #17  X  X  Z
     554        [[1,1,2],[ 1.0,-1.0, 1.0]],      #18  X -X  Z
     555        [[1,2,1],[ 1.0, 1.0, 1.0]],      #19  X  Y  X
     556        [[1,2,1],[ 1.0, 1.0,-1.0]],      #20  X  Y -X
     557        [[1,2,2],[ 1.0, 1.0, 1.0]],      #21  X  Y  Y
     558        [[1,2,2],[ 1.0, 1.0,-1.0]],      #22  X  Y -Y
     559        [[1,2,0],[ 1.0, 1.0, 0.0]],      #23  X  Y  0
     560        [[1,0,2],[ 1.0, 0.0, 1.0]],      #24  X  0  Z
     561        [[0,1,2],[ 0.0, 1.0, 1.0]],      #25  0  Y  Z
     562        [[1,1,2],[ 1.0, 2.0, 1.0]],      #26  X 2X  Z
     563        [[1,1,2],[ 2.0, 1.0, 1.0]],      #27 2X  X  Z
     564        [[1,2,3],[ 1.0, 1.0, 1.0]],      #28  X  Y  Z
    565565        ]
    566566    indx = GetNXUPQsym(siteSym)
     
    570570    "returns Uij terms, multipliers, GUI flags & Uiso2Uij multipliers"
    571571    CSuinel = [[],                                             # 0th empty - indices are Fortran style
    572         [[1,1,1,0,0,0],[ 1.0, 1.0, 1.0, 0.0, 0.0, 0.0],[1,0,0,0,0,0],[1.0,1.0,1.0,0.0,0.0,0.0]],    #  A  A  A  0  0  0
    573         [[1,1,2,0,0,0],[ 1.0, 1.0, 1.0, 0.0, 0.0, 0.0],[1,0,1,0,0,0],[1.0,1.0,1.0,0.0,0.0,0.0]],    #  A  A  C  0  0  0
    574         [[1,2,1,0,0,0],[ 1.0, 1.0, 1.0, 0.0, 0.0, 0.0],[1,1,0,0,0,0],[1.0,1.0,1.0,0.0,0.0,0.0]],    #  A  B  A  0  0  0
    575         [[1,2,2,0,0,0],[ 1.0, 1.0, 1.0, 0.0, 0.0, 0.0],[1,1,0,0,0,0],[1.0,1.0,1.0,0.0,0.0,0.0]],    #  A  B  B  0  0  0
    576         [[1,1,1,2,2,2],[ 1.0, 1.0, 1.0, 1.0, 1.0, 1.0],[1,0,0,1,0,0],[1.0,1.0,1.0,0.0,0.0,0.0]],    #  A  A  A  D  D  D
    577         [[1,1,1,2,2,2],[ 1.0, 1.0, 1.0, 1.0,-1.0,-1.0],[1,0,0,1,0,0],[1.0,1.0,1.0,0.0,0.0,0.0]],    #  A  A  A  D -D -D
    578         [[1,1,1,2,2,2],[ 1.0, 1.0, 1.0, 1.0,-1.0, 1.0],[1,0,0,1,0,0],[1.0,1.0,1.0,0.0,0.0,0.0]],    #  A  A  A  D -D  D
    579         [[1,1,1,2,2,2],[ 1.0, 1.0, 1.0, 1.0, 1.0,-1.0],[1,0,0,1,0,0],[1.0,1.0,1.0,0.0,0.0,0.0]],    #  A  A  A  D  D -D
    580         [[1,1,2,1,0,0],[ 1.0, 1.0, 1.0, 0.5, 0.0, 0.0],[1,0,1,0,0,0],[1.0,1.0,1.0,0.5,0.0,0.0]],    #  A  A  C A/2 0  0
    581         [[1,2,3,0,0,0],[ 1.0, 1.0, 1.0, 0.0, 0.0, 0.0],[1,1,1,0,0,0],[1.0,1.0,1.0,0.0,0.0,0.0]],    #  A  B  C  0  0  0
    582         [[1,1,2,3,0,0],[ 1.0, 1.0, 1.0, 1.0, 0.0, 0.0],[1,0,1,1,0,0],[1.0,1.0,1.0,0.0,0.0,0.0]],    #  A  A  C  D  0  0
    583         [[1,2,1,0,3,0],[ 1.0, 1.0, 1.0, 0.0, 1.0, 0.0],[1,1,0,0,1,0],[1.0,1.0,1.0,0.0,0.0,0.0]],    #  A  B  A  0  E  0
    584         [[1,2,2,0,0,3],[ 1.0, 1.0, 1.0, 0.0, 0.0, 1.0],[1,1,0,0,0,1],[1.0,1.0,1.0,0.0,0.0,0.0]],    #  A  B  B  0  0  F
    585         [[1,2,3,2,0,0],[ 1.0, 1.0, 1.0, 0.5, 0.0, 0.0],[1,1,1,0,0,0],[1.0,1.0,1.0,0.0,0.5,0.0]],    #  A  B  C B/2 0  0
    586         [[1,2,3,1,0,0],[ 1.0, 1.0, 1.0, 0.5, 0.0, 0.0],[1,1,1,0,0,0],[1.0,1.0,1.0,0.0,0.5,0.0]],    #  A  B  C A/2 0  0
    587         [[1,2,3,4,0,0],[ 1.0, 1.0, 1.0, 1.0, 0.0, 0.0],[1,1,1,1,0,0],[1.0,1.0,1.0,0.0,0.0,0.0]],    #  A  B  C  D  0  0
    588         [[1,2,3,0,4,0],[ 1.0, 1.0, 1.0, 0.0, 1.0, 0.0],[1,1,1,0,1,0],[1.0,1.0,1.0,0.0,0.0,0.0]],    #  A  B  C  0  E  0
    589         [[1,2,3,0,0,4],[ 1.0, 1.0, 1.0, 0.0, 0.0, 1.0],[1,1,1,0,0,1],[1.0,1.0,1.0,0.0,0.0,0.0]],    #  A  B  C  0  0  F
    590         [[1,1,2,3,4,4],[ 1.0, 1.0, 1.0, 1.0, 1.0,-1.0],[1,0,1,1,1,0],[1.0,1.0,1.0,0.0,0.0,0.0]],    #  A  A  C  D  E -E
    591         [[1,1,2,3,4,4],[ 1.0, 1.0, 1.0, 1.0, 1.0, 1.0],[1,0,1,1,1,0],[1.0,1.0,1.0,0.0,0.0,0.0]],    #  A  A  C  D  E  E
    592         [[1,2,1,3,4,3],[ 1.0, 1.0, 1.0, 1.0, 1.0,-1.0],[1,1,0,1,1,0],[1.0,1.0,1.0,0.0,0.0,0.0]],    #  A  B  A  D  E -D
    593         [[1,2,1,3,4,3],[ 1.0, 1.0, 1.0, 1.0, 1.0, 1.0],[1,1,0,1,1,0],[1.0,1.0,1.0,0.0,0.0,0.0]],    #  A  B  A  D  E  D
    594         [[1,2,2,3,3,4],[ 1.0, 1.0, 1.0, 1.0,-1.0, 1.0],[1,1,0,1,0,1],[1.0,1.0,1.0,0.0,0.0,0.0]],    #  A  B  B  D -D  F
    595         [[1,2,2,3,3,4],[ 1.0, 1.0, 1.0, 1.0, 1.0, 1.0],[1,1,0,1,0,1],[1.0,1.0,1.0,0.0,0.0,0.0]],    #  A  B  B  D  D  F
    596         [[1,2,3,2,4,4],[ 1.0, 1.0, 1.0, 0.5, 0.5, 1.0],[1,1,1,0,0,1],[1.0,1.0,1.0,0.5,0.0,0.0]],    #  A  B  C B/2 F/2 F
    597         [[1,2,3,1,0,4],[ 1.0, 1.0, 1.0, 0.5, 0.0, 1.0],[1,1,1,0,0,1],[1.0,1.0,1.0,0.5,0.0,0.0]],    #  A  B  C A/2  0  F
    598         [[1,2,3,2,4,0],[ 1.0, 1.0, 1.0, 0.5, 1.0, 0.0],[1,1,1,0,1,0],[1.0,1.0,1.0,0.5,0.0,0.0]],    #  A  B  C B/2  E  0
    599         [[1,2,3,1,4,4],[ 1.0, 1.0, 1.0, 0.5, 1.0, 0.5],[1,1,1,0,1,0],[1.0,1.0,1.0,0.5,0.0,0.0]],    #  A  B  C A/2  E E/2
    600         [[1,2,3,4,5,6],[ 1.0, 1.0, 1.0, 1.0, 1.0, 1.0],[1,1,1,1,1,1],[1.0,1.0,1.0,0.0,0.0,0.0]],    #  A  B  C  D  E   F
     572        [[1,1,1,0,0,0],[ 1.0, 1.0, 1.0, 0.0, 0.0, 0.0],[1,0,0,0,0,0],[1.0,1.0,1.0,0.0,0.0,0.0]],    #1  A  A  A  0  0  0
     573        [[1,1,2,0,0,0],[ 1.0, 1.0, 1.0, 0.0, 0.0, 0.0],[1,0,1,0,0,0],[1.0,1.0,1.0,0.0,0.0,0.0]],    #2  A  A  C  0  0  0
     574        [[1,2,1,0,0,0],[ 1.0, 1.0, 1.0, 0.0, 0.0, 0.0],[1,1,0,0,0,0],[1.0,1.0,1.0,0.0,0.0,0.0]],    #3  A  B  A  0  0  0
     575        [[1,2,2,0,0,0],[ 1.0, 1.0, 1.0, 0.0, 0.0, 0.0],[1,1,0,0,0,0],[1.0,1.0,1.0,0.0,0.0,0.0]],    #4  A  B  B  0  0  0
     576        [[1,1,1,2,2,2],[ 1.0, 1.0, 1.0, 1.0, 1.0, 1.0],[1,0,0,1,0,0],[1.0,1.0,1.0,0.0,0.0,0.0]],    #5  A  A  A  D  D  D
     577        [[1,1,1,2,2,2],[ 1.0, 1.0, 1.0, 1.0,-1.0,-1.0],[1,0,0,1,0,0],[1.0,1.0,1.0,0.0,0.0,0.0]],    #6  A  A  A  D -D -D
     578        [[1,1,1,2,2,2],[ 1.0, 1.0, 1.0, 1.0,-1.0, 1.0],[1,0,0,1,0,0],[1.0,1.0,1.0,0.0,0.0,0.0]],    #7  A  A  A  D -D  D
     579        [[1,1,1,2,2,2],[ 1.0, 1.0, 1.0, 1.0, 1.0,-1.0],[1,0,0,1,0,0],[1.0,1.0,1.0,0.0,0.0,0.0]],    #8  A  A  A  D  D -D
     580        [[1,1,2,1,0,0],[ 1.0, 1.0, 1.0, 0.5, 0.0, 0.0],[1,0,1,0,0,0],[1.0,1.0,1.0,0.5,0.0,0.0]],    #9  A  A  C A/2 0  0
     581        [[1,2,3,0,0,0],[ 1.0, 1.0, 1.0, 0.0, 0.0, 0.0],[1,1,1,0,0,0],[1.0,1.0,1.0,0.0,0.0,0.0]],    #10  A  B  C  0  0  0
     582        [[1,1,2,3,0,0],[ 1.0, 1.0, 1.0, 1.0, 0.0, 0.0],[1,0,1,1,0,0],[1.0,1.0,1.0,0.0,0.0,0.0]],    #11  A  A  C  D  0  0
     583        [[1,2,1,0,3,0],[ 1.0, 1.0, 1.0, 0.0, 1.0, 0.0],[1,1,0,0,1,0],[1.0,1.0,1.0,0.0,0.0,0.0]],    #12  A  B  A  0  E  0
     584        [[1,2,2,0,0,3],[ 1.0, 1.0, 1.0, 0.0, 0.0, 1.0],[1,1,0,0,0,1],[1.0,1.0,1.0,0.0,0.0,0.0]],    #13  A  B  B  0  0  F
     585        [[1,2,3,2,0,0],[ 1.0, 1.0, 1.0, 0.5, 0.0, 0.0],[1,1,1,0,0,0],[1.0,1.0,1.0,0.0,0.5,0.0]],    #14  A  B  C B/2 0  0
     586        [[1,2,3,1,0,0],[ 1.0, 1.0, 1.0, 0.5, 0.0, 0.0],[1,1,1,0,0,0],[1.0,1.0,1.0,0.0,0.5,0.0]],    #15  A  B  C A/2 0  0
     587        [[1,2,3,4,0,0],[ 1.0, 1.0, 1.0, 1.0, 0.0, 0.0],[1,1,1,1,0,0],[1.0,1.0,1.0,0.0,0.0,0.0]],    #16  A  B  C  D  0  0
     588        [[1,2,3,0,4,0],[ 1.0, 1.0, 1.0, 0.0, 1.0, 0.0],[1,1,1,0,1,0],[1.0,1.0,1.0,0.0,0.0,0.0]],    #17  A  B  C  0  E  0
     589        [[1,2,3,0,0,4],[ 1.0, 1.0, 1.0, 0.0, 0.0, 1.0],[1,1,1,0,0,1],[1.0,1.0,1.0,0.0,0.0,0.0]],    #18  A  B  C  0  0  F
     590        [[1,1,2,3,4,4],[ 1.0, 1.0, 1.0, 1.0, 1.0,-1.0],[1,0,1,1,1,0],[1.0,1.0,1.0,0.0,0.0,0.0]],    #19  A  A  C  D  E -E
     591        [[1,1,2,3,4,4],[ 1.0, 1.0, 1.0, 1.0, 1.0, 1.0],[1,0,1,1,1,0],[1.0,1.0,1.0,0.0,0.0,0.0]],    #20  A  A  C  D  E  E
     592        [[1,2,1,3,4,3],[ 1.0, 1.0, 1.0, 1.0, 1.0,-1.0],[1,1,0,1,1,0],[1.0,1.0,1.0,0.0,0.0,0.0]],    #21  A  B  A  D  E -D
     593        [[1,2,1,3,4,3],[ 1.0, 1.0, 1.0, 1.0, 1.0, 1.0],[1,1,0,1,1,0],[1.0,1.0,1.0,0.0,0.0,0.0]],    #22  A  B  A  D  E  D
     594        [[1,2,2,3,3,4],[ 1.0, 1.0, 1.0, 1.0,-1.0, 1.0],[1,1,0,1,0,1],[1.0,1.0,1.0,0.0,0.0,0.0]],    #23  A  B  B  D -D  F
     595        [[1,2,2,3,3,4],[ 1.0, 1.0, 1.0, 1.0, 1.0, 1.0],[1,1,0,1,0,1],[1.0,1.0,1.0,0.0,0.0,0.0]],    #24  A  B  B  D  D  F
     596        [[1,2,3,2,4,4],[ 1.0, 1.0, 1.0, 0.5, 0.5, 1.0],[1,1,1,0,0,1],[1.0,1.0,1.0,0.5,0.0,0.0]],    #25  A  B  C B/2 F/2 F
     597        [[1,2,3,1,0,4],[ 1.0, 1.0, 1.0, 0.5, 0.0, 1.0],[1,1,1,0,0,1],[1.0,1.0,1.0,0.5,0.0,0.0]],    #26  A  B  C A/2  0  F
     598        [[1,2,3,2,4,0],[ 1.0, 1.0, 1.0, 0.5, 1.0, 0.0],[1,1,1,0,1,0],[1.0,1.0,1.0,0.5,0.0,0.0]],    #27  A  B  C B/2  E  0
     599        [[1,2,3,1,4,4],[ 1.0, 1.0, 1.0, 0.5, 1.0, 0.5],[1,1,1,0,1,0],[1.0,1.0,1.0,0.5,0.0,0.0]],    #28  A  B  C A/2  E E/2
     600        [[1,2,3,4,5,6],[ 1.0, 1.0, 1.0, 1.0, 1.0, 1.0],[1,1,1,1,1,1],[1.0,1.0,1.0,0.0,0.0,0.0]],    #29  A  B  C  D  E   F
    601601        ]
    602602    indx = GetNXUPQsym(siteSym)
     
    954954def U2Uij(U):
    955955    #returns the UIJ vector U11,U22,U33,U12,U13,U23 from tensor U
    956     return [U[0][0],U[1][1],U[2][2],U[0][1],U[0][2],U[1][2]]
     956    return [U[0][0],U[1][1],U[2][2],2.*U[0][1],2.*U[0][2],2.*U[1][2]]
    957957   
    958958def Uij2U(Uij):
    959959    #returns the thermal motion tensor U from Uij as numpy array
    960     return np.array([[Uij[0],Uij[3],Uij[4]],[Uij[3],Uij[1],Uij[5]],[Uij[4],Uij[5],Uij[2]]])
     960    return np.array([[Uij[0],Uij[3]/2.,Uij[4]/2.],[Uij[3]/2.,Uij[1],Uij[5]/2.],[Uij[4]/2.,Uij[5]/2.,Uij[2]]])
    961961
    962962def StandardizeSpcName(spcgroup):
  • trunk/GSASIIstrIO.py

    r1483 r1489  
    831831                    '%10.5f'%(at[cx+2])+'%8.3f'%(at[cx+3])+'%7s'%(at[cs])+'%5d'%(at[cs+1])+'%5s'%(at[cia])
    832832                if at[cia] == 'I':
    833                     line += '%8.4f'%(at[cia+1])+48*' '
     833                    line += '%8.5f'%(at[cia+1])+48*' '
    834834                else:
    835835                    line += 8*' '
    836836                    for j in range(6):
    837                         line += '%8.4f'%(at[cia+1+j])
     837                        line += '%8.5f'%(at[cia+2+j])
    838838                print >>pFile,line
    839839        elif General['Type'] == 'macromolecular':
     
    847847                    line += 8*' '
    848848                    for j in range(6):
    849                         line += '%8.4f'%(at[cia+1+j])
     849                        line += '%8.4f'%(at[cia+2+j])
    850850                print >>pFile,line
    851851       
     
    999999                        phaseVary.append(pfx+'Afrac:'+str(i))
    10001000                    if 'X' in at[ct+1]:
     1001                        try:    #patch for sytsym name changes
     1002                            xId,xCoef = G2spc.GetCSxinel(at[cs])
     1003                        except KeyError:
     1004                            Sytsym = G2spc.SytSym(at[cx:cx+3],SGData)[0]
     1005                            at[cs] = Sytsym
     1006                            xId,xCoef = G2spc.GetCSxinel(at[cs])
    10011007                        xId,xCoef = G2spc.GetCSxinel(at[cs])
    10021008                        names = [pfx+'dAx:'+str(i),pfx+'dAy:'+str(i),pfx+'dAz:'+str(i)]
     
    10091015                            if len(equiv) > 1:
    10101016                                name = equiv[0][0]
     1017                                coef = equiv[0][1]
    10111018                                for eqv in equiv[1:]:
     1019                                    eqv[1] /= coef
    10121020                                    G2mv.StoreEquivalence(name,(eqv,))
    10131021                    if 'U' in at[ct+1]:
     
    10151023                            phaseVary.append(pfx+'AUiso:'+str(i))
    10161024                        else:
     1025                            try:    #patch for sytsym name changes
     1026                                uId,uCoef = G2spc.GetCSuinel(at[cs])[:2]
     1027                            except KeyError:
     1028                                Sytsym = G2spc.SytSym(at[cx:cx+3],SGData)[0]
     1029                                at[cs] = Sytsym
     1030                                uId,uCoef = G2spc.GetCSuinel(at[cs])[:2]
    10171031                            uId,uCoef = G2spc.GetCSuinel(at[cs])[:2]
    10181032                            names = [pfx+'AU11:'+str(i),pfx+'AU22:'+str(i),pfx+'AU33:'+str(i),
     
    10261040                                if len(equiv) > 1:
    10271041                                    name = equiv[0][0]
     1042                                    coef = equiv[0][1]
    10281043                                    for eqv in equiv[1:]:
    1029                                         G2mv.StoreEquivalence(name,(eqv,))
     1044                                        eqv[1] /= coef
     1045                                    G2mv.StoreEquivalence(name,equiv[1:])
    10301046#            elif General['Type'] == 'magnetic':
    10311047#            elif General['Type'] == 'macromolecular':
     
    12931309        elif General['Type'] == 'macromolecular':
    12941310            line = ' res no  residue  chain '+line
     1311        cx,ct,cs,cia = General['AtomPtrs']
    12951312        print >>pFile,line
    12961313        if General['Type'] == 'nuclear':
  • trunk/GSASIIstrMain.py

    r1474 r1489  
    173173        #if warnmsg: print 'Warnings',warnmsg
    174174        raise Exception(' *** Refine aborted ***')
    175     #print G2mv.VarRemapShow(varyList)
     175#    print G2mv.VarRemapShow(varyList)
    176176   
    177177    ifPrint = True
  • trunk/GSASIIstrMath.py

    r1484 r1489  
    764764        dfadua = np.sum(-Hij*fa[:,:,:,np.newaxis],axis=2)
    765765        dfadba = np.sum(-cosp*(occ*Tcorr)[:,np.newaxis],axis=1)
    766         #NB: the above have been checked against PA(1:10,1:2) in strfctr.for     
     766        #NB: the above have been checked against PA(1:10,1:2) in strfctr.for for al2O3!   
    767767        dFdfr[iref] = 2.*(fas[0]*dfadfr[0]+fas[1]*dfadfr[1])*Mdata/len(Uniq)
    768768        dFdx[iref] = 2.*(fas[0]*dfadx[0]+fas[1]*dfadx[1])
     
    20142014                            depDerivDict[var][iref] = w*dFdvDict[var][iref]*parmDict[phfx+'Scale']*ref[11]  #*dervCor
    20152015                    if phfx+'Scale' in varylist:
    2016                         dMdvh[varylist.index(phfx+'Scale')][iref] = w*ref[9]*dervCor
     2016                        dMdvh[varylist.index(phfx+'Scale')][iref] = w*ref[9]*ref[11]  #*dervCor
    20172017                    elif phfx+'Scale' in dependentVars:
    2018                         depDerivDict[phfx+'Scale'][iref] = w*ref[9]*dervCor
     2018                        depDerivDict[phfx+'Scale'][iref] = w*ref[9]*ref[11]  #*dervCor
    20192019                    for item in ['Ep','Es','Eg']:
    20202020                        if phfx+item in varylist and dervDict:
    2021                             dMdvh[varylist.index(phfx+item)][iref] = w*dervDict[phfx+item]/dervCor
     2021                            dMdvh[varylist.index(phfx+item)][iref] = w*dervDict[phfx+item]/ref[11]  #/dervCor
    20222022                        elif phfx+item in dependentVars and dervDict:
    2023                             depDerivDict[phfx+item][iref] = w*dervDict[phfx+item]/dervCor
     2023                            depDerivDict[phfx+item][iref] = w*dervDict[phfx+item]/ref[11]  #/dervCor
    20242024                    for item in ['BabA','BabU']:
    20252025                        if phfx+item in varylist:
     
    20382038                    for j,var in enumerate(varylist):
    20392039                        if var in dFdvDict:
    2040                             dMdvh[j][iref] = w*dFdvDict[var][iref]*parmDict[phfx+'Scale']*ref[11]       #*dervCor
     2040                            dMdvh[j][iref] = w*dFdvDict[var][iref]*parmDict[phfx+'Scale']*dervCor       #*ref[11]
    20412041                    for var in dependentVars:
    20422042                        if var in dFdvDict:
    2043                             depDerivDict[var][iref] = w*dFdvDict[var][iref]*parmDict[phfx+'Scale']*ref[11]      #*dervCor
     2043                            depDerivDict[var][iref] = w*dFdvDict[var][iref]*parmDict[phfx+'Scale']*dervCor      #*ref[11]
    20442044                    if phfx+'Scale' in varylist:
    2045                         dMdvh[varylist.index(phfx+'Scale')][iref] = w*ref[9]*ref[11]    #*dervCor
     2045                        dMdvh[varylist.index(phfx+'Scale')][iref] = w*ref[9]*dervCor    #*ref[11]
    20462046                    elif phfx+'Scale' in dependentVars:
    2047                         depDerivDict[phfx+'Scale'][iref] = w*ref[9]*ref[11] #*dervCor                           
     2047                        depDerivDict[phfx+'Scale'][iref] = w*ref[9]*dervCor #*ref[11]                           
    20482048                    for item in ['Ep','Es','Eg']:
    20492049                        if phfx+item in varylist and dervDict:
     
    20852085            Limits = calcControls[hfx+'Limits']
    20862086            x,y,w,yc,yb,yd = Histogram['Data']
    2087             W = wtFactor*w
    20882087            xB = np.searchsorted(x,Limits[0])
    20892088            xF = np.searchsorted(x,Limits[1])
    2090             dMdvh = np.sqrt(W[xB:xF])*getPowderProfileDerv(parmDict,x[xB:xF],
     2089            dMdvh = np.sqrt(w[xB:xF])*getPowderProfileDerv(parmDict,x[xB:xF],
    20912090                varylist,Histogram,Phases,rigidbodyDict,calcControls,pawleyLookup)
    20922091        elif 'HKLF' in histogram[:4]:
Note: See TracChangeset for help on using the changeset viewer.