RadCluster
Graph-based cluster dynamics for irradiated materials
Loading...
Searching...
No Matches
__init__.py
Go to the documentation of this file.
1"""
2materials — Layer 2: host-material instantiations of the abstract CD core.
3
4A *host material* (e.g. EUROFER-97) is introduced under this package as an
5*instantiation* of the host-independent core in ``py_utils/core`` — a
6declaration of the admissible vertex set, population set, edge set, and
7rate-kernel library of Ghoniem (2026), *A Generalized Graph-Based Cluster
8Dynamics Framework for Irradiated Materials*.
9
10This is the "subclass" half of the paper's abstract-base-class / subclass
11split: Layer 1 (``core``) fixes the algorithm; Layer 2 (``materials``)
12declares *which* populations, edges, and kernels a particular alloy
13admits. A material instantiation never re-implements the integrator —
14the C++ solver remains the engine — it only builds the
15:class:`~py_utils.core.rag.ReactionAdmissibilityGraph` and the
16:class:`~py_utils.core.state_layout.StateLayout` that describe the host.
17
18Sub-packages
19------------
20eurofer97/ — the EUROFER-97 ferritic-martensitic steel instantiation
21 (paper Section 4): one SIA bulk population, one vacancy
22 bulk population, helium as the single resolved gas, and the
23 eight EUROFER process classes P1-P8.
24"""
25from .eurofer97 import build_eurofer_rag
26
27__all__ = ["build_eurofer_rag"]