diff --git a/doc/en/Developer/Development_track.md b/doc/en/Developer/Development_track.md index 7a61b9267a7..c001e674914 100644 --- a/doc/en/Developer/Development_track.md +++ b/doc/en/Developer/Development_track.md @@ -12,6 +12,7 @@ Issues with [github milestone 4.13.0](https://github.com/maths/moodle-qtype_stac 1. Remove all "cte" code from Maxima - mostly install. 2. Support for Maxima 5.47.0, 5.48.0, and 5.49.0. This includes a fix for issue #1281 from 5.48.0. 3. Question tests can now test the whole route through a PRT, rather than just the final node. This is a significant improvement on the ability to test questions. This is back-compatible with older questions. +4. Move chemistry data and some core functions into the Maxima supported code. Load these with `stack_chemistry_declare(true);` in the question variables. -------------------------------------- diff --git a/doc/en/Topics/Chemistry/index.md b/doc/en/Topics/Chemistry/index.md index 2be33f17c01..821c779a4c7 100644 --- a/doc/en/Topics/Chemistry/index.md +++ b/doc/en/Topics/Chemistry/index.md @@ -4,11 +4,9 @@ STACK provides a comprehensive chemical data sheet for use in numerical problems To include chemical data use the following within your STACK question (question variables). - stack_include_contrib("chemistry.mac"); + stack_chemistry_declare(true); -Developer notes: - -* During development to load the code local to your development server use `stack_include("contribl://chemistry.mac");` +(Older questions used an optional library `stack_include_contrib("chemistry.mac");` which has been moved to the core.) ## Using chemical data @@ -49,7 +47,7 @@ Notes. 1. Names of elements are always given as strings. E.g. to access data for hydrogen use `"H"`. 2. Field names are always given as strings, e.g. `"AtomicMass"` is a string (not an atom `AtomicMass`). 3. The utility functions filter the `"Name"` field to give the name of the element with the local language selection. STACK uses the global `%_STACK_LANG` variable. If no local name is defined the `"Name"` in English is returned. If you really want _all_ the data, just use `assoc(element, %_STACK_CHEM_ELEMENTS)` rather than ` chem_data_all(element)`. -4. Note that, for efficiency reasons, data is stored in flat table and the above arrays are reconstructed from the flat table, the list of field names and any languages available. Language data is separated which makes it easier to add a new language. Chemical names are _not_ part of Moodle's normal language pack and need to be added explicitly to `chemistry.mac`. See [github](https://github.com/maths/moodle-qtype_stack/blob/master/stack/maxima/contrib/chemistry.mac) for examples. As of Nov 2025, English, Finnish and German names are available. +4. Note that, for efficiency reasons, data is stored in flat table and the above arrays are reconstructed from the flat table, the list of field names and any languages available. Language data is separated which makes it easier to add a new language. Chemical names are _not_ part of Moodle's normal language pack and need to be added explicitly to `chemistry.mac`. See [github](https://github.com/maths/moodle-qtype_stack/blob/master/stack/maxima/chemistry.mac) for examples. As of Nov 2025, English, Finnish and German names are available. TODO: write a maxima function which gives an annotated atomic symbol in LaTeX, based on the chemical data e.g. \(^{25}_{12}\mbox{Mg}^{2+}\). diff --git a/samplequestions/stacklibrary/Topics/Chemistry/Molar-mass.xml b/samplequestions/stacklibrary/Topics/Chemistry/Molar-mass.xml index 30efeb2a840..1edd6b11e15 100644 --- a/samplequestions/stacklibrary/Topics/Chemistry/Molar-mass.xml +++ b/samplequestions/stacklibrary/Topics/Chemistry/Molar-mass.xml @@ -36,7 +36,7 @@ M= 2025080100 - . */ + +/****************************************************************/ +/* Chemistry functions for STACK */ +/* */ +/* V1.1 June 2026 */ +/* */ +/****************************************************************/ + +chem_data_all(element) := block([cdat, cname, langpack], + cdat:zip_with("[", %_CHEM_FIELDS, assoc(element, %_CHEM_ELEMENTS)), + langpack:assoc(%_STACK_LANG, %_CHEM_LANG), + /* If the language pack is missing, use English. */ + if is(langpack=false) then return(cdat), + /* Default to the English name if missing. */ + cname:assoc(element,langpack, assoc("Name", cdat)), + append([first(cdat),["Name", cname]], rest(rest(cdat))) +)$ + +/* This function returns the data "dp" associated with "element". */ +chem_data(element, dp) := assoc(dp, chem_data_all(element))$ + +/* This function returns the data "dp" associated with "element", with units. */ +chem_data_units(element, dp) := block([cunit], + cunit:assoc(dp, zip_with("[", %_CHEM_FIELDS, %_CHEM_UNITS)), + if is(cunit=null) then + assoc(dp, chem_data_all(element)) + else + stackunits(assoc(dp, chem_data_all(element)), cunit) +)$ + +/* This function returns the units addociated with field "dp". */ +chem_units(dp) := assoc(dp, zip_with("[", %_CHEM_FIELDS, %_CHEM_UNITS))$ + +/************************************************************************/ +/* This function wraps declaration of the large, static arrays of data. */ +/************************************************************************/ +stack_chemistry_declare(ex) := block( +/* + This is the order of data below. For efficiency, we don't store all the data as nested lists with repeaed fields. + The functions above return formatted data for use with "assoc". +*/ +%_CHEM_FIELDS : [ + "AtomicNumber", "Name", "AtomicMass", "CPKHexColor", + "ElectronConfiguration", "Electronegativity", "AtomicRadius", + "IonizationEnergy", "ElectronAffinity", "OxidationStates", + "StandardState", "MeltingPoint", "BoilingPoint", "Density", + "GroupBlock", "YearDiscovered" +], +%_CHEM_UNITS : [ + null, null, g*mol^(-1), null, + null, null, pm, + J, null, null, + null, K, K, g/cm^3, + null, null +], +/* + Chemical data reformatted from https://pubchem.ncbi.nlm.nih.gov/rest/pug/periodictable/JSON on 2025-06-17. + Missing numerical data is indicated by the atom "null" rather than a zero. +*/ +%_CHEM_ELEMENTS: [ + ["H", [1, "Hydrogen", 1.0080, "FFFFFF", "1s1", 2.2, 120, 13.598, 0.754, "+1, -1", "Gas", 13.81, 20.28, 0.00008988, "Nonmetal", 1766]], + ["He", [2, "Helium", 4.00260, "D9FFFF", "1s2", null, 140, 24.587, null, "0", "Gas", 0.95, 4.22, 0.0001785, "Noble gas", 1868]], + ["Li", [3, "Lithium", 7.0, "CC80FF", "[He]2s1", 0.98, 182, 5.392, 0.618, "+1", "Solid", 453.65, 1615, 0.534, "Alkali metal", 1817]], + ["Be", [4, "Beryllium", 9.012183, "C2FF00", "[He]2s2", 1.57, 153, 9.323, null, "+2", "Solid", 1560, 2744, 1.85, "Alkaline earth metal", 1798]], + ["B", [5, "Boron", 10.81, "FFB5B5", "[He]2s2 2p1", 2.04, 192, 8.298, 0.277, "+3", "Solid", 2348, 4273, 2.37, "Metalloid", 1808]], + ["C", [6, "Carbon", 12.011, "909090", "[He]2s2 2p2", 2.55, 170, 11.260, 1.263, "+4, +2, -4", "Solid", 3823, 4098, 2.2670, "Nonmetal", Ancient]], + ["N", [7, "Nitrogen", 14.007, "3050F8", "[He] 2s2 2p3", 3.04, 155, 14.534, null, "+5, +4, +3, +2, +1, -1, -2, -3", "Gas", 63.15, 77.36, 0.0012506, "Nonmetal", 1772]], + ["O", [8, "Oxygen", 15.999, "FF0D0D", "[He]2s2 2p4", 3.44, 152, 13.618, 1.461, "-2", "Gas", 54.36, 90.2, 0.001429, "Nonmetal", 1774]], + ["F", [9, "Fluorine", 18.99840316, "90E050", "[He]2s2 2p5", 3.98, 135, 17.423, 3.339, "-1", "Gas", 53.53, 85.03, 0.001696, "Halogen", 1670]], + ["Ne", [10, "Neon", 20.180, "B3E3F5", "[He]2s2 2p6", null, 154, 21.565, null, "0", "Gas", 24.56, 27.07, 0.0008999, "Noble gas", 1898]], + ["Na", [11, "Sodium", 22.9897693, "AB5CF2", "[Ne]3s1", 0.93, 227, 5.139, 0.548, "+1", "Solid", 370.95, 1156, 0.97, "Alkali metal", 1807]], + ["Mg", [12, "Magnesium", 24.305, "8AFF00", "[Ne]3s2", 1.31, 173, 7.646, null, "+2", "Solid", 923, 1363, 1.74, "Alkaline earth metal", 1808]], + ["Al", [13, "Aluminum", 26.981538, "BFA6A6", "[Ne]3s2 3p1", 1.61, 184, 5.986, 0.441, "+3", "Solid", 933.437, 2792, 2.70, "Post-transition metal", Ancient]], + ["Si", [14, "Silicon", 28.085, "F0C8A0", "[Ne]3s2 3p2", 1.9, 210, 8.152, 1.385, "+4, +2, -4", "Solid", 1687, 3538, 2.3296, "Metalloid", 1854]], + ["P", [15, "Phosphorus", 30.97376200, "FF8000", "[Ne]3s2 3p3", 2.19, 180, 10.487, 0.746, "+5, +3, -3", "Solid", 317.3, 553.65, 1.82, "Nonmetal", 1669]], + ["S", [16, "Sulfur", 32.07, "FFFF30", "[Ne]3s2 3p4", 2.58, 180, 10.360, 2.077, "+6, +4, -2", "Solid", 388.36, 717.75, 2.067, "Nonmetal", Ancient]], + ["Cl", [17, "Chlorine", 35.45, "1FF01F", "[Ne]3s2 3p5", 3.16, 175, 12.968, 3.617, "+7, +5, +1, -1", "Gas", 171.65, 239.11, 0.003214, "Halogen", 1774]], + ["Ar", [18, "Argon", 39.9, "80D1E3", "[Ne]3s2 3p6", null, 188, 15.760, null, "0", "Gas", 83.8, 87.3, 0.0017837, "Noble gas", 1894]], + ["K", [19, "Potassium", 39.0983, "8F40D4", "[Ar]4s1", 0.82, 275, 4.341, 0.501, "+1", "Solid", 336.53, 1032, 0.89, "Alkali metal", 1807]], + ["Ca", [20, "Calcium", 40.08, "3DFF00", "[Ar]4s2", 1, 231, 6.113, null, "+2", "Solid", 1115, 1757, 1.54, "Alkaline earth metal", Ancient]], + ["Sc", [21, "Scandium", 44.95591, "E6E6E6", "[Ar]4s2 3d1", 1.36, 211, 6.561, 0.188, "+3", "Solid", 1814, 3109, 2.99, "Transition metal", 1879]], + ["Ti", [22, "Titanium", 47.867, "BFC2C7", "[Ar]4s2 3d2", 1.54, 187, 6.828, 0.079, "+4, +3, +2", "Solid", 1941, 3560, 4.5, "Transition metal", 1791]], + ["V", [23, "Vanadium", 50.9415, "A6A6AB", "[Ar]4s2 3d3", 1.63, 179, 6.746, 0.525, "+5, +4, +3, +2", "Solid", 2183, 3680, 6.0, "Transition metal", 1801]], + ["Cr", [24, "Chromium", 51.996, "8A99C7", "[Ar]3d5 4s1", 1.66, 189, 6.767, 0.666, "+6, +3, +2", "Solid", 2180, 2944, 7.15, "Transition metal", 1797]], + ["Mn", [25, "Manganese", 54.93804, "9C7AC7", "[Ar]4s2 3d5", 1.55, 197, 7.434, null, "+7, +4, +3, +2", "Solid", 1519, 2334, 7.3, "Transition metal", 1774]], + ["Fe", [26, "Iron", 55.84, "E06633", "[Ar]4s2 3d6", 1.83, 194, 7.902, 0.163, "+3, +2", "Solid", 1811, 3134, 7.874, "Transition metal", Ancient]], + ["Co", [27, "Cobalt", 58.93319, "F090A0", "[Ar]4s2 3d7", 1.88, 192, 7.881, 0.661, "+3, +2", "Solid", 1768, 3200, 8.86, "Transition metal", 1735]], + ["Ni", [28, "Nickel", 58.693, "50D050", "[Ar]4s2 3d8", 1.91, 163, 7.640, 1.156, "+3, +2", "Solid", 1728, 3186, 8.912, "Transition metal", 1751]], + ["Cu", [29, "Copper", 63.55, "C88033", "[Ar]4s1 3d10", 1.9, 140, 7.726, 1.228, "+2, +1", "Solid", 1357.77, 2835, 8.933, "Transition metal", Ancient]], + ["Zn", [30, "Zinc", 65.4, "7D80B0", "[Ar]4s2 3d10", 1.65, 139, 9.394, null, "+2", "Solid", 692.68, 1180, 7.134, "Transition metal", 1746]], + ["Ga", [31, "Gallium", 69.723, "C28F8F", "[Ar]4s2 3d10 4p1", 1.81, 187, 5.999, 0.3, "+3", "Solid", 302.91, 2477, 5.91, "Post-transition metal", 1875]], + ["Ge", [32, "Germanium", 72.63, "668F8F", "[Ar]4s2 3d10 4p2", 2.01, 211, 7.900, 1.35, "+4, +2", "Solid", 1211.4, 3106, 5.323, "Metalloid", 1886]], + ["As", [33, "Arsenic", 74.92159, "BD80E3", "[Ar]4s2 3d10 4p3", 2.18, 185, 9.815, 0.81, "+5, +3, -3", "Solid", 1090, 887, 5.776, "Metalloid", Ancient]], + ["Se", [34, "Selenium", 78.97, "FFA100", "[Ar]4s2 3d10 4p4", 2.55, 190, 9.752, 2.021, "+6, +4, -2", "Solid", 493.65, 958, 4.809, "Nonmetal", 1817]], + ["Br", [35, "Bromine", 79.90, "A62929", "[Ar]4s2 3d10 4p5", 2.96, 183, 11.814, 3.365, "+5, +1, -1", "Liquid", 265.95, 331.95, 3.11, "Halogen", 1826]], + ["Kr", [36, "Krypton", 83.80, "5CB8D1", "[Ar]4s2 3d10 4p6", 3, 202, 14.000, null, "0", "Gas", 115.79, 119.93, 0.003733, "Noble gas", 1898]], + ["Rb", [37, "Rubidium", 85.468, "702EB0", "[Kr]5s1", 0.82, 303, 4.177, 0.468, "+1", "Solid", 312.46, 961, 1.53, "Alkali metal", 1861]], + ["Sr", [38, "Strontium", 87.62, "00FF00", "[Kr]5s2", 0.95, 249, 5.695, null, "+2", "Solid", 1050, 1655, 2.64, "Alkaline earth metal", 1790]], + ["Y", [39, "Yttrium", 88.90584, "94FFFF", "[Kr]5s2 4d1", 1.22, 219, 6.217, 0.307, "+3", "Solid", 1795, 3618, 4.47, "Transition metal", 1794]], + ["Zr", [40, "Zirconium", 91.22, "94E0E0", "[Kr]5s2 4d2", 1.33, 186, 6.634, 0.426, "+4", "Solid", 2128, 4682, 6.52, "Transition metal", 1789]], + ["Nb", [41, "Niobium", 92.90637, "73C2C9", "[Kr]5s1 4d4", 1.6, 207, 6.759, 0.893, "+5, +3", "Solid", 2750, 5017, 8.57, "Transition metal", 1801]], + ["Mo", [42, "Molybdenum", 95.95, "54B5B5", "[Kr]5s1 4d5", 2.16, 209, 7.092, 0.746, "+6", "Solid", 2896, 4912, 10.2, "Transition metal", 1778]], + ["Tc", [43, "Technetium", 96.90636, "3B9E9E", "[Kr]5s2 4d5", 1.9, 209, 7.28, 0.55, "+7, +6, +4", "Solid", 2430, 4538, 11, "Transition metal", 1937]], + ["Ru", [44, "Ruthenium", 101.1, "248F8F", "[Kr]5s1 4d7", 2.2, 207, 7.361, 1.05, "+3", "Solid", 2607, 4423, 12.1, "Transition metal", 1827]], + ["Rh", [45, "Rhodium", 102.9055, "0A7D8C", "[Kr]5s1 4d8", 2.28, 195, 7.459, 1.137, "+3", "Solid", 2237, 3968, 12.4, "Transition metal", 1803]], + ["Pd", [46, "Palladium", 106.42, "6985", "[Kr]4d10", 2.2, 202, 8.337, 0.557, "+3, +2", "Solid", 1828.05, 3236, 12.0, "Transition metal", 1803]], + ["Ag", [47, "Silver", 107.868, "C0C0C0", "[Kr]5s1 4d10", 1.93, 172, 7.576, 1.302, "+1", "Solid", 1234.93, 2435, 10.501, "Transition metal", Ancient]], + ["Cd", [48, "Cadmium", 112.41, "FFD98F", "[Kr]5s2 4d10", 1.69, 158, 8.994, null, "+2", "Solid", 594.22, 1040, 8.69, "Transition metal", 1817]], + ["In", [49, "Indium", 114.818, "A67573", "[Kr]5s2 4d10 5p1", 1.78, 193, 5.786, 0.3, "+3", "Solid", 429.75, 2345, 7.31, "Post-transition metal", 1863]], + ["Sn", [50, "Tin", 118.71, "668080", "[Kr]5s2 4d10 5p2", 1.96, 217, 7.344, 1.2, "+4, +2", "Solid", 505.08, 2875, 7.287, "Post-transition metal", Ancient]], + ["Sb", [51, "Antimony", 121.760, "9E63B5", "[Kr]5s2 4d10 5p3", 2.05, 206, 8.64, 1.07, "+5, +3, -3", "Solid", 903.78, 1860, 6.685, "Metalloid", Ancient]], + ["Te", [52, "Tellurium", 127.6, "D47A00", "[Kr]5s2 4d10 5p4", 2.1, 206, 9.010, 1.971, "+6, +4, -2", "Solid", 722.66, 1261, 6.232, "Metalloid", 1782]], + ["I", [53, "Iodine", 126.9045, "940094", "[Kr]5s2 4d10 5p5", 2.66, 198, 10.451, 3.059, "+7, +5, +1, -1", "Solid", 386.85, 457.55, 4.93, "Halogen", 1811]], + ["Xe", [54, "Xenon", 131.29, "429EB0", "[Kr]5s2 4d10 5p6", 2.6, 216, 12.130, null, "0", "Gas", 161.36, 165.03, 0.005887, "Noble gas", 1898]], + ["Cs", [55, "Cesium", 132.9054520, "57178F", "[Xe]6s1", 0.79, 343, 3.894, 0.472, "+1", "Solid", 301.59, 944, 1.93, "Alkali metal", 1860]], + ["Ba", [56, "Barium", 137.33, "00C900", "[Xe]6s2", 0.89, 268, 5.212, null, "+2", "Solid", 1000, 2170, 3.62, "Alkaline earth metal", 1808]], + ["La", [57, "Lanthanum", 138.9055, "70D4FF", "[Xe]6s2 5d1", 1.1, 240, 5.577, 0.5, "+3", "Solid", 1191, 3737, 6.15, "Lanthanide", 1839]], + ["Ce", [58, "Cerium", 140.116, "FFFFC7", "[Xe]6s2 4f1 5d1", 1.12, 235, 5.539, 0.5, "+4, +3", "Solid", 1071, 3697, 6.770, "Lanthanide", 1803]], + ["Pr", [59, "Praseodymium", 140.90766, "D9FFC7", "[Xe]6s2 4f3", 1.13, 239, 5.464, null, "+3", "Solid", 1204, 3793, 6.77, "Lanthanide", 1885]], + ["Nd", [60, "Neodymium", 144.24, "C7FFC7", "[Xe]6s2 4f4", 1.14, 229, 5.525, null, "+3", "Solid", 1294, 3347, 7.01, "Lanthanide", 1885]], + ["Pm", [61, "Promethium", 144.91276, "A3FFC7", "[Xe]6s2 4f5", null, 236, 5.55, null, "+3", "Solid", 1315, 3273, 7.26, "Lanthanide", 1945]], + ["Sm", [62, "Samarium", 150.4, "8FFFC7", "[Xe]6s2 4f6", 1.17, 229, 5.644, null, "+3, +2", "Solid", 1347, 2067, 7.52, "Lanthanide", 1879]], + ["Eu", [63, "Europium", 151.964, "61FFC7", "[Xe]6s2 4f7", null, 233, 5.670, null, "+3, +2", "Solid", 1095, 1802, 5.24, "Lanthanide", 1901]], + ["Gd", [64, "Gadolinium", 157.25, "45FFC7", "[Xe]6s2 4f7 5d1", 1.2, 237, 6.150, null, "+3", "Solid", 1586, 3546, 7.90, "Lanthanide", 1880]], + ["Tb", [65, "Terbium", 158.92535, "30FFC7", "[Xe]6s2 4f9", null, 221, 5.864, null, "+3", "Solid", 1629, 3503, 8.23, "Lanthanide", 1843]], + ["Dy", [66, "Dysprosium", 162.500, "1FFFC7", "[Xe]6s2 4f10", 1.22, 229, 5.939, null, "+3", "Solid", 1685, 2840, 8.55, "Lanthanide", 1886]], + ["Ho", [67, "Holmium", 164.93033, "00FF9C", "[Xe]6s2 4f11", 1.23, 216, 6.022, null, "+3", "Solid", 1747, 2973, 8.80, "Lanthanide", 1878]], + ["Er", [68, "Erbium", 167.26, "", "[Xe]6s2 4f12", 1.24, 235, 6.108, null, "+3", "Solid", 1802, 3141, 9.07, "Lanthanide", 1843]], + ["Tm", [69, "Thulium", 168.93422, "00D452", "[Xe]6s2 4f13", 1.25, 227, 6.184, null, "+3", "Solid", 1818, 2223, 9.32, "Lanthanide", 1879]], + ["Yb", [70, "Ytterbium", 173.05, "00BF38", "[Xe]6s2 4f14", null, 242, 6.254, null, "+3, +2", "Solid", 1092, 1469, 6.90, "Lanthanide", 1878]], + ["Lu", [71, "Lutetium", 174.9667, "00AB24", "[Xe]6s2 4f14 5d1", 1.27, 221, 5.426, null, "+3", "Solid", 1936, 3675, 9.84, "Lanthanide", 1907]], + ["Hf", [72, "Hafnium", 178.49, "4DC2FF", "[Xe]6s2 4f14 5d2", 1.3, 212, 6.825, null, "+4", "Solid", 2506, 4876, 13.3, "Transition metal", 1923]], + ["Ta", [73, "Tantalum", 180.9479, "4DA6FF", "[Xe]6s2 4f14 5d3", 1.5, 217, 7.89, 0.322, "+5", "Solid", 3290, 5731, 16.4, "Transition metal", 1802]], + ["W", [74, "Tungsten", 183.84, "2194D6", "[Xe]6s2 4f14 5d4", 2.36, 210, 7.98, 0.815, "+6", "Solid", 3695, 5828, 19.3, "Transition metal", 1783]], + ["Re", [75, "Rhenium", 186.207, "267DAB", "[Xe]6s2 4f14 5d5", 1.9, 217, 7.88, 0.15, "+7, +6, +4", "Solid", 3459, 5869, 20.8, "Transition metal", 1925]], + ["Os", [76, "Osmium", 190.2, "266696", "[Xe]6s2 4f14 5d6", 2.2, 216, 8.7, 1.1, "+4, +3", "Solid", 3306, 5285, 22.57, "Transition metal", 1803]], + ["Ir", [77, "Iridium", 192.22, "175487", "[Xe]6s2 4f14 5d7", 2.2, 202, 9.1, 1.565, "+4, +3", "Solid", 2719, 4701, 22.42, "Transition metal", 1803]], + ["Pt", [78, "Platinum", 195.08, "D0D0E0", "[Xe]6s1 4f14 5d9", 2.28, 209, 9, 2.128, "+4, +2", "Solid", 2041.55, 4098, 21.46, "Transition metal", 1735]], + ["Au", [79, "Gold", 196.96657, "FFD123", "[Xe]6s1 4f14 5d10", 2.54, 166, 9.226, 2.309, "+3, +1", "Solid", 1337.33, 3129, 19.282, "Transition metal", Ancient]], + ["Hg", [80, "Mercury", 200.59, "B8B8D0", "[Xe]6s2 4f14 5d10", 2, 209, 10.438, null, "+2, +1", "Liquid", 234.32, 629.88, 13.5336, "Transition metal", Ancient]], + ["Tl", [81, "Thallium", 204.383, "A6544D", "[Xe]6s2 4f14 5d10 6p1", 1.62, 196, 6.108, 0.2, "+3, +1", "Solid", 577, 1746, 11.8, "Post-transition metal", 1861]], + ["Pb", [82, "Lead", 207, "575961", "[Xe]6s2 4f14 5d10 6p2", 2.33, 202, 7.417, 0.36, "+4, +2", "Solid", 600.61, 2022, 11.342, "Post-transition metal", Ancient]], + ["Bi", [83, "Bismuth", 208.98040, "9E4FB5", "[Xe]6s2 4f14 5d10 6p3", 2.02, 207, 7.289, 0.946, "+5, +3", "Solid", 544.55, 1837, 9.807, "Post-transition metal", 1753]], + ["Po", [84, "Polonium", 208.98243, "AB5C00", "[Xe]6s2 4f14 5d10 6p4", 2, 197, 8.417, 1.9, "+4, +2", "Solid", 527, 1235, 9.32, "Metalloid", 1898]], + ["At", [85, "Astatine", 209.98715, "754F45", "[Xe]6s2 4f14 5d10 6p5", 2.2, 202, 9.5, 2.8, "7, 5, 3, 1, -1", "Solid", 575, null, 7, "Halogen", 1940]], + ["Rn", [86, "Radon", 222.01758, "428296", "[Xe]6s2 4f14 5d10 6p6", null, 220, 10.745, null, "0", "Gas", 202, 211.45, 0.00973, "Noble gas", 1900]], + ["Fr", [87, "Francium", 223.01973, "420066", "[Rn]7s1", 0.7, 348, 3.9, 0.47, "+1", "Solid", 300, null, null, "Alkali metal", 1939]], + ["Ra", [88, "Radium", 226.02541, "007D00", "[Rn]7s2", 0.9, 283, 5.279, null, "+2", "Solid", 973, 1413, 5, "Alkaline earth metal", 1898]], + ["Ac", [89, "Actinium", 227.02775, "70ABFA", "[Rn]7s2 6d1", 1.1, 260, 5.17, null, "+3", "Solid", 1324, 3471, 10.07, "Actinide", 1899]], + ["Th", [90, "Thorium", 232.038, "00BAFF", "[Rn]7s2 6d2", 1.3, 237, 6.08, null, "+4", "Solid", 2023, 5061, 11.72, "Actinide", 1828]], + ["Pa", [91, "Protactinium", 231.03588, "00A1FF", "[Rn]7s2 5f2 6d1", 1.5, 243, 5.89, null, "+5, +4", "Solid", 1845, null, 15.37, "Actinide", 1913]], + ["U", [92, "Uranium", 238.0289, "008FFF", "[Rn]7s2 5f3 6d1", 1.38, 240, 6.194, null, "+6, +5, +4, +3", "Solid", 1408, 4404, 18.95, "Actinide", 1789]], + ["Np", [93, "Neptunium", 237.048172, "0080FF", "[Rn]7s2 5f4 6d1", 1.36, 221, 6.266, null, "+6, +5, +4, +3", "Solid", 917, 4175, 20.25, "Actinide", 1940]], + ["Pu", [94, "Plutonium", 244.06420, "006BFF", "[Rn]7s2 5f6", 1.28, 243, 6.06, null, "+6, +5, +4, +3", "Solid", 913, 3501, 19.84, "Actinide", 1940]], + ["Am", [95, "Americium", 243.061380, "545CF2", "[Rn]7s2 5f7", 1.3, 244, 5.993, null, "+6, +5, +4, +3", "Solid", 1449, 2284, 13.69, "Actinide", 1944]], + ["Cm", [96, "Curium", 247.07035, "785CE3", "[Rn]7s2 5f7 6d1", 1.3, 245, 6.02, null, "+3", "Solid", 1618, 3400, 13.51, "Actinide", 1944]], + ["Bk", [97, "Berkelium", 247.07031, "8A4FE3", "[Rn]7s2 5f9", 1.3, 244, 6.23, null, "+4, +3", "Solid", 1323, null, 14, "Actinide", 1949]], + ["Cf", [98, "Californium", 251.07959, "A136D4", "[Rn]7s2 5f10", 1.3, 245, 6.30, null, "+3", "Solid", 1173, null, null, "Actinide", 1950]], + ["Es", [99, "Einsteinium", 252.0830, "B31FD4", "[Rn]7s2 5f11", 1.3, 245, 6.42, null, "+3", "Solid", 1133, null, null, "Actinide", 1952]], + ["Fm", [100, "Fermium", 257.09511, "B31FBA", "[Rn] 5f12 7s2", 1.3, null, 6.50, null, "+3", "Solid", 1800, null, null, "Actinide", 1952]], + ["Md", [101, "Mendelevium", 258.09843, "B30DA6", "[Rn]7s2 5f13", 1.3, null, 6.58, null, "+3, +2", "Solid", 1100, null, null, "Actinide", 1955]], + ["No", [102, "Nobelium", 259.10100, "BD0D87", "[Rn]7s2 5f14", 1.3, null, 6.65, null, "+3, +2", "Solid", 1100, null, null, "Actinide", 1957]], + ["Lr", [103, "Lawrencium", 266.120, "C70066", "[Rn]7s2 5f14 6d1", 1.3, null, null, null, "+3", "Solid", 1900, null, null, "Actinide", 1961]], + ["Rf", [104, "Rutherfordium", 267.122, "CC0059", "[Rn]7s2 5f14 6d2", null, null, null, null, "+4", "Solid", null, null, null, "Transition metal", 1964]], + ["Db", [105, "Dubnium", 268.126, "D1004F", "[Rn]7s2 5f14 6d3", null, null, null, null, "5, 4, 3", "Solid", null, null, null, "Transition metal", 1967]], + ["Sg", [106, "Seaborgium", 269.128, "D90045", "[Rn]7s2 5f14 6d4", null, null, null, null, "6, 5, 4, 3, 0", "Solid", null, null, null, "Transition metal", 1974]], + ["Bh", [107, "Bohrium", 270.133, "E00038", "[Rn]7s2 5f14 6d5", null, null, null, null, "7, 5, 4, 3", "Solid", null, null, null, "Transition metal", 1976]], + ["Hs", [108, "Hassium", 269.1336, "E6002E", "[Rn]7s2 5f14 6d6", null, null, null, null, "8, 6, 5, 4, 3, 2", "Solid", null, null, null, "Transition metal", 1984]], + ["Mt", [109, "Meitnerium", 277.154, "EB0026", "[Rn]7s2 5f14 6d7 (calculated)", null, null, null, null, "9, 8, 6, 4, 3, 1", "Solid", null, null, null, "Transition metal", 1982]], + ["Ds", [110, "Darmstadtium", 282.166, "", "[Rn]7s2 5f14 6d8 (predicted)", null, null, null, null, "8, 6, 4, 2, 0", "Expected to be a Solid", null, null, null, "Transition metal", 1994]], + ["Rg", [111, "Roentgenium", 282.169, "", "[Rn]7s2 5f14 6d9 (predicted)", null, null, null, null, "5, 3, 1, -1", "Expected to be a Solid", null, null, null, "Transition metal", 1994]], + ["Cn", [112, "Copernicium", 286.179, "", "[Rn]7s2 5f14 6d10 (predicted)", null, null, null, null, "2, 1, 0", "Expected to be a Solid", null, null, null, "Transition metal", 1996]], + ["Nh", [113, "Nihonium", 286.182, "", "[Rn]5f14 6d10 7s2 7p1 (predicted)", null, null, null, null, "", "Expected to be a Solid", null, null, null, "Post-transition metal", 2004]], + ["Fl", [114, "Flerovium", 290.192, "", "[Rn]7s2 7p2 5f14 6d10 (predicted)", null, null, null, null, "6, 4,2, 1, 0", "Expected to be a Solid", null, null, null, "Post-transition metal", 1998]], + ["Mc", [115, "Moscovium", 290.196, "", "[Rn]7s2 7p3 5f14 6d10 (predicted)", null, null, null, null, "3, 1", "Expected to be a Solid", null, null, null, "Post-transition metal", 2003]], + ["Lv", [116, "Livermorium", 293.205, "", "[Rn]7s2 7p4 5f14 6d10 (predicted)", null, null, null, null, "+4, +2, -2", "Expected to be a Solid", null, null, null, "Post-transition metal", 2000]], + ["Ts", [117, "Tennessine", 294.211, "", "[Rn]7s2 7p5 5f14 6d10 (predicted)", null, null, null, null, "+5, +3, +1, -1", "Expected to be a Solid", null, null, null, "Halogen", 2010]], + ["Og", [118, "Oganesson", 295.216, "", "[Rn]7s2 7p6 5f14 6d10 (predicted)", null, null, null, null, "+6, +4, +2, +1, 0, -1", "Expected to be a Gas", null, null, null, "Noble gas", 2006]] +], + +/* + Separating the language data in this format makes it easier to add a new language. + That's a prioity over having the language embedded in a format like this. + ["H", [ + ["Name", [ ["en", "hydrogen"], ["fi", "vety"] ]], + ["AtomicNumber", 1], + ["AtomicMass", 1.008] + ]], + The above is logically better, but less easy to maintain! +*/ +%_CHEM_LANG:[ + ["de", [ + ["H", "Wasserstoff"], + ["He", "Helium"], + ["Li", "Lithium"], + ["Be", "Beryllium"], + ["B", "Bor"], + ["C", "Kohlenstoff"], + ["N", "Stickstoff"], + ["O", "Sauerstoff"], + ["F", "Fluor"], + ["Ne", "Neon"], + ["Na", "Natrium"], + ["Mg", "Magnesium"], + ["Al", "Aluminium"], + ["Si", "Silicium"], + ["P", "Phosphor"], + ["S", "Schwefel"], + ["Cl", "Chlor"], + ["Ar", "Argon"], + ["K", "Kalium"], + ["Ca", "Calcium"], + ["Sc", "Skandium"], + ["Ti", "Titan"], + ["V", "Vanadium"], + ["Cr", "Chrom"], + ["Mn", "Mang an"], + ["Fe", "Eisen"], + ["Co", "Kobalt"], + ["Ni", "Nickel"], + ["Cu", "Kupfer"], + ["Zn", "Zink"], + ["Ga", "Gallium"], + ["Ge", "Germanium"], + ["As", "Arsen"], + ["Se", "Selen"], + ["Br", "Brom"], + ["Kr", "Krypton"], + ["Rb", "Rubidium"], + ["Sr", "Strontium"], + ["Y", "Yttrium"], + ["Zr", "Zirkonium"], + ["Nb", "Niob"], + ["Mo", "Molybdän"], + ["Tc", "Technetium"], + ["Ru", "Ruthenium"], + ["Rh", "Rhodium"], + ["Pd", "Palladium"], + ["Ag", "Silber"], + ["Cd", "Cadmium"], + ["In", "Indium"], + ["Sn", "Zinn"], + ["Sb", "Antimon"], + ["Te", "Tellur"], + ["I", "Iod"], + ["Xe", "Xenon"], + ["Cs", "Caesium"], + ["Ba", "Barium"], + ["La", "Lanthan"], + ["Ce", "Cer"], + ["Pr", "Praseodym"], + ["Nd", "Neodym"], + ["Pm", "Promethium"], + ["Sm", "Samarium"], + ["Eu", "Europium"], + ["Gd", "Gadolinium"], + ["Tb", "Terbium"], + ["Dy", "Dysprosium"], + ["Ho", "Holmium"], + ["Er", "Erbium"], + ["Tm", "Thulium"], + ["Yb", "Ytterbium"], + ["Lu", "Lutetium"], + ["Hf", "Hafnium"], + ["Ta", "Tantal"], + ["W", "Wolfram"], + ["Re", "Rhenium"], + ["Os", "Osmium"], + ["Ir", "Iridium"], + ["Pt", "Platin"], + ["Au", "Gold"], + ["Hg", "Quecksilber"], + ["Tl", "Thallium"], + ["Pb", "Blei"], + ["Bi", "Bismut"], + ["Po", "Polonium"], + ["At", "Astat"], + ["Rn", "Radon"], + ["Fr", "Francium"], + ["Ra", "Radium"], + ["Ac", "Actinium"], + ["Th", "Thorium"], + ["Pa", "Protactinium"], + ["U", "Uran"], + ["Np", "Neptunium"], + ["Pu", "Plutonium"], + ["Am", "Americium"], + ["Cm", "Curium"], + ["Bk", "Berkelium"], + ["Cf", "Californium"], + ["Es", "Einsteinium"], + ["Fm", "Fermium"], + ["Md", "Mendelevium"], + ["No", "Nobelium"], + ["Lr", "Lawrencium"], + ["Rf", "Rutherfordium"], + ["Db", "Dubnium"], + ["Sg", "Seaborgium"], + ["Bh", "Bohrium"], + ["Hs", "Hassium"], + ["Mt", "Meitnerium"], + ["Rg", "Darmstadtium"], + ["Cn", "Roentgenium"], + ["Nh", "Copernicium"], + ["Fl", "Nihonium"], + ["Mc", "Flerovium"], + ["Lv", "Moscovium"], + ["Ts", "Livermorium"], + ["Og", "Tennessine"] + ]], + ["fi", [ + ["H", "vety"], + ["He", "helium"], + ["Li", "litium"], + ["Be", "beryllium"], + ["B", "boori"], + ["C", "hiili"], + ["N", "typpi"], + ["O", "happi"], + ["F", "fluori"], + ["Ne", "neon"], + ["Na", "natrium"], + ["Mg", "magnesium"], + ["Al", "alumiini"], + ["Si", "pii"], + ["P", "fosfori"], + ["S", "rikki"], + ["Cl", "kloori"], + ["Ar", "argon"], + ["K", "kalium"], + ["Ca", "kalsium"], + ["Sc", "skandium"], + ["Ti", "titaani"], + ["V", "vanadiini"], + ["Cr", "kromi"], + ["Mn", "mangaani"], + ["Fe", "rauta"], + ["Co", "koboltti"], + ["Ni", "nikkeli"], + ["Cu", "kupari"], + ["Zn", "sinkki"], + ["Ga", "gallium"], + ["Ge", "germanium"], + ["As", "arseeni"], + ["Se", "seleeni"], + ["Br", "bromi"], + ["Kr", "krypton"], + ["Rb", "rubidium"], + ["Sr", "strontium"], + ["Y", "yttrium"], + ["Zr", "zirkonium"], + ["Nb", "niobium"], + ["Mo", "molybdeeni"], + ["Tc", "teknetium"], + ["Ru", "rutenium"], + ["Rh", "rodium"], + ["Pd", "palladium"], + ["Ag", "hopea"], + ["Cd", "kadmium"], + ["In", "indium"], + ["Sn", "tina"], + ["Sb", "antimoni"], + ["Te", "telluuri"], + ["I", "jodi"], + ["Xe", "ksenon"], + ["Cs", "cesium"], + ["Ba", "barium"], + ["La", "lantaani"], + ["Ce", "cerium"], + ["Pr", "praseodyymi"], + ["Nd", "neodyymi"], + ["Pm", "prometium"], + ["Sm", "samarium"], + ["Eu", "europium"], + ["Gd", "gadolinium"], + ["Tb", "terbium"], + ["Dy", "dysprosium"], + ["Ho", "holmium"], + ["Er", "erbium"], + ["Tm", "tulium"], + ["Yb", "ytterbium"], + ["Lu", "lutetium"], + ["Hf", "hafnium"], + ["Ta", "tantaali"], + ["W", "volframi"], + ["Re", "renium"], + ["Os", "osmium"], + ["Ir", "iridium"], + ["Pt", "platina"], + ["Au", "kulta"], + ["Hg", "elohopea"], + ["Tl", "tallium"], + ["Pb", "lyijy"], + ["Bi", "vismutti"], + ["Po", "polonium"], + ["At", "astatiini"], + ["Rn", "radon"], + ["Fr", "frankium"], + ["Ra", "radium"], + ["Ac", "aktinium"], + ["Th", "torium"], + ["Pa", "protaktinium"], + ["U", "uraani"], + ["Np", "neptunium"], + ["Pu", "plutonium"], + ["Am", "amerikium"], + ["Cm", "curium"], + ["Bk", "berkelium"], + ["Cf", "kalifornium"], + ["Es", "einsteinium"], + ["Fm", "fermium"], + ["Md", "mendelevium"], + ["No", "nobelium"], + ["Lr", "lawrencium"], + ["Rf", "rutherfordium"], + ["Db", "dubnium"], + ["Sg", "seaborgium"], + ["Bh", "bohrium"], + ["Hs", "hassium"], + ["Mt", "meitnerium"], + ["Rg", "darmstadtium"], + ["Cn", "röntgenium"], + ["Nh", "kopernikium"], + ["Fl", "nihonium"], + ["Mc", "flerovium"], + ["Lv", "moskovium"], + ["Ts", "livermorium"], + ["Og", "tennessiini"]] + ] +] +)$ + diff --git a/stack/maxima/contrib/chemistry.mac b/stack/maxima/contrib/chemistry.mac index 263d648de2a..b6dbc40dc1c 100644 --- a/stack/maxima/contrib/chemistry.mac +++ b/stack/maxima/contrib/chemistry.mac @@ -13,431 +13,5 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . */ -/****************************************************************/ -/* Chemistry functions for STACK */ -/* */ -/* V1.0 June 2025 */ -/* */ -/****************************************************************/ - -chem_data_all(element) := block([cdat, cname, langpack], - cdat:zip_with("[", %_CHEM_FIELDS, assoc(element, %_CHEM_ELEMENTS)), - langpack:assoc(%_STACK_LANG, %_CHEM_LANG), - /* If the language pack is missing, use English. */ - if is(langpack=false) then return(cdat), - /* Default to the English name if missing. */ - cname:assoc(element,langpack, assoc("Name", cdat)), - append([first(cdat),["Name", cname]], rest(rest(cdat))) -)$ - -/* This function returns the data "dp" associated with "element". */ -chem_data(element, dp) := assoc(dp, chem_data_all(element))$ - -/* This function returns the data "dp" associated with "element", with units. */ -chem_data_units(element, dp) := block([cunit], - cunit:assoc(dp, zip_with("[", %_CHEM_FIELDS, %_CHEM_UNITS)), - if is(cunit=null) then - assoc(dp, chem_data_all(element)) - else - stackunits(assoc(dp, chem_data_all(element)), cunit) -)$ - -/* This function returns the units addociated with field "dp". */ -chem_units(dp) := assoc(dp, zip_with("[", %_CHEM_FIELDS, %_CHEM_UNITS))$ - -/* - This is the order of data below. For efficiency, we don't store all the data as nested lists with repeaed fields. - The functions above return formatted data for use with "assoc". -*/ -%_CHEM_FIELDS : [ - "AtomicNumber", "Name", "AtomicMass", "CPKHexColor", - "ElectronConfiguration", "Electronegativity", "AtomicRadius", - "IonizationEnergy", "ElectronAffinity", "OxidationStates", - "StandardState", "MeltingPoint", "BoilingPoint", "Density", - "GroupBlock", "YearDiscovered" -]$ - -%_CHEM_UNITS : [ - null, null, g*mol^(-1), null, - null, null, pm, - J, null, null, - null, K, K, g/cm^3, - null, null -]$ - -/* - Chemical data reformatted from https://pubchem.ncbi.nlm.nih.gov/rest/pug/periodictable/JSON on 2025-06-17. - Missing numerical data is indicated by the atom "null" rather than a zero. -*/ -%_CHEM_ELEMENTS: [ - ["H", [1, "Hydrogen", 1.0080, "FFFFFF", "1s1", 2.2, 120, 13.598, 0.754, "+1, -1", "Gas", 13.81, 20.28, 0.00008988, "Nonmetal", 1766]], - ["He", [2, "Helium", 4.00260, "D9FFFF", "1s2", null, 140, 24.587, null, "0", "Gas", 0.95, 4.22, 0.0001785, "Noble gas", 1868]], - ["Li", [3, "Lithium", 7.0, "CC80FF", "[He]2s1", 0.98, 182, 5.392, 0.618, "+1", "Solid", 453.65, 1615, 0.534, "Alkali metal", 1817]], - ["Be", [4, "Beryllium", 9.012183, "C2FF00", "[He]2s2", 1.57, 153, 9.323, null, "+2", "Solid", 1560, 2744, 1.85, "Alkaline earth metal", 1798]], - ["B", [5, "Boron", 10.81, "FFB5B5", "[He]2s2 2p1", 2.04, 192, 8.298, 0.277, "+3", "Solid", 2348, 4273, 2.37, "Metalloid", 1808]], - ["C", [6, "Carbon", 12.011, "909090", "[He]2s2 2p2", 2.55, 170, 11.260, 1.263, "+4, +2, -4", "Solid", 3823, 4098, 2.2670, "Nonmetal", Ancient]], - ["N", [7, "Nitrogen", 14.007, "3050F8", "[He] 2s2 2p3", 3.04, 155, 14.534, null, "+5, +4, +3, +2, +1, -1, -2, -3", "Gas", 63.15, 77.36, 0.0012506, "Nonmetal", 1772]], - ["O", [8, "Oxygen", 15.999, "FF0D0D", "[He]2s2 2p4", 3.44, 152, 13.618, 1.461, "-2", "Gas", 54.36, 90.2, 0.001429, "Nonmetal", 1774]], - ["F", [9, "Fluorine", 18.99840316, "90E050", "[He]2s2 2p5", 3.98, 135, 17.423, 3.339, "-1", "Gas", 53.53, 85.03, 0.001696, "Halogen", 1670]], - ["Ne", [10, "Neon", 20.180, "B3E3F5", "[He]2s2 2p6", null, 154, 21.565, null, "0", "Gas", 24.56, 27.07, 0.0008999, "Noble gas", 1898]], - ["Na", [11, "Sodium", 22.9897693, "AB5CF2", "[Ne]3s1", 0.93, 227, 5.139, 0.548, "+1", "Solid", 370.95, 1156, 0.97, "Alkali metal", 1807]], - ["Mg", [12, "Magnesium", 24.305, "8AFF00", "[Ne]3s2", 1.31, 173, 7.646, null, "+2", "Solid", 923, 1363, 1.74, "Alkaline earth metal", 1808]], - ["Al", [13, "Aluminum", 26.981538, "BFA6A6", "[Ne]3s2 3p1", 1.61, 184, 5.986, 0.441, "+3", "Solid", 933.437, 2792, 2.70, "Post-transition metal", Ancient]], - ["Si", [14, "Silicon", 28.085, "F0C8A0", "[Ne]3s2 3p2", 1.9, 210, 8.152, 1.385, "+4, +2, -4", "Solid", 1687, 3538, 2.3296, "Metalloid", 1854]], - ["P", [15, "Phosphorus", 30.97376200, "FF8000", "[Ne]3s2 3p3", 2.19, 180, 10.487, 0.746, "+5, +3, -3", "Solid", 317.3, 553.65, 1.82, "Nonmetal", 1669]], - ["S", [16, "Sulfur", 32.07, "FFFF30", "[Ne]3s2 3p4", 2.58, 180, 10.360, 2.077, "+6, +4, -2", "Solid", 388.36, 717.75, 2.067, "Nonmetal", Ancient]], - ["Cl", [17, "Chlorine", 35.45, "1FF01F", "[Ne]3s2 3p5", 3.16, 175, 12.968, 3.617, "+7, +5, +1, -1", "Gas", 171.65, 239.11, 0.003214, "Halogen", 1774]], - ["Ar", [18, "Argon", 39.9, "80D1E3", "[Ne]3s2 3p6", null, 188, 15.760, null, "0", "Gas", 83.8, 87.3, 0.0017837, "Noble gas", 1894]], - ["K", [19, "Potassium", 39.0983, "8F40D4", "[Ar]4s1", 0.82, 275, 4.341, 0.501, "+1", "Solid", 336.53, 1032, 0.89, "Alkali metal", 1807]], - ["Ca", [20, "Calcium", 40.08, "3DFF00", "[Ar]4s2", 1, 231, 6.113, null, "+2", "Solid", 1115, 1757, 1.54, "Alkaline earth metal", Ancient]], - ["Sc", [21, "Scandium", 44.95591, "E6E6E6", "[Ar]4s2 3d1", 1.36, 211, 6.561, 0.188, "+3", "Solid", 1814, 3109, 2.99, "Transition metal", 1879]], - ["Ti", [22, "Titanium", 47.867, "BFC2C7", "[Ar]4s2 3d2", 1.54, 187, 6.828, 0.079, "+4, +3, +2", "Solid", 1941, 3560, 4.5, "Transition metal", 1791]], - ["V", [23, "Vanadium", 50.9415, "A6A6AB", "[Ar]4s2 3d3", 1.63, 179, 6.746, 0.525, "+5, +4, +3, +2", "Solid", 2183, 3680, 6.0, "Transition metal", 1801]], - ["Cr", [24, "Chromium", 51.996, "8A99C7", "[Ar]3d5 4s1", 1.66, 189, 6.767, 0.666, "+6, +3, +2", "Solid", 2180, 2944, 7.15, "Transition metal", 1797]], - ["Mn", [25, "Manganese", 54.93804, "9C7AC7", "[Ar]4s2 3d5", 1.55, 197, 7.434, null, "+7, +4, +3, +2", "Solid", 1519, 2334, 7.3, "Transition metal", 1774]], - ["Fe", [26, "Iron", 55.84, "E06633", "[Ar]4s2 3d6", 1.83, 194, 7.902, 0.163, "+3, +2", "Solid", 1811, 3134, 7.874, "Transition metal", Ancient]], - ["Co", [27, "Cobalt", 58.93319, "F090A0", "[Ar]4s2 3d7", 1.88, 192, 7.881, 0.661, "+3, +2", "Solid", 1768, 3200, 8.86, "Transition metal", 1735]], - ["Ni", [28, "Nickel", 58.693, "50D050", "[Ar]4s2 3d8", 1.91, 163, 7.640, 1.156, "+3, +2", "Solid", 1728, 3186, 8.912, "Transition metal", 1751]], - ["Cu", [29, "Copper", 63.55, "C88033", "[Ar]4s1 3d10", 1.9, 140, 7.726, 1.228, "+2, +1", "Solid", 1357.77, 2835, 8.933, "Transition metal", Ancient]], - ["Zn", [30, "Zinc", 65.4, "7D80B0", "[Ar]4s2 3d10", 1.65, 139, 9.394, null, "+2", "Solid", 692.68, 1180, 7.134, "Transition metal", 1746]], - ["Ga", [31, "Gallium", 69.723, "C28F8F", "[Ar]4s2 3d10 4p1", 1.81, 187, 5.999, 0.3, "+3", "Solid", 302.91, 2477, 5.91, "Post-transition metal", 1875]], - ["Ge", [32, "Germanium", 72.63, "668F8F", "[Ar]4s2 3d10 4p2", 2.01, 211, 7.900, 1.35, "+4, +2", "Solid", 1211.4, 3106, 5.323, "Metalloid", 1886]], - ["As", [33, "Arsenic", 74.92159, "BD80E3", "[Ar]4s2 3d10 4p3", 2.18, 185, 9.815, 0.81, "+5, +3, -3", "Solid", 1090, 887, 5.776, "Metalloid", Ancient]], - ["Se", [34, "Selenium", 78.97, "FFA100", "[Ar]4s2 3d10 4p4", 2.55, 190, 9.752, 2.021, "+6, +4, -2", "Solid", 493.65, 958, 4.809, "Nonmetal", 1817]], - ["Br", [35, "Bromine", 79.90, "A62929", "[Ar]4s2 3d10 4p5", 2.96, 183, 11.814, 3.365, "+5, +1, -1", "Liquid", 265.95, 331.95, 3.11, "Halogen", 1826]], - ["Kr", [36, "Krypton", 83.80, "5CB8D1", "[Ar]4s2 3d10 4p6", 3, 202, 14.000, null, "0", "Gas", 115.79, 119.93, 0.003733, "Noble gas", 1898]], - ["Rb", [37, "Rubidium", 85.468, "702EB0", "[Kr]5s1", 0.82, 303, 4.177, 0.468, "+1", "Solid", 312.46, 961, 1.53, "Alkali metal", 1861]], - ["Sr", [38, "Strontium", 87.62, "00FF00", "[Kr]5s2", 0.95, 249, 5.695, null, "+2", "Solid", 1050, 1655, 2.64, "Alkaline earth metal", 1790]], - ["Y", [39, "Yttrium", 88.90584, "94FFFF", "[Kr]5s2 4d1", 1.22, 219, 6.217, 0.307, "+3", "Solid", 1795, 3618, 4.47, "Transition metal", 1794]], - ["Zr", [40, "Zirconium", 91.22, "94E0E0", "[Kr]5s2 4d2", 1.33, 186, 6.634, 0.426, "+4", "Solid", 2128, 4682, 6.52, "Transition metal", 1789]], - ["Nb", [41, "Niobium", 92.90637, "73C2C9", "[Kr]5s1 4d4", 1.6, 207, 6.759, 0.893, "+5, +3", "Solid", 2750, 5017, 8.57, "Transition metal", 1801]], - ["Mo", [42, "Molybdenum", 95.95, "54B5B5", "[Kr]5s1 4d5", 2.16, 209, 7.092, 0.746, "+6", "Solid", 2896, 4912, 10.2, "Transition metal", 1778]], - ["Tc", [43, "Technetium", 96.90636, "3B9E9E", "[Kr]5s2 4d5", 1.9, 209, 7.28, 0.55, "+7, +6, +4", "Solid", 2430, 4538, 11, "Transition metal", 1937]], - ["Ru", [44, "Ruthenium", 101.1, "248F8F", "[Kr]5s1 4d7", 2.2, 207, 7.361, 1.05, "+3", "Solid", 2607, 4423, 12.1, "Transition metal", 1827]], - ["Rh", [45, "Rhodium", 102.9055, "0A7D8C", "[Kr]5s1 4d8", 2.28, 195, 7.459, 1.137, "+3", "Solid", 2237, 3968, 12.4, "Transition metal", 1803]], - ["Pd", [46, "Palladium", 106.42, "6985", "[Kr]4d10", 2.2, 202, 8.337, 0.557, "+3, +2", "Solid", 1828.05, 3236, 12.0, "Transition metal", 1803]], - ["Ag", [47, "Silver", 107.868, "C0C0C0", "[Kr]5s1 4d10", 1.93, 172, 7.576, 1.302, "+1", "Solid", 1234.93, 2435, 10.501, "Transition metal", Ancient]], - ["Cd", [48, "Cadmium", 112.41, "FFD98F", "[Kr]5s2 4d10", 1.69, 158, 8.994, null, "+2", "Solid", 594.22, 1040, 8.69, "Transition metal", 1817]], - ["In", [49, "Indium", 114.818, "A67573", "[Kr]5s2 4d10 5p1", 1.78, 193, 5.786, 0.3, "+3", "Solid", 429.75, 2345, 7.31, "Post-transition metal", 1863]], - ["Sn", [50, "Tin", 118.71, "668080", "[Kr]5s2 4d10 5p2", 1.96, 217, 7.344, 1.2, "+4, +2", "Solid", 505.08, 2875, 7.287, "Post-transition metal", Ancient]], - ["Sb", [51, "Antimony", 121.760, "9E63B5", "[Kr]5s2 4d10 5p3", 2.05, 206, 8.64, 1.07, "+5, +3, -3", "Solid", 903.78, 1860, 6.685, "Metalloid", Ancient]], - ["Te", [52, "Tellurium", 127.6, "D47A00", "[Kr]5s2 4d10 5p4", 2.1, 206, 9.010, 1.971, "+6, +4, -2", "Solid", 722.66, 1261, 6.232, "Metalloid", 1782]], - ["I", [53, "Iodine", 126.9045, "940094", "[Kr]5s2 4d10 5p5", 2.66, 198, 10.451, 3.059, "+7, +5, +1, -1", "Solid", 386.85, 457.55, 4.93, "Halogen", 1811]], - ["Xe", [54, "Xenon", 131.29, "429EB0", "[Kr]5s2 4d10 5p6", 2.6, 216, 12.130, null, "0", "Gas", 161.36, 165.03, 0.005887, "Noble gas", 1898]], - ["Cs", [55, "Cesium", 132.9054520, "57178F", "[Xe]6s1", 0.79, 343, 3.894, 0.472, "+1", "Solid", 301.59, 944, 1.93, "Alkali metal", 1860]], - ["Ba", [56, "Barium", 137.33, "00C900", "[Xe]6s2", 0.89, 268, 5.212, null, "+2", "Solid", 1000, 2170, 3.62, "Alkaline earth metal", 1808]], - ["La", [57, "Lanthanum", 138.9055, "70D4FF", "[Xe]6s2 5d1", 1.1, 240, 5.577, 0.5, "+3", "Solid", 1191, 3737, 6.15, "Lanthanide", 1839]], - ["Ce", [58, "Cerium", 140.116, "FFFFC7", "[Xe]6s2 4f1 5d1", 1.12, 235, 5.539, 0.5, "+4, +3", "Solid", 1071, 3697, 6.770, "Lanthanide", 1803]], - ["Pr", [59, "Praseodymium", 140.90766, "D9FFC7", "[Xe]6s2 4f3", 1.13, 239, 5.464, null, "+3", "Solid", 1204, 3793, 6.77, "Lanthanide", 1885]], - ["Nd", [60, "Neodymium", 144.24, "C7FFC7", "[Xe]6s2 4f4", 1.14, 229, 5.525, null, "+3", "Solid", 1294, 3347, 7.01, "Lanthanide", 1885]], - ["Pm", [61, "Promethium", 144.91276, "A3FFC7", "[Xe]6s2 4f5", null, 236, 5.55, null, "+3", "Solid", 1315, 3273, 7.26, "Lanthanide", 1945]], - ["Sm", [62, "Samarium", 150.4, "8FFFC7", "[Xe]6s2 4f6", 1.17, 229, 5.644, null, "+3, +2", "Solid", 1347, 2067, 7.52, "Lanthanide", 1879]], - ["Eu", [63, "Europium", 151.964, "61FFC7", "[Xe]6s2 4f7", null, 233, 5.670, null, "+3, +2", "Solid", 1095, 1802, 5.24, "Lanthanide", 1901]], - ["Gd", [64, "Gadolinium", 157.25, "45FFC7", "[Xe]6s2 4f7 5d1", 1.2, 237, 6.150, null, "+3", "Solid", 1586, 3546, 7.90, "Lanthanide", 1880]], - ["Tb", [65, "Terbium", 158.92535, "30FFC7", "[Xe]6s2 4f9", null, 221, 5.864, null, "+3", "Solid", 1629, 3503, 8.23, "Lanthanide", 1843]], - ["Dy", [66, "Dysprosium", 162.500, "1FFFC7", "[Xe]6s2 4f10", 1.22, 229, 5.939, null, "+3", "Solid", 1685, 2840, 8.55, "Lanthanide", 1886]], - ["Ho", [67, "Holmium", 164.93033, "00FF9C", "[Xe]6s2 4f11", 1.23, 216, 6.022, null, "+3", "Solid", 1747, 2973, 8.80, "Lanthanide", 1878]], - ["Er", [68, "Erbium", 167.26, "", "[Xe]6s2 4f12", 1.24, 235, 6.108, null, "+3", "Solid", 1802, 3141, 9.07, "Lanthanide", 1843]], - ["Tm", [69, "Thulium", 168.93422, "00D452", "[Xe]6s2 4f13", 1.25, 227, 6.184, null, "+3", "Solid", 1818, 2223, 9.32, "Lanthanide", 1879]], - ["Yb", [70, "Ytterbium", 173.05, "00BF38", "[Xe]6s2 4f14", null, 242, 6.254, null, "+3, +2", "Solid", 1092, 1469, 6.90, "Lanthanide", 1878]], - ["Lu", [71, "Lutetium", 174.9667, "00AB24", "[Xe]6s2 4f14 5d1", 1.27, 221, 5.426, null, "+3", "Solid", 1936, 3675, 9.84, "Lanthanide", 1907]], - ["Hf", [72, "Hafnium", 178.49, "4DC2FF", "[Xe]6s2 4f14 5d2", 1.3, 212, 6.825, null, "+4", "Solid", 2506, 4876, 13.3, "Transition metal", 1923]], - ["Ta", [73, "Tantalum", 180.9479, "4DA6FF", "[Xe]6s2 4f14 5d3", 1.5, 217, 7.89, 0.322, "+5", "Solid", 3290, 5731, 16.4, "Transition metal", 1802]], - ["W", [74, "Tungsten", 183.84, "2194D6", "[Xe]6s2 4f14 5d4", 2.36, 210, 7.98, 0.815, "+6", "Solid", 3695, 5828, 19.3, "Transition metal", 1783]], - ["Re", [75, "Rhenium", 186.207, "267DAB", "[Xe]6s2 4f14 5d5", 1.9, 217, 7.88, 0.15, "+7, +6, +4", "Solid", 3459, 5869, 20.8, "Transition metal", 1925]], - ["Os", [76, "Osmium", 190.2, "266696", "[Xe]6s2 4f14 5d6", 2.2, 216, 8.7, 1.1, "+4, +3", "Solid", 3306, 5285, 22.57, "Transition metal", 1803]], - ["Ir", [77, "Iridium", 192.22, "175487", "[Xe]6s2 4f14 5d7", 2.2, 202, 9.1, 1.565, "+4, +3", "Solid", 2719, 4701, 22.42, "Transition metal", 1803]], - ["Pt", [78, "Platinum", 195.08, "D0D0E0", "[Xe]6s1 4f14 5d9", 2.28, 209, 9, 2.128, "+4, +2", "Solid", 2041.55, 4098, 21.46, "Transition metal", 1735]], - ["Au", [79, "Gold", 196.96657, "FFD123", "[Xe]6s1 4f14 5d10", 2.54, 166, 9.226, 2.309, "+3, +1", "Solid", 1337.33, 3129, 19.282, "Transition metal", Ancient]], - ["Hg", [80, "Mercury", 200.59, "B8B8D0", "[Xe]6s2 4f14 5d10", 2, 209, 10.438, null, "+2, +1", "Liquid", 234.32, 629.88, 13.5336, "Transition metal", Ancient]], - ["Tl", [81, "Thallium", 204.383, "A6544D", "[Xe]6s2 4f14 5d10 6p1", 1.62, 196, 6.108, 0.2, "+3, +1", "Solid", 577, 1746, 11.8, "Post-transition metal", 1861]], - ["Pb", [82, "Lead", 207, "575961", "[Xe]6s2 4f14 5d10 6p2", 2.33, 202, 7.417, 0.36, "+4, +2", "Solid", 600.61, 2022, 11.342, "Post-transition metal", Ancient]], - ["Bi", [83, "Bismuth", 208.98040, "9E4FB5", "[Xe]6s2 4f14 5d10 6p3", 2.02, 207, 7.289, 0.946, "+5, +3", "Solid", 544.55, 1837, 9.807, "Post-transition metal", 1753]], - ["Po", [84, "Polonium", 208.98243, "AB5C00", "[Xe]6s2 4f14 5d10 6p4", 2, 197, 8.417, 1.9, "+4, +2", "Solid", 527, 1235, 9.32, "Metalloid", 1898]], - ["At", [85, "Astatine", 209.98715, "754F45", "[Xe]6s2 4f14 5d10 6p5", 2.2, 202, 9.5, 2.8, "7, 5, 3, 1, -1", "Solid", 575, null, 7, "Halogen", 1940]], - ["Rn", [86, "Radon", 222.01758, "428296", "[Xe]6s2 4f14 5d10 6p6", null, 220, 10.745, null, "0", "Gas", 202, 211.45, 0.00973, "Noble gas", 1900]], - ["Fr", [87, "Francium", 223.01973, "420066", "[Rn]7s1", 0.7, 348, 3.9, 0.47, "+1", "Solid", 300, null, null, "Alkali metal", 1939]], - ["Ra", [88, "Radium", 226.02541, "007D00", "[Rn]7s2", 0.9, 283, 5.279, null, "+2", "Solid", 973, 1413, 5, "Alkaline earth metal", 1898]], - ["Ac", [89, "Actinium", 227.02775, "70ABFA", "[Rn]7s2 6d1", 1.1, 260, 5.17, null, "+3", "Solid", 1324, 3471, 10.07, "Actinide", 1899]], - ["Th", [90, "Thorium", 232.038, "00BAFF", "[Rn]7s2 6d2", 1.3, 237, 6.08, null, "+4", "Solid", 2023, 5061, 11.72, "Actinide", 1828]], - ["Pa", [91, "Protactinium", 231.03588, "00A1FF", "[Rn]7s2 5f2 6d1", 1.5, 243, 5.89, null, "+5, +4", "Solid", 1845, null, 15.37, "Actinide", 1913]], - ["U", [92, "Uranium", 238.0289, "008FFF", "[Rn]7s2 5f3 6d1", 1.38, 240, 6.194, null, "+6, +5, +4, +3", "Solid", 1408, 4404, 18.95, "Actinide", 1789]], - ["Np", [93, "Neptunium", 237.048172, "0080FF", "[Rn]7s2 5f4 6d1", 1.36, 221, 6.266, null, "+6, +5, +4, +3", "Solid", 917, 4175, 20.25, "Actinide", 1940]], - ["Pu", [94, "Plutonium", 244.06420, "006BFF", "[Rn]7s2 5f6", 1.28, 243, 6.06, null, "+6, +5, +4, +3", "Solid", 913, 3501, 19.84, "Actinide", 1940]], - ["Am", [95, "Americium", 243.061380, "545CF2", "[Rn]7s2 5f7", 1.3, 244, 5.993, null, "+6, +5, +4, +3", "Solid", 1449, 2284, 13.69, "Actinide", 1944]], - ["Cm", [96, "Curium", 247.07035, "785CE3", "[Rn]7s2 5f7 6d1", 1.3, 245, 6.02, null, "+3", "Solid", 1618, 3400, 13.51, "Actinide", 1944]], - ["Bk", [97, "Berkelium", 247.07031, "8A4FE3", "[Rn]7s2 5f9", 1.3, 244, 6.23, null, "+4, +3", "Solid", 1323, null, 14, "Actinide", 1949]], - ["Cf", [98, "Californium", 251.07959, "A136D4", "[Rn]7s2 5f10", 1.3, 245, 6.30, null, "+3", "Solid", 1173, null, null, "Actinide", 1950]], - ["Es", [99, "Einsteinium", 252.0830, "B31FD4", "[Rn]7s2 5f11", 1.3, 245, 6.42, null, "+3", "Solid", 1133, null, null, "Actinide", 1952]], - ["Fm", [100, "Fermium", 257.09511, "B31FBA", "[Rn] 5f12 7s2", 1.3, null, 6.50, null, "+3", "Solid", 1800, null, null, "Actinide", 1952]], - ["Md", [101, "Mendelevium", 258.09843, "B30DA6", "[Rn]7s2 5f13", 1.3, null, 6.58, null, "+3, +2", "Solid", 1100, null, null, "Actinide", 1955]], - ["No", [102, "Nobelium", 259.10100, "BD0D87", "[Rn]7s2 5f14", 1.3, null, 6.65, null, "+3, +2", "Solid", 1100, null, null, "Actinide", 1957]], - ["Lr", [103, "Lawrencium", 266.120, "C70066", "[Rn]7s2 5f14 6d1", 1.3, null, null, null, "+3", "Solid", 1900, null, null, "Actinide", 1961]], - ["Rf", [104, "Rutherfordium", 267.122, "CC0059", "[Rn]7s2 5f14 6d2", null, null, null, null, "+4", "Solid", null, null, null, "Transition metal", 1964]], - ["Db", [105, "Dubnium", 268.126, "D1004F", "[Rn]7s2 5f14 6d3", null, null, null, null, "5, 4, 3", "Solid", null, null, null, "Transition metal", 1967]], - ["Sg", [106, "Seaborgium", 269.128, "D90045", "[Rn]7s2 5f14 6d4", null, null, null, null, "6, 5, 4, 3, 0", "Solid", null, null, null, "Transition metal", 1974]], - ["Bh", [107, "Bohrium", 270.133, "E00038", "[Rn]7s2 5f14 6d5", null, null, null, null, "7, 5, 4, 3", "Solid", null, null, null, "Transition metal", 1976]], - ["Hs", [108, "Hassium", 269.1336, "E6002E", "[Rn]7s2 5f14 6d6", null, null, null, null, "8, 6, 5, 4, 3, 2", "Solid", null, null, null, "Transition metal", 1984]], - ["Mt", [109, "Meitnerium", 277.154, "EB0026", "[Rn]7s2 5f14 6d7 (calculated)", null, null, null, null, "9, 8, 6, 4, 3, 1", "Solid", null, null, null, "Transition metal", 1982]], - ["Ds", [110, "Darmstadtium", 282.166, "", "[Rn]7s2 5f14 6d8 (predicted)", null, null, null, null, "8, 6, 4, 2, 0", "Expected to be a Solid", null, null, null, "Transition metal", 1994]], - ["Rg", [111, "Roentgenium", 282.169, "", "[Rn]7s2 5f14 6d9 (predicted)", null, null, null, null, "5, 3, 1, -1", "Expected to be a Solid", null, null, null, "Transition metal", 1994]], - ["Cn", [112, "Copernicium", 286.179, "", "[Rn]7s2 5f14 6d10 (predicted)", null, null, null, null, "2, 1, 0", "Expected to be a Solid", null, null, null, "Transition metal", 1996]], - ["Nh", [113, "Nihonium", 286.182, "", "[Rn]5f14 6d10 7s2 7p1 (predicted)", null, null, null, null, "", "Expected to be a Solid", null, null, null, "Post-transition metal", 2004]], - ["Fl", [114, "Flerovium", 290.192, "", "[Rn]7s2 7p2 5f14 6d10 (predicted)", null, null, null, null, "6, 4,2, 1, 0", "Expected to be a Solid", null, null, null, "Post-transition metal", 1998]], - ["Mc", [115, "Moscovium", 290.196, "", "[Rn]7s2 7p3 5f14 6d10 (predicted)", null, null, null, null, "3, 1", "Expected to be a Solid", null, null, null, "Post-transition metal", 2003]], - ["Lv", [116, "Livermorium", 293.205, "", "[Rn]7s2 7p4 5f14 6d10 (predicted)", null, null, null, null, "+4, +2, -2", "Expected to be a Solid", null, null, null, "Post-transition metal", 2000]], - ["Ts", [117, "Tennessine", 294.211, "", "[Rn]7s2 7p5 5f14 6d10 (predicted)", null, null, null, null, "+5, +3, +1, -1", "Expected to be a Solid", null, null, null, "Halogen", 2010]], - ["Og", [118, "Oganesson", 295.216, "", "[Rn]7s2 7p6 5f14 6d10 (predicted)", null, null, null, null, "+6, +4, +2, +1, 0, -1", "Expected to be a Gas", null, null, null, "Noble gas", 2006]] -]$ - -/* - Separating the language data in this format makes it easier to add a new language. - That's a prioity over having the language embedded in a format like this. - ["H", [ - ["Name", [ ["en", "hydrogen"], ["fi", "vety"] ]], - ["AtomicNumber", 1], - ["AtomicMass", 1.008] - ]], - The above is logically better, but less easy to maintain! -*/ -%_CHEM_LANG:[ - ["de", [ - ["H", "Wasserstoff"], - ["He", "Helium"], - ["Li", "Lithium"], - ["Be", "Beryllium"], - ["B", "Bor"], - ["C", "Kohlenstoff"], - ["N", "Stickstoff"], - ["O", "Sauerstoff"], - ["F", "Fluor"], - ["Ne", "Neon"], - ["Na", "Natrium"], - ["Mg", "Magnesium"], - ["Al", "Aluminium"], - ["Si", "Silicium"], - ["P", "Phosphor"], - ["S", "Schwefel"], - ["Cl", "Chlor"], - ["Ar", "Argon"], - ["K", "Kalium"], - ["Ca", "Calcium"], - ["Sc", "Skandium"], - ["Ti", "Titan"], - ["V", "Vanadium"], - ["Cr", "Chrom"], - ["Mn", "Mang an"], - ["Fe", "Eisen"], - ["Co", "Kobalt"], - ["Ni", "Nickel"], - ["Cu", "Kupfer"], - ["Zn", "Zink"], - ["Ga", "Gallium"], - ["Ge", "Germanium"], - ["As", "Arsen"], - ["Se", "Selen"], - ["Br", "Brom"], - ["Kr", "Krypton"], - ["Rb", "Rubidium"], - ["Sr", "Strontium"], - ["Y", "Yttrium"], - ["Zr", "Zirkonium"], - ["Nb", "Niob"], - ["Mo", "Molybdän"], - ["Tc", "Technetium"], - ["Ru", "Ruthenium"], - ["Rh", "Rhodium"], - ["Pd", "Palladium"], - ["Ag", "Silber"], - ["Cd", "Cadmium"], - ["In", "Indium"], - ["Sn", "Zinn"], - ["Sb", "Antimon"], - ["Te", "Tellur"], - ["I", "Iod"], - ["Xe", "Xenon"], - ["Cs", "Caesium"], - ["Ba", "Barium"], - ["La", "Lanthan"], - ["Ce", "Cer"], - ["Pr", "Praseodym"], - ["Nd", "Neodym"], - ["Pm", "Promethium"], - ["Sm", "Samarium"], - ["Eu", "Europium"], - ["Gd", "Gadolinium"], - ["Tb", "Terbium"], - ["Dy", "Dysprosium"], - ["Ho", "Holmium"], - ["Er", "Erbium"], - ["Tm", "Thulium"], - ["Yb", "Ytterbium"], - ["Lu", "Lutetium"], - ["Hf", "Hafnium"], - ["Ta", "Tantal"], - ["W", "Wolfram"], - ["Re", "Rhenium"], - ["Os", "Osmium"], - ["Ir", "Iridium"], - ["Pt", "Platin"], - ["Au", "Gold"], - ["Hg", "Quecksilber"], - ["Tl", "Thallium"], - ["Pb", "Blei"], - ["Bi", "Bismut"], - ["Po", "Polonium"], - ["At", "Astat"], - ["Rn", "Radon"], - ["Fr", "Francium"], - ["Ra", "Radium"], - ["Ac", "Actinium"], - ["Th", "Thorium"], - ["Pa", "Protactinium"], - ["U", "Uran"], - ["Np", "Neptunium"], - ["Pu", "Plutonium"], - ["Am", "Americium"], - ["Cm", "Curium"], - ["Bk", "Berkelium"], - ["Cf", "Californium"], - ["Es", "Einsteinium"], - ["Fm", "Fermium"], - ["Md", "Mendelevium"], - ["No", "Nobelium"], - ["Lr", "Lawrencium"], - ["Rf", "Rutherfordium"], - ["Db", "Dubnium"], - ["Sg", "Seaborgium"], - ["Bh", "Bohrium"], - ["Hs", "Hassium"], - ["Mt", "Meitnerium"], - ["Rg", "Darmstadtium"], - ["Cn", "Roentgenium"], - ["Nh", "Copernicium"], - ["Fl", "Nihonium"], - ["Mc", "Flerovium"], - ["Lv", "Moscovium"], - ["Ts", "Livermorium"], - ["Og", "Tennessine"] - ]], - ["fi", [ - ["H", "vety"], - ["He", "helium"], - ["Li", "litium"], - ["Be", "beryllium"], - ["B", "boori"], - ["C", "hiili"], - ["N", "typpi"], - ["O", "happi"], - ["F", "fluori"], - ["Ne", "neon"], - ["Na", "natrium"], - ["Mg", "magnesium"], - ["Al", "alumiini"], - ["Si", "pii"], - ["P", "fosfori"], - ["S", "rikki"], - ["Cl", "kloori"], - ["Ar", "argon"], - ["K", "kalium"], - ["Ca", "kalsium"], - ["Sc", "skandium"], - ["Ti", "titaani"], - ["V", "vanadiini"], - ["Cr", "kromi"], - ["Mn", "mangaani"], - ["Fe", "rauta"], - ["Co", "koboltti"], - ["Ni", "nikkeli"], - ["Cu", "kupari"], - ["Zn", "sinkki"], - ["Ga", "gallium"], - ["Ge", "germanium"], - ["As", "arseeni"], - ["Se", "seleeni"], - ["Br", "bromi"], - ["Kr", "krypton"], - ["Rb", "rubidium"], - ["Sr", "strontium"], - ["Y", "yttrium"], - ["Zr", "zirkonium"], - ["Nb", "niobium"], - ["Mo", "molybdeeni"], - ["Tc", "teknetium"], - ["Ru", "rutenium"], - ["Rh", "rodium"], - ["Pd", "palladium"], - ["Ag", "hopea"], - ["Cd", "kadmium"], - ["In", "indium"], - ["Sn", "tina"], - ["Sb", "antimoni"], - ["Te", "telluuri"], - ["I", "jodi"], - ["Xe", "ksenon"], - ["Cs", "cesium"], - ["Ba", "barium"], - ["La", "lantaani"], - ["Ce", "cerium"], - ["Pr", "praseodyymi"], - ["Nd", "neodyymi"], - ["Pm", "prometium"], - ["Sm", "samarium"], - ["Eu", "europium"], - ["Gd", "gadolinium"], - ["Tb", "terbium"], - ["Dy", "dysprosium"], - ["Ho", "holmium"], - ["Er", "erbium"], - ["Tm", "tulium"], - ["Yb", "ytterbium"], - ["Lu", "lutetium"], - ["Hf", "hafnium"], - ["Ta", "tantaali"], - ["W", "volframi"], - ["Re", "renium"], - ["Os", "osmium"], - ["Ir", "iridium"], - ["Pt", "platina"], - ["Au", "kulta"], - ["Hg", "elohopea"], - ["Tl", "tallium"], - ["Pb", "lyijy"], - ["Bi", "vismutti"], - ["Po", "polonium"], - ["At", "astatiini"], - ["Rn", "radon"], - ["Fr", "frankium"], - ["Ra", "radium"], - ["Ac", "aktinium"], - ["Th", "torium"], - ["Pa", "protaktinium"], - ["U", "uraani"], - ["Np", "neptunium"], - ["Pu", "plutonium"], - ["Am", "amerikium"], - ["Cm", "curium"], - ["Bk", "berkelium"], - ["Cf", "kalifornium"], - ["Es", "einsteinium"], - ["Fm", "fermium"], - ["Md", "mendelevium"], - ["No", "nobelium"], - ["Lr", "lawrencium"], - ["Rf", "rutherfordium"], - ["Db", "dubnium"], - ["Sg", "seaborgium"], - ["Bh", "bohrium"], - ["Hs", "hassium"], - ["Mt", "meitnerium"], - ["Rg", "darmstadtium"], - ["Cn", "röntgenium"], - ["Nh", "kopernikium"], - ["Fl", "nihonium"], - ["Mc", "flerovium"], - ["Lv", "moskovium"], - ["Ts", "livermorium"], - ["Og", "tennessiini"]] - ] -]$ - +/* Functions and data prior to May 2026 are now core STACK and loaded with this. */ +stack_chemistry_declare(true); diff --git a/stack/maxima/stackmaxima.mac b/stack/maxima/stackmaxima.mac index 4c798ff1384..964579cc732 100644 --- a/stack/maxima/stackmaxima.mac +++ b/stack/maxima/stackmaxima.mac @@ -171,6 +171,7 @@ load("functs"); /* Combined and processed maximasrc/ content. */ load("maximasrccompiled.mac"); +load("chemistry.mac"); /* Are we printing normal Maxima or plain atoms? */ tex_plain_atoms:false$