RadCluster
Graph-based cluster dynamics for irradiated materials
Loading...
Searching...
No Matches
Functions | Variables
verify Namespace Reference

Functions

 recover_V (dict row)
 
dict load_result_rows ()
 
list candidates (dict led, int top)
 
int main (argv=None)
 

Variables

 HERE = Path(__file__).resolve().parent
 
str LEDGER = HERE / "calibration_ledger.json"
 
str RESULTS = HERE / "results"
 
tuple REWRITABLE = ("row_id", "cond_row_id")
 

Detailed Description

Close the self-learning loop: turn UNVERIFIED candidates into measurements.

`learn.py` will not score an observable that has not survived a change of grid
EXTENT (see learn.EXTENT_TOL).  That is the right rule -- refinement at fixed
extent proved nothing, and occupancy proved less -- but on its own it only
*labels* the problem.  This script is the other half: it finds the rows the
ledger most wants verified and emits the runs that would verify them.

    python verify.py                  # show what needs verifying, and the commands
    python verify.py --run --workers 6

THE ONE INVARIANT THAT MATTERS.  `run_ensemble` builds `theta_hash` from every
design column EXCEPT row_id / cond_row_id / matrix / base_idx / param_j /
condition -- and `theta_id` IS included.  A verification row must therefore be a
byte-for-byte copy of the original design row with ONLY row_id and cond_row_id
changed.  Renumber `theta_id` and the hash changes, the pair never forms, and
the run is silently wasted.  This is not hypothetical: the V12/V13/V15 designs
renumber theta_id and so cannot pair with their own parents.

Function Documentation

◆ candidates()

list verify.candidates ( dict  led,
int  top 
)
Unverified rows, best first.

Ranked by how much a verification would TELL US: rows already sitting in
several bands are the ones whose status the campaign is actually resting on,
so they are the ones worth the CPU.

Definition at line 61 of file verify.py.

◆ load_result_rows()

dict verify.load_result_rows ( )
row_id -> raw result row (last one wins; they are replicates).

Definition at line 45 of file verify.py.

◆ main()

int verify.main (   argv = None)

Definition at line 83 of file verify.py.

◆ recover_V()

verify.recover_V ( dict  row)

Definition at line 38 of file verify.py.

Variable Documentation

◆ HERE

verify.HERE = Path(__file__).resolve().parent

Definition at line 30 of file verify.py.

◆ LEDGER

str verify.LEDGER = HERE / "calibration_ledger.json"

Definition at line 31 of file verify.py.

◆ RESULTS

str verify.RESULTS = HERE / "results"

Definition at line 32 of file verify.py.

◆ REWRITABLE

tuple verify.REWRITABLE = ("row_id", "cond_row_id")

Definition at line 35 of file verify.py.