Regression tests¶
End-to-end tests compare jitr against committed outputs from Frescox and
TALYS. Reference CSVs are committed; neither external code is required in CI.
Running¶
uv run pytest tests/regression/
Frescox cases (F1–F10)¶
Ten cases against LLNL Frescox: eight
elastic for p/n + 78Ni, and two quasi-elastic (p,n) to the isobaric
analog state of 48Ca.
Case |
Reaction |
Projectile |
E_lab (MeV) |
Source deck |
|---|---|---|---|---|
F1 |
elastic |
p |
6.9 |
|
F2 |
elastic |
p |
11.0 |
|
F3 |
elastic |
p |
49.35 |
|
F4 |
elastic |
p |
100 |
|
F5 |
elastic |
p |
200 |
|
F6 |
elastic |
n |
49.35 |
|
F7 |
elastic |
n |
100 |
|
F8 |
elastic |
n |
200 |
|
F9 |
|
p |
25 |
|
F10 |
|
p |
35 |
|
F9 and F10 exercise jitr.xs.quasielastic_pn rather than
jitr.xs.elastic. Frescox does its own channel-spin algebra, so they are an
independent check on the spin-flip terms of the (p,n) amplitude, which the
elastic cases cannot see. jitR reproduces both to better than 1.3e-4 at every
angle.
TALYS cases (T1–T4)¶
Four JLM/JLMB elastic-scattering cases against TALYS 2.2 for 120Sn at
10 MeV:
Case |
Projectile |
|
Notes |
|---|---|---|---|
T1 |
n |
0 |
standard JLMB normalization |
T2 |
n |
2 |
stronger JLMB normalization |
T3 |
p |
0 |
Coulomb code path |
T4 |
p |
2 |
Coulomb + stronger normalization |