Regression¶
SCIANTIX includes a comprehensive regression testing suite to ensure code stability and physics verification. The regression tests are located in the regression/ directory.
Running Regression Tests¶
The regression suite is controlled by the Python script runner.py located in regression/.
To run all regression tests:
python3 -m regression.runner --all
To run a specific suite (e.g., Baker benchmarks):
python3 -m regression.runner --baker
Available flags include:
- --all
- --baker
- --white
- --cornell
- --kashibe
- --talip
- --oxidation
- --chromium
- --contact
- --hbs
- --vercors
- --analytics (--pulse is an alias)
- --gpr
Several flags can be combined, and a single case can be selected with
--<group>.<case>, for instance --baker.1273K. Runs can be parallelised with
-j/--jobs.
Comparison Modes¶
You can control how the results are verified using the --mode-gold argument:
0: Run simulation + Compare with gold standard (Default)1: Run simulation + Update gold standard (Use with caution!)2: Compare existing output with gold standard3: Update gold standard from the existing output, without running the simulation
The comparison is element-wise, with an absolute tolerance of 1e-8 and a relative tolerance of 1e-6; the column headers must match as well. Regenerate the gold standard deliberately, never to paper over an unexplained difference.
Test Case Structure¶
Each regression test case is a directory containing:
input_settings.txt: configuration flags for models.
input_history.txt: time-dependent boundary conditions (Time, Temperature, Fission Rate, Stress).
input_initial_conditions.txt: initial values for state variables.
output_gold.txt: reference results for verification.
Available Test Suites¶
Baker: Intragranular gaseous swelling, bubble radius and density (Baker 1977).
White: Intergranular gaseous swelling and grain-face porosity (White 2004).
Cornell: Intragranular bubble radius and density (Cornell 1969).
Kashibe: Fission gas release and swelling in annealing and ramp tests (Kashibe et al. 1990, 1991, 1993).
Talip: Helium fractional release and release rate under annealing (Talip et al. 2014).
Oxidation: Stoichiometry deviation under oxidising conditions.
HBS: High-burnup structure formation, porosity and pore statistics.
Chromium: Chromium-doped fuel: solubility and fission gas release.
Contact: Release-to-birth ratio of Xe133 and Kr85m (CONTACT irradiation experiment), compared with ANS-5.4.
Vercors: Fission gas release validation against VERCORS experiments.
Analytics: Analytic checks (power pulse, open porosity);
--pulseis an alias.GPR: Gaussian Process Regression integration tests.