1 /* 2 * Copyright (c) 2019 Kevin Townsend (KTOWN) 3 * 4 * SPDX-License-Identifier: Apache-2.0 5 */ 6 7 #include <math.h> 8 #include <errno.h> 9 #include <zephyr/kernel.h> 10 #include <zsl/zsl.h> 11 #include <zsl/chemistry.h> 12 13 const zsl_real_t zsl_chem_atom_weight[119] = { 14 0.0, /* NULL element so that index matches atomic number. */ 15 1.0079, /* Hydrogen, H, 1 */ 16 4.0026, /* Helium, He 2 */ 17 6.941, /* Lithium, Li 3 */ 18 9.0122, /* Beryllium, Be 4 */ 19 10.811, /* Boron, B 5 */ 20 12.0107, /* Carbon, C 6 */ 21 14.0067, /* Nitrogen, N 7 */ 22 15.9994, /* Oxygen, O 8 */ 23 18.9984, /* Fluorine, F 9 */ 24 20.1797, /* Neon, Ne 10 */ 25 22.9897, /* Sodium, Na 11 */ 26 24.305, /* Magnesium, Mg 12 */ 27 26.9815, /* Aluminum, Al 13 */ 28 28.0855, /* Silicon, Si 14 */ 29 30.9738, /* Phosphorus, P 15 */ 30 32.065, /* Sulfur, S 16 */ 31 35.453, /* Chlorine, Cl 17 */ 32 39.948, /* Argon, Ar 18 */ 33 39.0983, /* Potassium, K 19 */ 34 40.078, /* Calcium, Ca 20 */ 35 44.9559, /* Scandium, Sc 21 */ 36 47.867, /* Titanium, Ti 22 */ 37 50.9415, /* Vanadium, V 23 */ 38 51.9961, /* Chromium, Cr 24 */ 39 54.938, /* Manganese, Mn 25 */ 40 55.845, /* Iron, Fe 26 */ 41 58.9332, /* Cobalt, Co 27 */ 42 58.6934, /* Nickel, Ni 28 */ 43 63.546, /* Copper, Cu 29 */ 44 65.39, /* Zinc, Zn 30 */ 45 69.723, /* Gallium, Ga 31 */ 46 72.64, /* Germanium, Ge 32 */ 47 74.9216, /* Arsenic, As 33 */ 48 78.96, /* Selenium, Se 34 */ 49 79.904, /* Bromine, Br 35 */ 50 83.8, /* Krypton, Kr 36 */ 51 85.4678, /* Rubidium, Rb 37 */ 52 87.62, /* Strontium, Sr 38 */ 53 88.9059, /* Yttrium, Y 39 */ 54 91.224, /* Zirconium, Zr 40 */ 55 92.9064, /* Niobium, Nb 41 */ 56 95.94, /* Molybdenum, Mo 42 */ 57 98.0, /* Technetium, Tc 43 */ 58 101.07, /* Ruthenium, Ru 44 */ 59 102.9055, /* Rhodium, Rh 45 */ 60 106.42, /* Palladium, Pd 46 */ 61 107.8682, /* Silver, Ag 47 */ 62 112.411, /* Cadmium, Cd 48 */ 63 114.818, /* Indium, In 49 */ 64 118.71, /* Tin, Sn 50 */ 65 121.76, /* Antimony, Sb 51 */ 66 127.6, /* Tellurium, Te 52 */ 67 126.9045, /* Iodine, I 53 */ 68 131.293, /* Xenon, Xe 54 */ 69 132.9055, /* Cesium, Cs 55 */ 70 137.327, /* Barium, Ba 56 */ 71 138.9055, /* Lanthanum, La 57 */ 72 140.116, /* Cerium, Ce 58 */ 73 140.9077, /* Praseodymium, Pr 59 */ 74 144.24, /* Neodymium, Nd 60 */ 75 145.0, /* Promethium, Pm 61 */ 76 150.36, /* Samarium, Sm 62 */ 77 151.964, /* Europium, Eu 63 */ 78 157.25, /* Gadolinium, Gd 64 */ 79 158.9253, /* Terbium, Tb 65 */ 80 162.5, /* Dysprosium, Dy 66 */ 81 164.9303, /* Holmium, Ho 67 */ 82 167.259, /* Erbium, Er 68 */ 83 168.9342, /* Thulium, Tm 69 */ 84 173.04, /* Ytterbium, Yb 70 */ 85 174.967, /* Lutetium, Lu 71 */ 86 178.49, /* Hafnium, Hf 72 */ 87 180.9479, /* Tantalum, Ta 73 */ 88 183.84, /* Tungsten, W 74 */ 89 186.207, /* Rhenium, Re 75 */ 90 190.23, /* Osmium, Os 76 */ 91 192.217, /* Iridium, Ir 77 */ 92 195.078, /* Platinum, Pt 78 */ 93 196.9665, /* Gold, Au 79 */ 94 200.59, /* Mercury, Hg 80 */ 95 204.3833, /* Thallium, Tl 81 */ 96 207.2, /* Lead, Pb 82 */ 97 208.9804, /* Bismuth, Bi 83 */ 98 209.0, /* Polonium, Po 84 */ 99 210.0, /* Astatine, At 85 */ 100 222.0, /* Radon, Rn 86 */ 101 223.0, /* Francium, Fr 87 */ 102 226.0, /* Radium, Ra 88 */ 103 227.0, /* Actinium, Ac 89 */ 104 232.0381, /* Thorium, Th 90 */ 105 231.0359, /* Protactinium, Pa 91 */ 106 238.0289, /* Uranium, U 92 */ 107 237.0, /* Neptunium, Np 93 */ 108 244.0, /* Plutonium, Pu 94 */ 109 0.0, /* Americium, Am 95 */ 110 0.0, /* Curium, Cm 96 */ 111 0.0, /* Berkelium, Bk 97 */ 112 0.0, /* Californium, Cf 98 */ 113 0.0, /* Einsteinium, Es 99 */ 114 0.0, /* Fermium, Fm 100 */ 115 0.0, /* Mendelevium, Md 101 */ 116 0.0, /* Nobelium, No 102 */ 117 0.0, /* Lawrencium, Lr 103 */ 118 0.0, /* Rutherfordium, Rf 104 */ 119 0.0, /* Dubnium, Db 105 */ 120 0.0, /* Seaborgium, Sg 106 */ 121 0.0, /* Bohrium, Bh 107 */ 122 0.0, /* Hassium, Hs 108 */ 123 0.0, /* Meitnerium, Mt 109 */ 124 0.0, /* Darmstadtium, Ds 110 */ 125 0.0, /* Roentgenium, Rg 111 */ 126 0.0, /* Copernicium, Cn 112 */ 127 0.0, /* Nihonium, Nh 113 */ 128 0.0, /* Flerovium, Fl 114 */ 129 0.0, /* Moscovium, Mc 115 */ 130 0.0, /* Livermorium, Lv 116 */ 131 0.0, /* Tennessine, Ts 117 */ 132 0.0 /* Oganesson, Og 118 */ 133 }; 134