scpn_fusion.nuclear – Nuclear¶
The nuclear engineering subpackage provides tritium breeding blanket neutronics, plasma-wall interaction models, erosion physics, and thermoelectric MHD effects.
Blanket Neutronics¶
- class scpn_fusion.nuclear.blanket_neutronics.VolumetricBlanketReport(tbr, total_production_per_s, incident_neutrons_per_s, blanket_volume_m3, tbr_ideal=0.0)[source]¶
Bases:
objectReduced 3D blanket surrogate summary.
- Parameters:
- class scpn_fusion.nuclear.blanket_neutronics.BreedingBlanket(thickness_cm=100, li6_enrichment=1.0, r_inner_cm=200.0)[source]¶
Bases:
object1D Cylindrical Neutronics Transport Code for TBR calculation. Simulates neutron attenuation in a blanket annulus (r_inner to r_outer).
- solve_transport(incident_flux=100000000000000.0, rear_albedo=0.0)[source]¶
Solves steady-state cylindrical diffusion-reaction equation for neutron flux Phi(r). -D * (1/r * d/dr(r * dPhi/dr)) + Sigma_rem * Phi = 0
- calculate_tbr(phi)[source]¶
Integrates Tritium production over the blanket volume (Cylindrical). TBR = (Rate of Tritium Production) / (Rate of Incoming Neutrons)
- calculate_volumetric_tbr(major_radius_m=6.2, minor_radius_m=2.0, elongation=1.7, radial_cells=24, poloidal_cells=72, toroidal_cells=48, incident_flux=100000000000000.0, port_coverage_factor=0.8, streaming_factor=0.85, blanket_fill_factor=1.0)[source]¶
Reduced 3D blanket-volume surrogate built on top of the 1D transport profile.
Assumptions: - 1D depth attenuation from solve_transport is reused as the radial blanket profile. - Blanket shell is toroidal with shaped poloidal section via elongation. - Incident-angle weighting captures first-order poloidal asymmetry.
- scpn_fusion.nuclear.blanket_neutronics.run_breeding_sim(*, thickness_cm=80.0, li6_enrichment=0.9, incident_flux=100000000000000.0, rear_albedo=0.0, save_plot=True, output_path='Tritium_Breeding_Result.png', verbose=True)[source]¶
Run deterministic blanket breeding simulation and return summary metrics.
- class scpn_fusion.nuclear.blanket_neutronics.MultiGroupBlanket(thickness_cm=80.0, li6_enrichment=0.9, n_cells=100, r_inner_cm=200.0)[source]¶
Bases:
object3-group neutron transport for tritium breeding ratio calculation.
- Energy groups:
Group 1 (fast): E > 1 MeV (source: 14.1 MeV D-T neutrons) Group 2 (epithermal): 1 eV < E < 1 MeV (down-scattered) Group 3 (thermal): E < 1 eV (thermalised, main Li-6 capture)
- Includes:
Energy-dependent cross sections per group
Down-scatter from fast → epithermal → thermal
Beryllium (n,2n) multiplication in fast group
Li-6(n,t) capture in all groups (dominant in thermal)
This is a significant upgrade over the single-group BreedingBlanket above.
Nuclear Wall Interaction¶
- scpn_fusion.nuclear.nuclear_wall_interaction.default_iter_config_path()[source]¶
Resolve repository-local default ITER configuration path.
- Return type:
- class scpn_fusion.nuclear.nuclear_wall_interaction.NuclearEngineeringLab(config_path)[source]¶
Bases:
FusionBurnPhysicsSimulates the nuclear interaction between Plasma and the Reactor Vessel. 1. Helium Ash accumulation. 2. Neutron Flux distribution on the First Wall. 3. Material Damage (DPA).
- generate_first_wall()[source]¶
Defines the geometry of the reactor wall (Vacuum Vessel). Approximated as a D-shaped contour surrounding the plasma.
- simulate_ash_poisoning(burn_time_sec=1000, tau_He_ratio=5.0, pumping_efficiency=1.0)[source]¶
Simulates the drop in fusion power due to Helium buildup. tau_He_ratio: Ratio of Helium particle confinement to Energy confinement (tau_He / tau_E). If ratio > 10, the reactor chokes.
- calculate_neutron_wall_loading()[source]¶
Ray-Tracing calculation of 14.1 MeV neutrons hitting the wall.
- calculate_cad_wall_loading(vertices, faces, source_points_xyz=None, source_strength_w=None)[source]¶
Reduced CAD loading estimate on imported STEP/STL meshes.
- Return type:
PWI Erosion¶
- class scpn_fusion.nuclear.pwi_erosion.SputteringPhysics(material='Tungsten', redeposition_factor=0.95)[source]¶
Bases:
objectSimulates plasma-wall interaction sputtering and macroscopic erosion.
- scpn_fusion.nuclear.pwi_erosion.run_pwi_demo(*, material='Tungsten', redeposition_factor=0.95, flux_particles_m2_s=1e+24, temp_min_eV=10.0, temp_max_eV=100.0, num_points=50, angle_deg=45.0, save_plot=True, output_path='PWI_Erosion_Result.png', verbose=True)[source]¶
Run deterministic PWI erosion scan and return summary.
TEMHD Peltier Stabiliser¶
- class scpn_fusion.nuclear.temhd_peltier.TEMHD_Stabilizer(layer_thickness_mm=5.0, B_field=10.0)[source]¶
Bases:
objectImplicit 1D heat solver for TEMHD-stabilized liquid-metal divertors.
- scpn_fusion.nuclear.temhd_peltier.run_temhd_experiment(*, layer_thickness_mm=5.0, B_field=10.0, flux_min_MW_m2=0.0, flux_max_MW_m2=100.0, flux_points=20, settle_steps_per_flux=20, dt_s=0.5, save_plot=True, output_path='TEMHD_Corrected.png', verbose=True)[source]¶
Run deterministic TEMHD flux-ramp experiment and return summary metrics.