Scientific validation

Validation reports describe specific tests, configurations, adapters, seeds, uncertainties, and acceptance criteria. They do not qualify arbitrary user geometry or nuclear data. The software is not intended for regulatory or safety analysis.

Automated coverage

The unit suite has 12 numerical tests and three asset tests. It checks official Philox known-answer vectors, RNG uniform and exponential moments, isotropic angular moments, evaluated-data interpolation, supported-law rejection, Legendre normalization, material-mixture rate preservation, primitive intersections, CSG priority, configuration round trips, GPU packing constraints, and statistical-status requirements. Imported vectors must have the specified dimensions; energy knots must remain distinct in GPU f32 precision.

The GPU suite compiles and executes the shared WGSL code, compares raw Philox words with the CPU mirror, checks evaluated cross sections on 256 energies, samples the evaluated CM angular first moment, verifies analytical slab transmission and integrated track length, checks voxel scoring conservation, tests fixed-source reproducibility, runs included presets, and confirms overflow and out-of-range-energy failures.

The analytical absorber has Σγ=0.7 cm⁻¹ and a directed path of 1 cm. References are leakage exp(−0.7) and total track length [1−exp(−0.7)]/0.7. Acceptance uses four combined standard errors. The reflective one-group multiplying medium has exact k∞=1.5. Every completed GPU generation must have zero particle-balance residual.

Independent OpenMC references

Install OpenMC 0.16 and NJOY2016 in an isolated scientific environment. For example, with micromamba:

micromamba create -p /tmp/mc-reference -c conda-forge openmc=0.16.0 njoy2016 numpy h5py
OPENMC_EXEC=/tmp/mc-reference/bin/openmc NJOY_EXEC=/tmp/mc-reference/bin/njoy /tmp/mc-reference/bin/python scripts/openmc-reference.py
npm run test:gpu

validation/reference-configurations.json contains the full input configurations. OpenMC receives the same model macroscopic cross sections and CSG cells. References use 20,000 histories per generation, 120 total/30 inactive generations for eigenvalue cases, and 40 fixed-source batches. The saved report includes OpenMC version, seed, configuration digest, scored means, and standard errors.

For comparisons, the acceptance band is four times the combined GPU/reference standard error, plus a declared absolute tolerance: 0.003 for eigenvalue finite-population and source effects, 0.0002 cm for f32 integrated paths, and 0.002 for analog fission-rate comparisons against OpenMC's reaction estimator. These tolerances are engineering checks, not universal bias bounds. Flux comparisons currently use per-generation standard errors; eigenvalue comparisons use five-generation blocked errors.

OpenMC's constant one-group combined k estimator can have undefined variance because its correlated estimators are degenerate. The script records the collision estimator when the combined estimator is nonfinite. This is stated in the saved reference rather than replacing NaN with an invented uncertainty.

The H-1 reference has an additional target-temperature limitation: the browser implements stationary nuclei at exactly 0 K, while OpenMC's H-1 free-gas sampler stalled at that limit in this environment. The recorded reference used NJOY-processed 1 K data and OpenMC's 1 K free-gas sampling. The 1 MeV dilute H-1 comparison passed the stated uncertainty criterion. This does not validate thermal transport or establish exact 0 K agreement. Failed or unavailable reference runs are not agreement evidence.

Reports and remaining work

The assembled lattice and shielding presets have execution and balance checks, but no external model-reference qualification. CE fission sampling has a mathematical GPU regression for energy-dependent ν, tabulated emission, and independent sibling draws; no bundled evaluated fissile dataset or OpenMC CE criticality comparison is available. RNG checks are a regression suite, not a full statistical battery. Broader temperature laws, mesh/tolerance convergence, autocorrelation studies, driver reproducibility, and GPU-vendor coverage remain qualification work.