Changeset 151 for trunk/GSASIIElem.py


Ignore:
Timestamp:
Aug 9, 2010 10:56:35 AM (11 years ago)
Author:
vondreel
Message:

removed ElTable? - now in own ElementTable?.py file, removed GetAtomColors? & GetElemColor? - not to be used (ever) - now new GetAtomInfo? fixed to work with valence choices, etc.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/GSASIIElem.py

    r141 r151  
    99import  wx.lib.colourselect as wscs
    1010import GSASIIpath
     11import numpy as np
    1112
    1213def GetFormFactorCoeff(El):
     
    4647    return FormFactors
    4748   
     49def GetAtomColors():
     50    import ColorTable as CT
     51    filename = os.path.join(sys.path[1],'atmdata.dat')
     52    try:
     53        FFdata = open(filename,'Ur')
     54    except:
     55        wx.MessageBox(message="File atmdata.dat not found in directory %s" % sys.path[0],
     56            caption="No atmdata.dat file",style=wx.OK | wx.ICON_EXCLAMATION | wx.STAY_ON_TOP)
     57        sys.exit()
     58    S = '1'
     59    Colors = []
     60    while S:       
     61        S = FFdata.readline()
     62        if S[5:9] == '_SIZ':
     63            print S,int(S[37:42])-1
     64            Color = CT.ColorTable[int(S[37:42])-1][0]
     65            if not Colors.count(Color):
     66                Colors.append(Color)
     67    FFdata.close()
     68    return Colors
     69   
     70def GetElemColor(El):
     71    import ColorTable as CT
     72    filename = os.path.join(sys.path[1],'atmdata.dat')
     73    ElS = El.upper().rjust(2)
     74    try:
     75        FFdata = open(filename,'Ur')
     76    except:
     77        wx.MessageBox(message="File atmdata.dat not found in directory %s" % sys.path[0],
     78            caption="No atmdata.dat file",style=wx.OK | wx.ICON_EXCLAMATION | wx.STAY_ON_TOP)
     79        sys.exit()
     80    S = '1'
     81    Colors = []
     82    while S:       
     83        S = FFdata.readline()
     84        if S[3:9] == ElS+'_SIZ':
     85            return CT.ColorTable[int(S[37:42])-1][0]
     86    FFdata.close()
     87    return wx.Color(255,255,255)
     88
    4889def GetAtomInfo(El):
    49     ElS = El.upper().rjust(2)
     90   
     91    import ElementTable as ET
     92    Elements = []
     93    for elem in ET.ElTable:
     94        Elements.append(elem[0][0])
     95    if len(El) in [2,4]:
     96        ElS = El.upper()[:2].rjust(2)
     97    else:
     98        ElS = El.upper()[:1].rjust(2)
    5099    filename = os.path.join(sys.path[1],'atmdata.dat')
    51100    try:
     
    66115                if S[5:9] == '_SIZ':
    67116                    Z=int(S[:2])
    68                     Symbol = S[3:5].strip()
     117                    Symbol = S[3:5].strip().lower().capitalize()
    69118                    Drad = float(S[12:22])
    70119                    Arad = float(S[22:32])
     120                    Color = ET.ElTable[Elements.index(Symbol)][6]
    71121    FFdata.close()
    72     AtomInfo={'Symbol':Symbol,'Mass':Mass,'Z':Z,'Drad':Drad,'Arad':Arad}   
     122    AtomInfo={'Symbol':Symbol,'Mass':Mass,'Z':Z,'Drad':Drad,'Arad':Arad,'Color':Color}   
    73123    return AtomInfo
    74124     
     
    303353              parent=prnt, pos=wx.DefaultPosition,
    304354              style=wx.DEFAULT_DIALOG_STYLE, title='Pick Element')
     355        import ElementTable as ET
    305356        self.SetClientSize(wx.Size(770, 250))
    306357       
    307         REcolor = wx.Colour(128, 128, 255)
    308         Metcolor = wx.Colour(192, 192, 192)
    309         Noblecolor = wx.Colour(255, 128, 255)
    310         Alkcolor = wx.Colour(255, 255, 128)
    311         AlkEcolor = wx.Colour(255, 128, 0)
    312         SemMetcolor = wx.Colour(128, 255, 0)
    313         NonMetcolor = wx.Colour(0, 255, 255)
    314         White = wx.Colour(255, 255, 255)
    315 
    316         ElTable = [
    317             (["H","H-1"],                  0,0, "Hydrogen",    White,           0.0000),
    318             (["He",],                     17,0, "Helium",      Noblecolor,      0.0000),
    319             (["Li","Li+1"],                0,1, "Lithium",     Alkcolor,        0.0004),
    320             (["Be","Be+2"],                1,1, "Beryllium",   AlkEcolor,       0.0006),
    321             (["B",],                       2,1, "Boron",       NonMetcolor,     0.0012),
    322             (["C",],                      13,1, "Carbon",      NonMetcolor,     0.0018),
    323             (["N",],                      14,1, "Nitrogen",    NonMetcolor,     0.0030),
    324             (["O","O-","O-2"],            15,1, "Oxygen",      NonMetcolor,     0.0042),
    325             (["F","F-"],                  16,1, "Fluorine",    NonMetcolor,     0.0054),
    326             (["Ne",],                     17,1, "Neon",        Noblecolor,      0.0066),
    327             (["Na","Na+"],                 0,2, "Sodium",      Alkcolor,        0.0084),
    328             (["Mg","Mg+2"],                1,2, "Magnesium",   AlkEcolor,       0.0110),
    329             (["Al","Al+3"],                2,2, "Aluminum",    SemMetcolor,     0.0125),
    330             (["Si","Si+4"],               13,2, "Silicon",     NonMetcolor,     0.0158),
    331             (["P",],                      14,2, "Phosphorus",  NonMetcolor,     0.0180),
    332             (["S",],                      15,2, "Sulphur",     NonMetcolor,     0.0210),
    333             (["Cl","Cl-1"],               16,2, "Chlorine",    NonMetcolor,     0.0250),
    334             (["Ar",],                     17,2, "Argon",       Noblecolor,      0.0285),
    335             (["K","K+1"],                  0,3, "Potassium",   Alkcolor,        0.0320),
    336             (["Ca","Ca+2"],                1,3, "Calcium",     AlkEcolor,       0.0362),
    337             (["Sc","Sc+3"],                2,3, "Scandium",    Metcolor,        0.0410),
    338             (["Ti","Ti+2","Ti+3","Ti+4"],  3,3, "Titanium",    Metcolor,        0.0460),
    339             (["V","V+2","V+3","V+5"],      4,3, "Vanadium",    Metcolor,        0.0510),
    340             (["Cr","Cr+2","Cr+3"],         5,3, "Chromium",    Metcolor,        0.0560),
    341             (["Mn","Mn+2","Mn+3","Mn+4"],  6,3, "Manganese",   Metcolor,        0.0616),
    342             (["Fe","Fe+2","Fe3"],          7,3, "Iron",        Metcolor,        0.0680),
    343             (["Co","Co+2","Co+3"],         8,3, "Cobalt",      Metcolor,        0.0740),
    344             (["Ni","Ni+2","Ni+3"],         9,3, "Nickel",      Metcolor,        0.0815),
    345             (["Cu","Cu+1","Cu+2"],        10,3, "Copper",      Metcolor,        0.0878),
    346             (["Zn","Zn+2"],               11,3, "Zinc",        Metcolor,        0.0960),
    347             (["Ga","Ga+3"],               12,3, "Gallium",     SemMetcolor,      0.104),
    348             (["Ge","Ge+4"],               13,3, "Germanium",   SemMetcolor,      0.114),
    349             (["As",],                     14,3, "Arsenic",     NonMetcolor,      0.120),
    350             (["Se",],                     15,3, "Selenium",    NonMetcolor,      0.132),
    351             (["Br","Br-1"],               16,3, "Bromine",     NonMetcolor,      0.141),
    352             (["Kr",],                     17,3, "Krypton",     Noblecolor,       0.150),
    353             (["Rb","Rb+1"],                0,4, "Rubidium",    Alkcolor,         0.159),
    354             (["Sr","Sr+2"],                1,4, "Strontium",   AlkEcolor,        0.171),
    355             (["Y","Y+3"],                  2,4, "Yittrium",    Metcolor,         0.180),
    356             (["Zr","Zr+4"],                3,4, "Zirconium",   Metcolor,         0.192),
    357             (["Nb","Nb+3","Nb+5"],         4,4, "Niobium",     Metcolor,         0.204),
    358             (["Mo","Mo+3","Mo+5","Mo+6"],  5,4, "Molybdenium", Metcolor,         0.216),
    359             (["Tc",],                      6,4, "Technetium",  Metcolor,         0.228),
    360             (["Ru","Ru+3","Ru+4"],         7,4, "Ruthenium",   Metcolor,         0.246),
    361             (["Rh","Rh+3","Rh+4"],         8,4, "Rhodium",     Metcolor,         0.258),
    362             (["Pd","Pd+2","Pd+4"],         9,4, "Palladium",   Metcolor,         0.270),
    363             (["Ag","Ag+1","Ag+2"],        10,4, "Silver",      Metcolor,         0.285),
    364             (["Cd","Cd+2"],               11,4, "Cadmium",     Metcolor,         0.300),
    365             (["In","In+3"],               12,4, "Indium",      SemMetcolor,      0.318),
    366             (["Sn","Sn+2","Sn+4"],        13,4, "Tin",         SemMetcolor,      0.330),
    367             (["Sb","Sb+3","Sb+5"],        14,4, "Antimony",    SemMetcolor,      0.348),
    368             (["Te",],                     15,4, "Tellurium",   NonMetcolor,      0.363),
    369             (["I","I-1"],                 16,4, "Iodine",      NonMetcolor,      0.384),
    370             (["Xe",],                     17,4, "Xenon",       Noblecolor,       0.396),
    371             (["Cs","Cs+1"],                0,5, "Caesium",     Alkcolor,         0.414),
    372             (["Ba","Ba+2"],                1,5, "Barium",      AlkEcolor,        0.438),
    373             (["La","La+3"],                2,5, "Lanthanium",  Metcolor,         0.456),
    374             (["Ce","Ce+3","Ce+4"],     3.5,6.5, "Cerium",      REcolor,      0.474),
    375             (["Pr","Pr+3","Pr+4"],     4.5,6.5, "Praseodymium",REcolor,      0.492),
    376             (["Nd","Nd+3"],            5.5,6.5, "Neodymium",   REcolor,      0.516),
    377             (["Pm","Pm+3"],            6.5,6.5, "Promethium",  REcolor,      0.534),
    378             (["Sm","Sm+3"],            7.5,6.5, "Samarium",    REcolor,      0.558),
    379             (["Eu","Eu+2","Eu+3"],     8.5,6.5, "Europium",    REcolor,      0.582),
    380             (["Gd","Gd+3"],            9.5,6.5, "Gadolinium",  REcolor,      0.610),
    381             (["Tb","Tb+3"],           10.5,6.5, "Terbium",     REcolor,      0.624),
    382             (["Dy","Dy+3"],           11.5,6.5, "Dysprosium",  REcolor,      0.648),
    383             (["Ho","Ho+3"],           12.5,6.5, "Holmium",     REcolor,      0.672),
    384             (["Er","Er+3"],           13.5,6.5, "Erbium",      REcolor,      0.696),
    385             (["Tm","Tm+3"],           14.5,6.5, "Thulium",     REcolor,      0.723),
    386             (["Yb","Yb+2","Yb+3"],    15.5,6.5, "Ytterbium",   REcolor,      0.750),
    387             (["Lu","Lu+3"],           16.5,6.5, "Lutetium",    REcolor,      0.780),
    388             (["Hf","Hf+4"],                3,5, "Hafnium",     Metcolor,         0.804),
    389             (["Ta","Ta+5"],                4,5, "Tantalum",    Metcolor,         0.834),
    390             (["W","W+6"],                  5,5, "Tungsten",    Metcolor,         0.864),
    391             (["Re",],                      6,5, "Rhenium",     Metcolor,         0.900),
    392             (["Os","Os+4"],                7,5, "Osmium",      Metcolor,         0.919),
    393             (["Ir","Ir+3","Ir+4"],         8,5, "Iridium",     Metcolor,         0.948),
    394             (["Pt","Pt+2","Pt+4"],         9,5, "Platinium",   Metcolor,         0.984),
    395             (["Au","Au+1","Au+3"],        10,5, "Gold",        Metcolor,         1.014),
    396             (["Hg","Hg+1","Hg+2"],        11,5, "Mercury",     Metcolor,         1.046),
    397             (["Tl","Tl+1","Tl+3"],        12,5, "Thallium",    SemMetcolor,      1.080),
    398             (["Pb","Pb+2","Pb+4"],        13,5, "Lead",        SemMetcolor,      1.116),
    399             (["Bi","Bi+3","Bi+5"],        14,5, "Bismuth",     SemMetcolor,      1.149),
    400             (["Po",],                     15,5, "Polonium",    SemMetcolor,      1.189),
    401             (["At",],                     16,5, "Astatine",    NonMetcolor,      1.224),
    402             (["Rn",],                     17,5, "Radon",       Noblecolor,       1.260),
    403             (["Fr",],                      0,6, "Francium",    Alkcolor,         1.296),
    404             (["Ra","Ra+2"],                1,6, "Radium",      AlkEcolor,        1.332),
    405             (["Ac","Ac+3"],                2,6, "Actinium",    Metcolor,         1.374),
    406             (["Th","Th+4"],            3.5,7.5, "Thorium",     REcolor,      1.416),
    407             (["Pa",],                  4.5,7.5, "Protactinium",REcolor,      1.458),
    408             (["U","U+3","U+4","U+6"],  5.5,7.5, "Uranium",     REcolor,      1.470),
    409             (["Np","Np+3","Np+4","Np+6"], 6.5,7.5, "Neptunium",   REcolor,      1.536),
    410             (["Pu","Pu+3","Pu+4","Pu+6"], 7.5,7.5, "Plutonium",   REcolor,      1.584),
    411             (["Am",],                  8.5,7.5, "Americium",   REcolor,      1.626),
    412             (["Cm",],                  9.5,7.5, "Curium",      REcolor,      1.669),
    413             (["Bk",],                 10.5,7.5, "Berkelium",   REcolor,      1.716),
    414             (["Cf",],                 11.5,7.5, "Californium", REcolor,      1.764),
    415             (["Q","QA","QB","QC","QD"],  14.5,7.5, "Special form factor", REcolor,  0.000),
    416             ]
    417            
    418            
    419358        i=0
    420         for E in ElTable:
     359        for E in ET.ElTable:
    421360            PickElement.ElButton(self,name=E[0],
    422             pos=wx.Point(E[1]*40+25,E[2]*24+24),tip=E[3],color=E[4])
     361#            pos=wx.Point(E[1]*40+25,E[2]*24+24),tip=E[3],color=E[4])
     362            pos=wx.Point(E[1]*40+25,E[2]*24+24),tip=E[3],color=E[6])
    423363            i+=1
    424364
Note: See TracChangeset for help on using the changeset viewer.