nx_chem_periodic.nx
buildroot/runtime/nx_chem_periodic.nx
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
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
| 306 | struct AtomicData |
consts
| 316 | const NX_ATOMIC_DATA_BYTES: nx_int = 64 |
functions
| 41 | func nx_chem_periodic_table_118() -> *Element |
| 296 | func nx_chem_element_by_z_118(table: *Element, z: nx_int) -> *Element |
| 321 | func nx_chem_atomic_data_table_118() -> *AtomicData |
| 587 | func nx_chem_atomic_data_by_z(table: *AtomicData, z: nx_int) -> *AtomicData |