From 1849ca2186b988f6bd019e37d4ab111640fc4ce8 Mon Sep 17 00:00:00 2001 From: chris-ashe Date: Sun, 8 Feb 2026 22:19:08 +0000 Subject: [PATCH 1/3] Add average neutron flux variable for plasma surface --- process/data_structure/physics_variables.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/process/data_structure/physics_variables.py b/process/data_structure/physics_variables.py index f2a9a4205..ce1e9c99f 100644 --- a/process/data_structure/physics_variables.py +++ b/process/data_structure/physics_variables.py @@ -1283,6 +1283,9 @@ pflux_fw_neutron_mw: float = None """average neutron wall load (MW/m2)""" +plfux_plasma_surface_neutron_avg_mw: float = None +"""Average neutron flux at plasma surface (MW/m2)""" + wtgpd: float = None """mass of fuel used per day (g)""" @@ -1630,6 +1633,7 @@ def init_physics_variables(): vs_plasma_res_ramp, \ vs_plasma_total_required, \ pflux_fw_neutron_mw, \ + plfux_plasma_surface_neutron_avg_mw, \ wtgpd, \ a_plasma_poloidal, \ n_charge_plasma_effective_vol_avg, \ @@ -1893,6 +1897,7 @@ def init_physics_variables(): vs_plasma_res_ramp = 0.0 vs_plasma_total_required = 0.0 pflux_fw_neutron_mw = 0.0 + plfux_plasma_surface_neutron_avg_mw = 0.0 wtgpd = 0.0 a_plasma_poloidal = 0.0 n_charge_plasma_effective_vol_avg = 0.0 From 5d59c77165cd3dc5be8e49d67344b6506a7d85c0 Mon Sep 17 00:00:00 2001 From: chris-ashe Date: Sun, 8 Feb 2026 22:24:26 +0000 Subject: [PATCH 2/3] Add average neutron flux calculation for plasma surface --- process/physics.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/process/physics.py b/process/physics.py index 0ceba4300..887559792 100644 --- a/process/physics.py +++ b/process/physics.py @@ -2494,6 +2494,10 @@ def physics(self): - physics_variables.p_plasma_rad_mw ) + physics_variables.plfux_plasma_surface_neutron_avg_mw = ( + physics_variables.p_neutron_total_mw / physics_variables.a_plasma_surface + ) + # KLUDGE: Ensure p_plasma_separatrix_mw is continuously positive (physical, rather than # negative potential power), as required by other models (e.g. # Physics.calculate_density_limit()) @@ -5646,6 +5650,14 @@ def outplas(self): physics_variables.pflux_fw_rad_mw, "OP ", ) + po.ovarre( + self.outfile, + "Average neutron flux at plasma surface (MW/m^2)", + "(plfux_plasma_surface_neutron_avg_mw)", + physics_variables.plfux_plasma_surface_neutron_avg_mw, + "OP ", + ) + po.ovarre( self.outfile, "Peaking factor for radiation first-wall load", From 43e060e377ee61cc9a092c0fc7528647ae0009c6 Mon Sep 17 00:00:00 2001 From: chris-ashe Date: Sun, 8 Feb 2026 22:29:55 +0000 Subject: [PATCH 3/3] Add average neutron flux display in plasma information plot --- process/io/plot_proc.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/process/io/plot_proc.py b/process/io/plot_proc.py index 95a6f80ad..26d2a1e98 100644 --- a/process/io/plot_proc.py +++ b/process/io/plot_proc.py @@ -2870,12 +2870,13 @@ def plot_main_plasma_information( ) textstr_neutron = ( - f"$P_{{\\text{{n,total}}}}$ {mfile.get('p_neutron_total_mw', scan=scan):.2f} MW" + f"$P_{{\\text{{n,total}}}}$ {mfile.get('p_neutron_total_mw', scan=scan):.2f} MW \n" + f"$\\phi_{{\\text{{n,avg}}}}$ {mfile.get('plfux_plasma_surface_neutron_avg_mw', scan=scan):.3f} MW/m²" ) axis.text( 0.775, - 0.85, + 0.875, textstr_neutron, fontsize=9, verticalalignment="top",