code wiki / (root) / nx_chem_periodic.nx

nx_chem_periodic.nx

buildroot/runtime/nx_chem_periodic.nx

60525 B591 linesdepth 8pulls 8 transitivereach 21 importersview sourcekind librarytopic chem
docsdependenciesstructsconstsfunctions

about

nx_chem_periodic.nx -- C1 milestone: periodic table 1..118 + auxiliary atomic data (most-abundant isotope, exact isotope mass, natural abundance, common-oxidation-state bitfield, first ionization energy, electron affinity, Pauling electronegativity). Sources (all open, non-proprietary): - IUPAC 2021 abridged standard atomic weights (CIAAW) - AME2020 atomic mass evaluation for exact isotope masses - NIST Atomic Spectra Database for ionization energies - Hotop & Lineberger 1985 + NIST for electron affinities - Pauling 1960 revision for electronegativity - CRC Handbook 102nd ed. for common oxidation states Units / scaling: - mass_q3 : atomic weight * 1000 (milli-AMU) - iso_a_q0 : mass number of most-abundant isotope (or longest-lived for radionuclides) - iso_mass_q4 : exact mass of that isotope * 10000 (Q4 micro-AMU) - iso_abund_ppm : natural abundance in parts per million (max 1_000_000); -1 = radionuclide (no natural abundance) - valence_bits : bit (15 + ox_state) set for each common oxidation state; supports -15..+15 - ie1_meV : first ionization energy * 1000 (milli-eV); 0 = unknown - ea_meV : electron affinity * 1000 (milli-eV); 0 = unknown / no stable anion - en_pauling_q2 : Pauling electronegativity * 100; 0 = undefined (noble gas or unknown for super-heavy) Backward-compat: nx_chem.nx Element struct + nx_chem_periodic_table() (1..18) + nx_chem_extended.nx nx_chem_periodic_table_36() (1..36) are UNCHANGED. This file ADDS new builders + a new struct. nx_safety_envelope: intended_use: reference atomic data substrate for supplement-audit + analytical primitives sil_target: SIL1 evidence: [C1 KAT in nx_chem_periodic_test.nx] verdict: BENCH-PENDING

dependencies 2 imports · 19 importers

nx_chem.nx nx_chem_extended.nx nx_chem_periodic.nx nx_chem_adulterant_db.nx nx_chem_adulterant_db_test.nx nx_chem_descriptors_test.nx nx_chem_mass.nx nx_chem_mass_test.nx nx_chem_peak_list_test.nx nx_chem_periodic_test.nx nx_chem_report_csv_test.nx nx_chem_report_json_test.nx nx_chem_sildenafil_probe_test.nx

diagram shows first 10 each side; +0 more imports, +9 more importers in the complete lists below.

imports: nx_chem.nxnx_chem_extended.nx

imported by: nx_chem_adulterant_db.nxnx_chem_adulterant_db_test.nxnx_chem_descriptors_test.nxnx_chem_mass.nxnx_chem_mass_test.nxnx_chem_peak_list_test.nxnx_chem_periodic_test.nxnx_chem_report_csv_test.nxnx_chem_report_json_test.nxnx_chem_sildenafil_probe_test.nxnx_chem_tadalafil_probe_test.nxnx_chem_valence_test.nxnx_ciaaw_gate.nxnx_isotope_gate.nxnx_research_chem_gate.nxnx_supplement.nxnx_supplement_batch.nxnx_supplement_check.nxnx_supplement_csv.nx

structs

306struct AtomicData

consts

316const NX_ATOMIC_DATA_BYTES: nx_int = 64

functions

41func nx_chem_periodic_table_118() -> *Element
296func nx_chem_element_by_z_118(table: *Element, z: nx_int) -> *Element
321func nx_chem_atomic_data_table_118() -> *AtomicData
587func nx_chem_atomic_data_by_z(table: *AtomicData, z: nx_int) -> *AtomicData