RadCluster
Graph-based cluster dynamics for irradiated materials
Loading...
Searching...
No Matches
Abstract core (Layer 1)

Introduction

The abstract core is the host-independent half of RadCluster. It carries no bcc-Fe or EUROFER-97 assumption. It defines what a cluster is, which elementary reactions exist, how a material declares the reactions it admits, and how the master equation is assembled from that declaration.

For every tracked cluster species \(a\) the code integrates

\[ \frac{dc_a}{dt} = G_a + \sum_r S_{ar}\,J_r(c) - D_a\,c_a , \]

where \(G_a\) is the cascade source, \(J_r\) is the flux of elementary reaction \(r\), \(S_{ar}\) is its stoichiometric coefficient for species \(a\), and \(D_a\) is the loss rate at fixed sinks. Concentrations are atomic fractions, sizes are atom counts, energies are in eV and the temperature is in K.

The Python core is in the folder radcluster_code/py_utils/core, and the C++ core is in the folder radcluster_code/cpp_utils/core.

Pages

Source files

File Content
cluster_identifier.py the polarity index, the Population and the ClusterIdentifier
edge_classes.py the ten edge classes and their stoichiometric contracts
rag.py the Edge family and the ReactionAdmissibilityGraph container
graph_walker.py the GraphWalker, which assembles the right-hand side
state_layout.py the StateLayout, which maps vertices to ODE indices
to_networkx.py export of a declared graph for structural diagnostics
reductions/bin_moment.py the logarithmic bin-moment reduction
reductions/he_reduction.py the two helium-occupancy reductions
See also
Material models (Layer 2), C++ solver