|
RadCluster
Graph-based cluster dynamics for irradiated materials
|
Functions | |
| _r (run_id, table, label, notes="", **over) | |
| list[dict] | manifest () |
| _check_unique (runs) | |
| list[dict] | runnable (runs=None, tables=None) |
Variables | |
| str | REFERENCE = "20260906_063055_full_system_bin_moment_CD_fission_I80000V20000_im5vm5" |
| dict | GRID = {"t_span_end_s": 4.0e8, "n_points": 37, "dose": 40.0} |
| float | DOSE_READ_MAIN = 15.72 |
| tuple | DOSE_READ_T4 = (0.2, 1.0, 2.0) |
| dict | BASE |
| int | TIMEOUT_NONLINEAR_CLOSURE = 1800 |
| dict | B4_GRID = {"i_discrete": 100, "I_bin": 18, "v_discrete": 5, "V_bin": 20} |
| tuple | TD_SUPERSEDED |
| tuple | P3_EXCLUDED |
| int | M_BIN_DOMAIN = 10000 |
| tuple | M2_BINS = (4, 6, 8, 12, 16, 24, 32) |
| int | M2R_DOMAIN = 1000 |
| tuple | M2R_BINS = (2, 3, 4, 6, 8, 12, 16, 24, 32) |
| tuple | M2D_IDISC = (25, 50, 100, 200, 400, 800) |
| tuple | M2D_BINS = (4, 8, 16, 32) |
| int | M_REF_DOMAIN = 10000 |
| str | M_REF_RUN = "M1_D1000" |
| dict | TIMING_SENSITIVE_TABLES = {"T5", "M1"} |
| list[dict] | m = manifest() |
| list | blocked = [e for e in m if e.get("blocked_on")] |
| str | hdr |
runs.py — the run manifest for the paper-revision verification study.
The ~25 runs of `docs/Formulation/verification_campaign/paper_revision_verification_plan.md` as DATA,
not as two dozen hand-copied command lines. One entry per table cell; the
runner (`campaign.py`) turns an entry into a `RadClusterSimulation` and a
timestamped output directory.
WHY A MANIFEST. Three of the plan's rules are only enforceable if the runs are
enumerable in one place:
* S3.2 -- every Table 1-3 column must share `t_span` and `n_points`, or
"15.72 dpa" is a different point in different columns and the comparison
drifts. Here that is one constant (`GRID`) that every such entry inherits,
rather than a number retyped 15 times.
* S1.3 -- hold the bin ratio `r` at production and vary only `i_discrete`.
The rungs below carry the plan's `I_bin`/`V_bin` for exactly that reason;
`bin_layout()` then reads the REALISED layout back and refuses a silent
fallback.
* S3.4.1 -- no run that missed the comparison dose may be reported as a
metric. `dose_read` travels with the entry, so the reporting step can
check it mechanically instead of by discipline.
Entries are ordered by the plan's execution order (S5): the Table 4 discrete
arm is the cost probe and comes first among the runs that must actually be
computed.
|
protected |
| list[dict] runs.manifest | ( | ) |
| list[dict] runs.runnable | ( | runs = None, |
|
tables = None |
|||
| ) |
| dict runs.B4_GRID = {"i_discrete": 100, "I_bin": 18, "v_discrete": 5, "V_bin": 20} |
| dict runs.BASE |
| dict runs.GRID = {"t_span_end_s": 4.0e8, "n_points": 37, "dose": 40.0} |
| str runs.hdr |
| tuple runs.P3_EXCLUDED |
| str runs.REFERENCE = "20260906_063055_full_system_bin_moment_CD_fission_I80000V20000_im5vm5" |
| tuple runs.TD_SUPERSEDED |