source: trunk/Substances.py @ 2776

Last change on this file since 2776 was 2776, checked in by vondreele, 7 years ago

add a number of materials to Substances.py
implement multilayer reflectometry models

  • Property svn:eol-style set to native
  • Property svn:keywords set to Date Author Revision URL Id
File size: 3.6 KB
Line 
1"""
2*Substances: Define Materials*
3---------------------------------------------------------------------------------
4
5Defines materials commonly found in small angle & reflectometry experiments.
6GSASII substances as a dictionary ''Substances.Substances'' with these materials.
7
8Each entry in ''Substances'' consists of::
9
10     'key':{'Elements':{element:{'Num':float number in formula},...},'Density':value, 'Volume':,value}
11
12Density & Volume are optional, if one missing it is calculated from the other; if both
13are missing then Volume is estimated from composition & assuming 10A^3 for each atom,
14Density is calculated from that Volume.
15See examples below for what is needed.
16"""
17Substances = {
18'Alumina':{'Elements':{'Al':{'Num':2.},'O':{'Num':3.}},'Density':3.986,},
19'Water':{'Elements':{'O':{'Num':1.},'H':{'Num':2.}},'Density':1.0},
20'Silicon':{'Elements':{'Si':{'Num':8.}},'Volume':160.209},
21'a-Quartz':{'Elements':{'Si':{'Num':3.},'O':{'Num':6.}},'Volume':113.057},
22'Ethanol':{'Elements':{'C':{'Num':2.},'O':{'Num':1},'H':{'Num':6.}},},
23'Polyethylene':{'Elements':{'C':{'Num':1.},'H':{'Num':2.}},'Density':0.93,},
24'Polystyrene':{'Elements':{'C':{'Num':1.},'H':{'Num':1.}},'Density':1.060,},
25'Teflon':{'Elements':{'C':{'Num':1.},'F':{'Num':2.}},'Density':2.25,},
26'Mylar':{'Elements':{'C':{'Num':5.},'H':{'Num':4.},'O':{'Num':2.}},'Density':1.38,},
27'Iron':{'Elements':{'Fe':{'Num':4.}},'Density':7.87,},
28'FeO-wustite':{'Elements':{'Fe':{'Num':4.},'O':{'Num':4.}},'Volume':79.285},
29'Fe2O3-hematite':{'Elements':{'Fe':{'Num':12.},'O':{'Num':18.}},'Volume':301.689},
30'Fe3O4-magnetite':{'Elements':{'Fe':{'Num':24.},'O':{'Num':32.}},'Volume':591.921},
31'Zirconium':{'Elements':{'Zr':{'Num':2.}},'Density':6.51,},
32'Carbon':{'Elements':{'C':{'Num':1.}},'Density':2.27,},
33'Titanium':{'Elements':{'Ti':{'Num':1.}},'Density':4.51,},
34'TiO2-rutile':{'Elements':{'Ti':{'Num':2.},'O':{'Num':4.}},'Volume':62.452},
35'Chromium':{'Elements':{'Cr':{'Num':1.}},'Density':7.19,},
36'Nickel':{'Elements':{'Ni':{'Num':4.}},'Density':8.90,},
37'Copper':{'Elements':{'Cu':{'Num':4.}},'Density':8.96,},
38'Hydroxyapatite':{'Elements':{'Ca':{'Num':5.},'P':{'Num':3.},'O':{'Num':13.},'H':{'Num':1.}},'Density':3.986,},
39'Cr2O3':{'Elements':{'Cr':{'Num':2.},'O':{'Num':3.}},'Density':5.206,},
40'ZrO2':{'Elements':{'Zr':{'Num':1.},'O':{'Num':3,}},'Density':6.134,},
41'Y(0.16)Zr(0.84)O2':{'Elements':{'Y':{'Num':0.16},'Zr':{'Num':0.84},'O':{'Num':2.}},'Density':6.01,},
42'Ag':{'Elements':{'Ag':{'Num':1}},'Volume':17.066},
43'Al':{'Elements':{'Al':{'Num':1}},'Volume':16.582},
44'Au':{'Elements':{'Au':{'Num':1}},'Volume':16.953},
45'Co':{'Elements':{'Co':{'Num':1}},'Volume':11.0177},
46'FeF2':{'Elements':{'Fe':{'Num':1},'F':{'Num':2}},'Volume':36.352},
47'GaAs':{'Elements':{'Ga':{'Num':1},'As':{'Num':1}},'Volume':45.173},
48'LaAlO3':{'Elements':{'La':{'Num':1},'Al':{'Num':1},'O':{'Num':3}},'Volume':54.503},
49'LaFeO3':{'Elements':{'La':{'Num':1},'Al':{'Num':1},'O':{'Num':3}},'Volume':50.355},
50'LaMnO3':{'Elements':{'La':{'Num':1},'Mn':{'Num':1},'o':{'Num':3}},'Volume':58.413},
51'MgF2':{'Elements':{'Mg':{'Num':1},'F':{'Num':2}},'Volume':32.58},
52'MgO':{'Elements':{'Mg':{'Num':1},'O':{'Num':1}},'Volume':17.977},
53'MnF2':{'Elements':{'Mn':{'Num':1},'F':{'Num':2}},'Volume':38.56},
54'NiO':{'Elements':{'Ni':{'Num':1},'O':{'Num':1}},'Volume':18.22},
55'Pd':{'Elements':{'Pd':{'Num':1}},'Volume':14.738},
56'Pt':{'Elements':{'Pt':{'Num':1}},'Volume':15.14},
57'SrTiO3':{'Elements':{'Sr':{'Num':1},'Ti':{'Num':1},'O':{'Num':1}},'Volume':26.71},
58'V':{'Elements':{'V':{'Num':1}},'Volume':19.26},
59}
60# they should not be duplicated in the UserSubstances.py file:
61try:
62    import UserSubstances as userFile
63    Substances.update(userFile.Substances)
64except:
65    pass
Note: See TracBrowser for help on using the repository browser.