Scientific numerical validation — 2026-10-23

This records bounded, independent numerical checks across the result-display plugins. Passing these checks is not a proof for every method, basis, file variant, or calculation. Tests use synthetic molecules or existing public fixtures; no private calculation data are included.

Independent references

Plugin / test file Reference and scope Result
Collection tests/test_scientific_fchk_reference.py Signed absolute spherical d/f/g amplitudes against SciPy spherical harmonics and analytic Gaussian radial normalization; three exponents and displaced centers. Separate signed SP contractions. Unsupported mixed Cartesian/pure shells rejected even without a basis-count record. 13 cases; amplitudes relative 2e-12, absolute 1e-13
Collection tests/test_scientific_cube_reference.py Five Cube readers, 2×3×4 skew grids, independently evaluated affine field at physical coordinates, scalar and interleaved two-dataset files. Bohr and supported legacy negative-count Angstrom convention. 20 cases; checks coordinates, atom positions, scalar values and dataset ordering
Collection tests_gui/test_gui_scientific_fchk_channel.py Synthetic unrestricted FCHK with distinct alpha/beta coefficients; actual dialog labels and worker argument checked. 1 case; alpha-only limitation explicit
Python ORCA tests/test_mo_scientific_reference.py; Rust ORCA tests/test_native_mo_scientific_reference.py All 25 S–G components, 900 signed amplitude samples per engine versus SciPy and analytic normalization; signed contractions versus primitive-overlap formula and independent 18³-point quadrature; actual UHF selection through worker and exported Cube; public ORCA output geometry/energy association. 23 cases per engine; amplitude relative 8e-7, norm relative 1.1e-6, exported values relative 3e-5 / absolute 2e-8
NMRShiftDB2 and CASCADE tests/test_scientific_reference.py Explicit enumeration of spin-½ states, line positions and populations at 100/400/800 MHz; analytic Lorentzian peak, FWHM and finite-window integral; proton target count for CD3–CH3. 19 cases each; Lorentzian integral relative 1e-7
NICS tests/test_scientific_reference.py Rotated uniaxial shielding tensors, isotropic values, projections, eigenvalues and anisotropy; antisymmetric contribution cancellation; tilted/translated ring probes. 6 cases; absolute 1e-12
PySCF tests/test_scientific_cube_oracle.py Analytic affine field on skew grids, units and scalar/multiple-MO association through actual parser/grid assembly. 4 cases; absolute 1e-12

These are 128 added cases. The references are independent of the production helpers being checked; rendering doubles are used where a graphics context is irrelevant to the numerical assertion.

Findings and fixes

Gaussian FCHK rendering cannot represent Cartesian and spherical shells of the same angular momentum together. Such input now fails explicitly, including when the optional basis count is missing. It previously could proceed with a shared shell definition and misleading values.

The Gaussian MO dialog renders alpha orbitals only. For unrestricted input its title, rows and tooltip now say so, and the wiki no longer claims beta support. This change does not implement beta rendering.

The ORCA test workflows now install SciPy explicitly so the independent harmonic comparisons do not silently skip. Native tests also support the old SciPy harmonic API used by Python 3.9 environments.

Precision and remaining limits

  • ORCA’s legacy d(+2) coefficient uses 0.866025 rather than sqrt(3)/2. The measured maximum relative amplitude error was 4.663e-7 and squared-norm error 9.326e-7. The tolerances explicitly allow that approximation.
  • ORCA trajectory parsing retains the later nine-decimal Current Energy summary. It can differ from the twelve-decimal FINAL line by at most about 5e-10 Eh; the public-fixture check allows 5.1e-10 Eh.
  • Stored benzene Cubes were generated by MoleditPy. They are regression fixtures, not independent ORCA-exported MO references. The independent MO anchors here are analytic functions and SciPy, not real open-shell ORCA Cube exports. High-l/ECP and all basis conventions are not comprehensively covered.
  • NMR checks validate the implemented first-order spectrum model, not empirical chemical-shift/J prediction accuracy or second-order spin effects.
  • PySCF is unavailable in this Windows environment. Three real-calculation modules skipped and are not counted as validation here. Existing Linux real tests compare plugin outputs with direct PySCF energy, Hessian and Cube calculations; that checks the plugin boundary, not the correctness of PySCF itself against an independent electronic-structure implementation.
  • Negative-count Angstrom Cube handling is a legacy compatibility convention, not a claim that every Gaussian Cube producer uses that convention. Standard Cube output uses atomic units. Some readers retain an older Bohr constant; coordinate tolerances allow its approximately 7.2e-8 relative difference.

Full local checks

Collection unit and GUI suites ran separately with combined coverage: 3,058 passed / 123 skipped and 3,378 passed / 57 skipped respectively. These skip totals include existing optional/platform-dependent tests; they are not counted as executed checks. NICS full suite: 517 passed, 94% coverage; Ruff check and format check passed. Other new numerical files passed targeted tests; this record does not claim an additional full run of every repository.

Primary references