Fuel Behaviour — 1-D Radial Thermo-Mechanics
Fuel behaviour under 1-D radial approximation.
Solves coupled radial heat conduction and thermo-elastic-plastic deformation of a single fuel rod over its operational lifetime (default 6 years).
Port of MATLAB Module 08 (fuelBehaviour.m, initializeFuelRod.m,
funRHS.m, gapClosureEvent.m).
Key restructuring vs. MATLAB: stresses are NOT carried as DAE state variables. They are computed algebraically at each RHS evaluation by solving the linear stress equilibrium + strain compatibility + boundary condition system. The ODE state vector contains only genuinely time-evolving quantities (temperatures, fission density, swelling, creep strains, and plastic strains).
See also
Fuel Behaviour — 1-D Radial Thermo-Mechanics — Key Facts, gap closure model, MATPRO correlations.
- class orpheus.fuel.solver.FuelRodGeometry(h0=3.0, fuel_r_in=0.0, fuel_r_out=0.00412, fuel_nr=30, porosity=0.05, fgr=0.06, q_lhgr=20000.0, clad_r_in=0.00422, clad_r_out=0.00475, clad_nr=5, clad_T_out=600.0, fast_flux=10000000000000.0, roughness=6e-06, T_plenum=600.0, p0=1.0, v_gas_plenum=1e-05, cool_p=16.0, time_end_years=6.0, time_step_days=1.0)[source]
Bases:
objectAs-fabricated fuel rod geometry and operating parameters.
- Parameters:
h0 (float)
fuel_r_in (float)
fuel_r_out (float)
fuel_nr (int)
porosity (float)
fgr (float)
q_lhgr (float)
clad_r_in (float)
clad_r_out (float)
clad_nr (int)
clad_T_out (float)
fast_flux (float)
roughness (float)
T_plenum (float)
p0 (float)
v_gas_plenum (float)
cool_p (float)
time_end_years (float)
time_step_days (float)
- h0: float = 3.0
- fuel_r_in: float = 0.0
- fuel_r_out: float = 0.00412
- fuel_nr: int = 30
- porosity: float = 0.05
- fgr: float = 0.06
- q_lhgr: float = 20000.0
- clad_r_in: float = 0.00422
- clad_r_out: float = 0.00475
- clad_nr: int = 5
- clad_T_out: float = 600.0
- fast_flux: float = 10000000000000.0
- roughness: float = 6e-06
- T_plenum: float = 600.0
- p0: float = 1.0
- v_gas_plenum: float = 1e-05
- cool_p: float = 16.0
- time_end_years: float = 6.0
- time_step_days: float = 1.0
- class orpheus.fuel.solver.FuelBehaviourResult(time, time_years, fuel_r, clad_r, fuel_T, clad_T, fuel_sig_r, fuel_sig_h, fuel_sig_z, fuel_sig_vm, clad_sig_r, clad_sig_h, clad_sig_z, clad_sig_vm, fuel_eps_r, fuel_eps_h, fuel_eps_z, clad_eps_r, clad_eps_h, clad_eps_z, fuel_eps_T, fuel_eps_S, fuel_eps_rE, fuel_eps_hE, fuel_eps_zE, fuel_eps_rC, fuel_eps_hC, fuel_eps_zC, clad_eps_T, clad_eps_rE, clad_eps_hE, clad_eps_zE, clad_eps_rC, clad_eps_hC, clad_eps_zC, clad_eps_rP, clad_eps_hP, clad_eps_zP, gap_dr, gap_open, gap_p_contact, ingas_p, fuel_dz, clad_dz, burnup, geometry)[source]
Bases:
objectComplete time-history of the fuel-rod calculation.
- Parameters:
time (ndarray)
time_years (ndarray)
fuel_r (ndarray)
clad_r (ndarray)
fuel_T (ndarray)
clad_T (ndarray)
fuel_sig_r (ndarray)
fuel_sig_h (ndarray)
fuel_sig_z (ndarray)
fuel_sig_vm (ndarray)
clad_sig_r (ndarray)
clad_sig_h (ndarray)
clad_sig_z (ndarray)
clad_sig_vm (ndarray)
fuel_eps_r (ndarray)
fuel_eps_h (ndarray)
fuel_eps_z (ndarray)
clad_eps_r (ndarray)
clad_eps_h (ndarray)
clad_eps_z (ndarray)
fuel_eps_T (ndarray)
fuel_eps_S (ndarray)
fuel_eps_rE (ndarray)
fuel_eps_hE (ndarray)
fuel_eps_zE (ndarray)
fuel_eps_rC (ndarray)
fuel_eps_hC (ndarray)
fuel_eps_zC (ndarray)
clad_eps_T (ndarray)
clad_eps_rE (ndarray)
clad_eps_hE (ndarray)
clad_eps_zE (ndarray)
clad_eps_rC (ndarray)
clad_eps_hC (ndarray)
clad_eps_zC (ndarray)
clad_eps_rP (ndarray)
clad_eps_hP (ndarray)
clad_eps_zP (ndarray)
gap_dr (ndarray)
gap_open (ndarray)
gap_p_contact (ndarray)
ingas_p (ndarray)
fuel_dz (ndarray)
clad_dz (ndarray)
burnup (ndarray)
geometry (FuelRodGeometry)
- time: ndarray
- time_years: ndarray
- fuel_r: ndarray
- clad_r: ndarray
- fuel_T: ndarray
- clad_T: ndarray
- fuel_sig_r: ndarray
- fuel_sig_h: ndarray
- fuel_sig_z: ndarray
- fuel_sig_vm: ndarray
- clad_sig_r: ndarray
- clad_sig_h: ndarray
- clad_sig_z: ndarray
- clad_sig_vm: ndarray
- fuel_eps_r: ndarray
- fuel_eps_h: ndarray
- fuel_eps_z: ndarray
- clad_eps_r: ndarray
- clad_eps_h: ndarray
- clad_eps_z: ndarray
- fuel_eps_T: ndarray
- fuel_eps_S: ndarray
- fuel_eps_rE: ndarray
- fuel_eps_hE: ndarray
- fuel_eps_zE: ndarray
- fuel_eps_rC: ndarray
- fuel_eps_hC: ndarray
- fuel_eps_zC: ndarray
- clad_eps_T: ndarray
- clad_eps_rE: ndarray
- clad_eps_hE: ndarray
- clad_eps_zE: ndarray
- clad_eps_rC: ndarray
- clad_eps_hC: ndarray
- clad_eps_zC: ndarray
- clad_eps_rP: ndarray
- clad_eps_hP: ndarray
- clad_eps_zP: ndarray
- gap_dr: ndarray
- gap_open: ndarray
- gap_p_contact: ndarray
- ingas_p: ndarray
- fuel_dz: ndarray
- clad_dz: ndarray
- burnup: ndarray
- geometry: FuelRodGeometry
- orpheus.fuel.solver.solve_fuel_behaviour(geo=None, rtol=1e-06, atol=0.0001, verbose=True)[source]
Simulate fuel behaviour over the rod lifetime.