Repository navigation
Verification
Every run reports two dimensionless residuals.
| Residual | What it checks |
|---|---|
| the Frenkel-pair balance: the vacancy content equals the SIA content plus the cumulative net bias flux to dislocations | |
| the helium balance |
The swelling is reported through the identity
where
| Value | Meaning |
|---|---|
| below about |
expected |
| above |
a coding error |
Note: In long loop-coarsening runs the loop distribution can outgrow the size axis. Products beyond the largest tracked size then carry content out of the domain, and
$\delta_{\rm FP}$ grows. Check it against the length of the size axis.
The folder radcluster_code/codes/Python_Testing/ holds standalone scripts that gate the physics:
- helium and Frenkel-pair conservation
- bin-moment against discrete equivalence
- convergence in the size of the discrete prefix
- loop-conversion kernels and conservation
- consistency of the graph declaration
- comparisons of linear solvers and of window modes
- benchmarks of the Woodbury preconditioner
- parameter sweeps
For example, this script checks the declaration of the EUROFER-97 graph:
cd radcluster_code
PYTHONPATH=. python3 codes/Python_Testing/check_eurofer_rag.pyThe script ends with ALL CHECKS PASSED. It needs only the Python layer, and not the C++ solver.
The folder radcluster_code/Eurofer_micro_database/ contains a spreadsheet of loop and cavity number densities and mean sizes for neutron-irradiated and ion-irradiated ferritic-martensitic steels, and a notebook that fits and plots them.
The folder radcluster_code/digital_twin/ drives the calibration and the verification of the model. A campaign is a designed set of runs that is distributed over several machines, including the UCLA Hoffman2 cluster.
Each machine compiles its own solver. Before a machine joins a campaign, run the machine check:
cd radcluster_code/digital_twin
python check_machine.pyNote: Do not start a machine that fails this check. Its rows cannot be pooled with the others.
The results are appended as each row completes, and a restart skips the rows that are already present. The file digital_twin/README.md describes the protocol.
Using the code
The model
Project
Links