Changeset 1365


Ignore:
Timestamp:
May 28, 2014 11:57:03 AM (8 years ago)
Author:
vondreele
Message:

fix atmdata.py for Rh (& other anomalous b isotopes)
fix powder imports to include old style PRCF records in GSAS iparm files
format of penalty fxn. prints

Location:
trunk
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/GSASII.py

    r1364 r1365  
    970970                    codes = [0,0,0,0,0,0]
    971971                data.extend(v)
    972                 v1 = Iparm['INS  1PRCF1 '].split()                                                 
    973                 v = Iparm['INS  1PRCF11'].split()
    974                 data.extend([float(v[0]),float(v[1]),float(v[2])])                  #get GU, GV & GW - always here
    975                 azm = float(Iparm.get('INS  1DETAZM','0.0'))
    976                 v = Iparm['INS  1PRCF12'].split()
    977                 if v1[0] == 3:
    978                     data.extend([float(v[0]),float(v[1]),float(v[2])+float(v[3],azm)])  #get LX, LY, S+H/L & azimuth
     972                if 'INS  1PRCF  ' in Iparm:
     973                    v1 = Iparm['INS  1PRCF  '].split()                                                 
     974                    v = Iparm['INS  1PRCF 1'].split()
     975                    data.extend([float(v[0]),float(v[1]),float(v[2])])                  #get GU, GV & GW - always here
     976                    azm = float(Iparm.get('INS  1DETAZM','0.0'))
     977                    v = Iparm['INS  1PRCF 2'].split()
     978                    if v1[0] == 3:
     979                        data.extend([float(v[0]),float(v[1]),float(v[2])+float(v[3],azm)])  #get LX, LY, S+H/L & azimuth
     980                    else:
     981                        data.extend([0.0,0.0,0.002,azm])                                      #OK defaults if fxn #3 not 1st in iprm file                   
    979982                else:
    980                     data.extend([0.0,0.0,0.002,azm])                                      #OK defaults if fxn #3 not 1st in iprm file
     983                    v1 = Iparm['INS  1PRCF1 '].split()                                                 
     984                    v = Iparm['INS  1PRCF11'].split()
     985                    data.extend([float(v[0]),float(v[1]),float(v[2])])                  #get GU, GV & GW - always here
     986                    azm = float(Iparm.get('INS  1DETAZM','0.0'))
     987                    v = Iparm['INS  1PRCF12'].split()
     988                    if v1[0] == 3:
     989                        data.extend([float(v[0]),float(v[1]),float(v[2])+float(v[3],azm)])  #get LX, LY, S+H/L & azimuth
     990                    else:
     991                        data.extend([0.0,0.0,0.002,azm])                                      #OK defaults if fxn #3 not 1st in iprm file
    981992                codes.extend([0,0,0,0,0,0,0])
    982993                return [G2IO.makeInstDict(names,data,codes),{}]
     
    9921003                s = Iparm['INS  1 ICONS'].split()
    9931004                data.extend([G2IO.sfloat(s[0]),G2IO.sfloat(s[1]),G2IO.sfloat(s[2])])    #difC, difA, Zero
    994                 s = Iparm['INS  1PRCF1 '].split()
    995                 pfType = int(s[0])
    996                 s = Iparm['INS  1PRCF11'].split()
    997                 if abs(pfType) == 1:
    998                     data.extend([G2IO.sfloat(s[1]),G2IO.sfloat(s[2]),G2IO.sfloat(s[3])])
    999                     s = Iparm['INS  1PRCF12'].split()
    1000                     data.extend([0.0,0.0,G2IO.sfloat(s[1]),0.0,0.0,0.0,azm])
    1001                 elif abs(pfType) in [3,4,5]:
    1002                     data.extend([G2IO.sfloat(s[0]),G2IO.sfloat(s[1]),G2IO.sfloat(s[2])])
    1003                     if abs(pfType) == 4:
    1004                         data.extend([0.0,0.0,G2IO.sfloat(s[3]),0.0,0.0,0.0,azm])
    1005                     else:
     1005                if 'INS  1PRCF  ' in Iparm:
     1006                    s = Iparm['INS  1PRCF  '].split()
     1007                    pfType = int(s[0])
     1008                    s = Iparm['INS  1PRCF 1'].split()
     1009                    if abs(pfType) == 1:
     1010                        data.extend([G2IO.sfloat(s[1]),G2IO.sfloat(s[2]),G2IO.sfloat(s[3])])
     1011                        s = Iparm['INS  1PRCF 2'].split()
     1012                        data.extend([0.0,0.0,G2IO.sfloat(s[1]),0.0,0.0,0.0,azm])
     1013                    elif abs(pfType) in [3,4,5]:
     1014                        data.extend([G2IO.sfloat(s[0]),G2IO.sfloat(s[1]),G2IO.sfloat(s[2])])
     1015                        if abs(pfType) == 4:
     1016                            data.extend([0.0,0.0,G2IO.sfloat(s[3]),0.0,0.0,0.0,azm])
     1017                        else:
     1018                            s = Iparm['INS  1PRCF 2'].split()
     1019                            data.extend([0.0,0.0,G2IO.sfloat(s[0]),0.0,0.0,0.0,azm])                       
     1020                else:
     1021                    s = Iparm['INS  1PRCF1 '].split()
     1022                    pfType = int(s[0])
     1023                    s = Iparm['INS  1PRCF11'].split()
     1024                    if abs(pfType) == 1:
     1025                        data.extend([G2IO.sfloat(s[1]),G2IO.sfloat(s[2]),G2IO.sfloat(s[3])])
    10061026                        s = Iparm['INS  1PRCF12'].split()
    1007                         data.extend([0.0,0.0,G2IO.sfloat(s[0]),0.0,0.0,0.0,azm])                       
     1027                        data.extend([0.0,0.0,G2IO.sfloat(s[1]),0.0,0.0,0.0,azm])
     1028                    elif abs(pfType) in [3,4,5]:
     1029                        data.extend([G2IO.sfloat(s[0]),G2IO.sfloat(s[1]),G2IO.sfloat(s[2])])
     1030                        if abs(pfType) == 4:
     1031                            data.extend([0.0,0.0,G2IO.sfloat(s[3]),0.0,0.0,0.0,azm])
     1032                        else:
     1033                            s = Iparm['INS  1PRCF12'].split()
     1034                            data.extend([0.0,0.0,G2IO.sfloat(s[0]),0.0,0.0,0.0,azm])                       
    10081035                Inst1 = G2IO.makeInstDict(names,data,codes)
    10091036                Inst2 = {}
  • trunk/GSASIIElem.py

    r1364 r1365  
    167167        data = atmdata.AtmBlens[isotope]
    168168        if isotope == ElS+'_':
    169             if data['SL']:
    170                 AtomInfo['Isotopes']['Nat. Abund.'] = data
     169            AtomInfo['Isotopes']['Nat. Abund.'] = data
    171170        else:
    172171            AtomInfo['Isotopes'][isotope.split('_')[1]] = data
  • trunk/GSASIIstrMath.py

    r1360 r1365  
    21132113            raise Exception         #Abort!!
    21142114    pDict,pVals,pWt,pWsum = penaltyFxn(HistoPhases,parmDict,varylist)
    2115     if np.any(pVals):
     2115    if len(pVals):
    21162116        pSum = np.sum(pWt*pVals**2)
    21172117        for name in pWsum:
    2118             print '  Penalty function for %8s = %12.5g'%(name,pWsum[name])
     2118            if pWsum:
     2119                print '  Penalty function for %8s = %12.5g'%(name,pWsum[name])
    21192120        print 'Total penalty function: %12.5g on %d terms'%(pSum,len(pVals))
    21202121        Nobs += len(pVals)
  • trunk/atmdata.py

    r1363 r1365  
    335335AtmBlens = {
    336336# atom masses & neutron scattering length (b,b'), sig(incoh) @ 1A
    337     'H_':   {'Mass':  1.008,'SL':[ -.3741,      0],'SA':       20.6},
     337    'H_':    {'Mass':  1.008,'SL':[ -.3741,      0],'SA':       20.6},
    338338    'H_1':   {'Mass':  1.008,'SL':[ -.3742,      0],'SA':       20.6},
    339339    'H_2':   {'Mass':  2.014,'SL':[  .6674,      0],'SA':     .00052},
     
    456456    'Tc_98': {'Mass':   98.0,'SL':[    .68,      0],'SA':       20.0},
    457457    'Ru_':   {'Mass': 101.07,'SL':[   .702,      0],'SA':       2.56},
    458     'Rh_':   {'Mass':102.906,'BW-LS':[   0.59,      78.92, 6155.6, 1257., 78.0,0,0,0,0]},     #BW
    459     'Rh_103':{'Mass':102.906,'BW-LS':[   0.59,      78.92, 6155.6, 1257., 78.0,0,0,0,0]},     #BW
     458    'Rh_':   {'Mass':102.906,'SL':[      0,      0],
     459        'BW-LS':[   0.59,      78.92, 6155.6, 1257., 78.0,0,0,0,0]},     #BW
     460    'Rh_103':{'Mass':102.906,'SL':[      0,      0],
     461        'BW-LS':[   0.59,      78.92, 6155.6, 1257., 78.0,0,0,0,0]},     #BW
    460462    'Pd_':   {'Mass':  106.4,'SL':[   .591,      0],'SA':         6.9},
    461463    'Ag_':   {'Mass':107.868,'SL':[  .5922,      0],'SA':        63.3},
    462     'Cd_':   {'Mass': 112.41,'BW-LS':[    .483,      -.070, 2520.,0,0,0,0,0,0]},
     464    'Cd_':   {'Mass': 112.41,'SL':[      0,      0],
     465        'BW-LS':[    .483,      -.070, 2520.,0,0,0,0,0,0]},
    463466    'Cd_112':{'Mass':111.903,'SL':[   .634,      0],'SA':         2.2},
    464     'Cd_113':{'Mass':112.904,'BW-LS':[  0.625,      267.0, 15218., 177.6, 57.0,0,0,0,0]},     #BW
     467    'Cd_113':{'Mass':112.904,'SL':[      0,      0],
     468        'BW-LS':[  0.625,      267.0, 15218., 177.6, 57.0,0,0,0,0]},     #BW
    465469    'Cd_114':{'Mass':113.903,'SL':[   .748,      0],'SA':         .34},
    466470    'Cd_116':{'Mass':115.905,'SL':[   .626,      0],'SA':        .075},
    467     'In_':   {'Mass': 114.82,'BW-LS':[  .4065,     -.0539,  194.,0,0,0,0,0,0]},
     471    'In_':   {'Mass': 114.82,'SL':[      0,      0],
     472        'BW-LS':[  .4065,     -.0539,  194.,0,0,0,0,0,0]},
    468473    'In_113':{'Mass':112.904,'SL':[   .539,      0],'SA':         12.},
    469     'In_115':{'Mass':114.904,'BW-LS':[  0.400,      0.354, 10.793, 97.30, 30.5,0,0,0,0]},     #BW
     474    'In_115':{'Mass':114.904,'SL':[      0,      0],
     475        'BW-LS':[  0.400,      0.354, 10.793, 97.30, 30.5,0,0,0,0]},     #BW
    470476    'Sn_':   {'Mass': 118.69,'SL':[  .6225,      0],'SA':        .626},
    471477    'Sb_':   {'Mass': 121.75,'SL':[   .557,      0],'SA':        4.91},
     
    483489    'Nd_':   {'Mass': 144.24,'SL':[   .769,      0],'SA':        50.5},
    484490    'Pm_147':{'Mass':   147.,'SL':[   1.26,      0],'SA':       168.4},
    485     'Sm_':   {'Mass':  150.4,'BW-LS':[  0.418,      29.72, 1009.4, 97.23, 32.91,0,0,0,0]},     #LS
    486     'Sm_149':{'Mass':148.917,'BW-LS':[  0.525,      213.7, 7256.4, 97.23, 32.90,0,0,0,0]},     #LS
     491    'Sm_':   {'Mass':  150.4,'SL':[      0,      0],
     492        'BW-LS':[  0.418,      29.72, 1009.4, 97.23, 32.91,0,0,0,0]},     #LS
     493    'Sm_149':{'Mass':148.917,'SL':[      0,      0],
     494        'BW-LS':[  0.525,      213.7, 7256.4, 97.23, 32.90,0,0,0,0]},     #LS
    487495    'Sm_152':{'Mass':151.920,'SL':[   -.50,      0],'SA':        206.},
    488496    'Sm_154':{'Mass':153.922,'SL':[    .80,      0],'SA':         8.4},
    489     'Eu_':   {'Mass': 151.96,'BW-LS':[  0.748,      61.91, 2742.6, 460.2, 43.74, .1350, 321.1, 0.229, -36.4]},  #LS
    490     'Eu_151':{'Mass':150.920,'BW-LS':[  0.704,      129.4, 5658.4, 460.2, 43.64, .1342, 321.2, 0.191, -28.9]},  #LS
     497    'Eu_':   {'Mass': 151.96,'SL':[      0,      0],
     498        'BW-LS':[  0.748,      61.91, 2742.6, 460.2, 43.74, .1350, 321.1, 0.229, -36.4]},  #LS
     499    'Eu_151':{'Mass':150.920,'SL':[      0,      0],
     500        'BW-LS':[  0.704,      129.4, 5658.4, 460.2, 43.64, .1342, 321.2, 0.191, -28.9]},  #LS
    491501    'Eu_153':{'Mass':152.921,'SL':[   .822,      0],'SA':        312.},
    492     'Gd_':   {'Mass': 157.25,'BW-LS':[  0.685,      72.74, 3967.4, 30.58, 53.13,0,0,0,0]},     #LS
    493     'Gd_155':{'Mass':154.923,'BW-LS':[  0.683,      88.78, 4684.9, 28.11, 52.61,0,0,0,0]},     #LS
     502    'Gd_':   {'Mass': 157.25,'SL':[      0,      0],
     503        'BW-LS':[  0.685,      72.74, 3967.4, 30.58, 53.13,0,0,0,0]},     #LS
     504    'Gd_155':{'Mass':154.923,'SL':[      0,      0],
     505        'BW-LS':[  0.683,      88.78, 4684.9, 28.11, 52.61,0,0,0,0]},     #LS
    494506    'Gd_160':{'Mass':159.927,'SL':[   .915,      0],'SA':         .77},
    495507    'Tb_ ':  {'Mass':158.925,'SL':[   .734,      0],'SA':        23.4},
     
    498510    'Ho_':   {'Mass':164.930,'SL':[   .844,      0],'SA':        64.7},
    499511    'Ho_165':{'Mass':164.930,'SL':[   .844,      0],'SA':        64.7},
    500     'Er_':   {'Mass': 167.26,'BW-LS':[  0.853,      11.97,  533.9, 460.0, 44.17, .6448, 584.3,0,0]}, #LS
    501     'Er_167':{'Mass':166.932,'BW-LS':[  0.564,      52.22, 2298.0, 460.0, 44.02, .6451, 584.2,0,0]}, #LS
     512    'Er_':   {'Mass': 167.26,'SL':[      0,      0],
     513        'BW-LS':[  0.853,      11.97,  533.9, 460.0, 44.17, .6448, 584.3,0,0]}, #LS
     514    'Er_167':{'Mass':166.932,'SL':[      0,      0],
     515        'BW-LS':[  0.564,      52.22, 2298.0, 460.0, 44.02, .6451, 584.2,0,0]}, #LS
    502516    'Tm_':   {'Mass':168.934,'SL':[   .707,      0],'SA':        100.},
    503517    'Tm_169':{'Mass':168.934,'SL':[   .707,      0],'SA':        100.},
    504     'Yb_':   {'Mass': 173.04,'BW-LS':[  1.229,      0.560,  34.28, 597.1, 33.08,0,0,0,0]},    #LS
    505     'Yb_168':{'Mass':167.934,'BW-LS':[  0.699,      636.9, 21095., 597.1, 33.08,0,0,0,0]},    #LS
     518    'Yb_':   {'Mass': 173.04,'SL':[      0,      0],
     519        'BW-LS':[  1.229,      0.560,  34.28, 597.1, 33.08,0,0,0,0]},    #LS
     520    'Yb_168':{'Mass':167.934,'SL':[      0,      0],
     521        'BW-LS':[  0.699,      636.9, 21095., 597.1, 33.08,0,0,0,0]},    #LS
    506522    'Lu_':   {'Mass':174.967,'SL':[   .721,      0],'SA':        74.0},
    507     'Lu_176':{'Mass':175.943,'BW-LS':[  0.818,      26.17,  850.3, 141.3, 31.51,0,0,0,0]},    #LS
     523    'Lu_176':{'Mass':175.943,'SL':[      0,      0],
     524        'BW-LS':[  0.818,      26.17,  850.3, 141.3, 31.51,0,0,0,0]},    #LS
    508525    'Hf_':   {'Mass': 178.49,'SL':[   .777,      0],'SA':       104.1},
    509526    'Ta_':   {'Mass':180.948,'SL':[   .691,      0],'SA':        20.6},
     
    535552    'U_238': {'Mass':238.051,'SL':[  .8407,      0],'SA':        2.68},
    536553    'Np_237':{'Mass':237.048,'SL':[  1.055,      0],'SA':       175.9},
    537     'Pu_239':{'Mass':239.052,'BW-LS':[  0.896,      22.68, 1157.0, 296.0, 51.00,0,0,0,0]},   #BW
    538     'Pu_240':{'Mass':240.054,'BW-LS':[  0.874,      516.0, 8591.3, 1056., 16.65,0,0,0,0]},   #BW
     554    'Pu_239':{'Mass':239.052,'SL':[      0,      0],
     555        'BW-LS':[  0.896,      22.68, 1157.0, 296.0, 51.00,0,0,0,0]},   #BW
     556    'Pu_240':{'Mass':240.054,'SL':[      0,      0],
     557        'BW-LS':[  0.874,      516.0, 8591.3, 1056., 16.65,0,0,0,0]},   #BW
    539558    'Pu_242':{'Mass':242.059,'SL':[    .81,      0],'SA':        18.5},
    540559    'Am_243':{'Mass':243.061,'SL':[    .83,      0],'SA':        75.3},
  • trunk/imports/G2pwd_fxye.py

    r1359 r1365  
    6565            w = []
    6666            S = File.readline()
    67             while S and S[:4] != 'BANK':
     67            while S and S[:4] != 'BANK' and S[0] != '#':
    6868                vals = S.split()
    6969                x.append(float(vals[0])/100.)               #CW: from centidegrees to degrees
     
    8686            w = []
    8787            S = File.readline()
    88             while S and S[:4] != 'BANK':
     88            while S and S[:4] != 'BANK' and S[0] != '#':
    8989                vals = S.split()
    9090                x.append(float(vals[0])/100.)               #CW: from centidegrees to degrees
     
    114114            S = File.readline()
    115115            j = 0
    116             while S and S[:4] != 'BANK':
     116            while S and S[:4] != 'BANK' and S[0] != '#':
    117117                for i in range(0,80,16):
    118118                    xi = start+step*j
     
    148148            S = File.readline()
    149149            j = 0
    150             while S and S[:4] != 'BANK':
     150            while S and S[:4] != 'BANK' and S[0] != '#':
    151151                for i in range(0,80,8):
    152152                    xi = start+step*j
Note: See TracChangeset for help on using the changeset viewer.