|
RadCluster
Graph-based cluster dynamics for irradiated materials
|
Go to the source code of this file.
Classes | |
| struct | Parameters |
Functions | |
| double | require_param (const std::map< std::string, double > &m, const std::string &key) |
| double | optional_param (const std::map< std::string, double > &m, const std::string &key, double def) |
| std::map< std::string, double > | parse_param_file (const std::string &path) |
| Parameters | build_parameters (const std::map< std::string, double > &p) |
parameters.h — RadCluster_2_1 solver parameter struct.
All quantities that the ODE right-hand side needs are pre-computed on the Python side (InputData + ReactionRates) and forwarded via a parameter file (–param_file=<path>). build_parameters() unpacks them into this struct so the RHS performs only arithmetic.
Physics reference: Ghoniem (2026), Rate_Equations.pdf.
full_CD_fission (Case 2, he_mode=0): y[0..I-1] — SIA clusters c_n, n=1..I y[I..I+V-1] — vacancy/bubble c_m (marginal), m=1..V y[I+V] — Q_tot (total He in voids) y[I+V+1] — c_h (free He) [omitted when he_kinetics=1 (QSS)] N_eq = I + V + 2 (dynamic) or I + V + 1 (quasi_steady_state)
full_CD_fusion (Case 1, he_mode=1): y[0..I-1] — SIA clusters c_n y[I..I+V-1] — c_m^tot y[I+V..I+2V-1] — Q_m (He per class) y[I+2V] — c_h [omitted when he_kinetics=1 (QSS)] N_eq = I + 2V + 1 (dynamic) or I + 2V (quasi_steady_state)
bin_moment_CD_fission/fusion (physics_option 2/3): y[0..2Ib-1] — SIA bin moments [μ_0^(0), μ_0^(1), ..., μ_{Ib-1}^(1)] y[2Ib..2Ib+V-1] — c_m y[2Ib+V..] — He variables (same as Case 2 or Case 1) N_eq = 2Ib + V + 2 or 2Ib + 2V + 1 (dynamic) N_eq = 2Ib + V + 1 or 2Ib + 2V (quasi_steady_state)
he_kinetics: 0 = dynamic (c_h is an ODE state, Eq. 157) 1 = quasi_steady_state (c_h computed algebraically from dc_h/dt = 0; valid because E_m_h = 0.06 eV is small)
C_floor: concentration floor. In the RHS, any state variable below C_floor is clamped to C_floor for rate computation, and any derivative of a floor-clamped variable is clamped to >= 0 to prevent negative excursions.
Definition in file parameters.h.
|
inline |
Unpack a parsed parameter map into a Parameters struct.
Definition at line 398 of file parameters.h.
|
inline |
Definition at line 358 of file parameters.h.
|
inline |
Read a parameter file written by cpp_bridge.py. Format: key=value per line; blank lines and '#' lines ignored.
Definition at line 368 of file parameters.h.
|
inline |
Definition at line 348 of file parameters.h.