|
RadCluster
Graph-based cluster dynamics for irradiated materials
|
Every edge of a Reaction Admissibility Graph belongs to exactly one of ten abstract classes. The classes are the members of the enumeration EdgeClass in edge_classes.py.
| # | Edge class | Action |
|---|---|---|
| 1 | GROWTH | same-polarity monomer absorption, \(n \to n+1\) |
| 2 | SHRINKAGE | opposite-polarity monomer impingement, \(n \to n-1\) |
| 3 | DISSOCIATION | thermal monomer emission, \(n \to n-1\) |
| 4 | RECOMBINATION | cross-polarity monomer annihilation |
| 5 | ANNIHILATION | cross-polarity binary (cluster-cluster) hyperedge |
| 6 | INTER_POPULATION | \(p \to p'\) at fixed size and composition, for example loop-character conversion |
| 7 | SOLUTE_TRAPPING | trapping and detrapping, \(c \to c \pm e_s\) |
| 8 | COALESCENCE | same-polarity binary growth |
| 9 | SOURCE | cascade injection, with no precursor vertex |
| 10 | SINK | absorption at a fixed sink |
Each class carries a fixed stoichiometric contract, which is stored as an EdgeClassSpec in the table EDGE_CLASS_SPEC. The contract states:
The function spec_of() returns the contract of a class.
Because the sign pattern of \(S_{ar}\) is structural, conservation of the signed defect content \(q = \chi n\) holds by construction for every intra-host reaction. It is not derived again for each material.