Skip to content

Commit

Permalink
🔄 Rename pedgeradpv to pden_plasma_outer_rad_mw for clarity and consi…
Browse files Browse the repository at this point in the history
…stency
  • Loading branch information
chris-ashe committed Feb 12, 2025
1 parent e2b0478 commit 8202277
Show file tree
Hide file tree
Showing 5 changed files with 21 additions and 14 deletions.
4 changes: 2 additions & 2 deletions process/physics.py
Original file line number Diff line number Diff line change
Expand Up @@ -2136,14 +2136,14 @@ def physics(self):
radpwrdata = physics_funcs.calculate_radiation_powers(self.plasma_profile)
physics_variables.pden_plasma_sync_mw = radpwrdata.pden_plasma_sync_mw
physics_variables.pden_plasma_core_rad_mw = radpwrdata.pden_plasma_core_rad_mw
physics_variables.pedgeradpv = radpwrdata.pedgeradpv
physics_variables.pden_plasma_outer_rad_mw = radpwrdata.pden_plasma_outer_rad_mw
physics_variables.pden_plasma_rad_mw = radpwrdata.pden_plasma_rad_mw

physics_variables.p_plasma_inner_rad_mw = (
physics_variables.pden_plasma_core_rad_mw * physics_variables.vol_plasma
)
physics_variables.p_plasma_outer_rad_mw = (
physics_variables.pedgeradpv * physics_variables.vol_plasma
physics_variables.pden_plasma_outer_rad_mw * physics_variables.vol_plasma
)
physics_variables.p_plasma_rad_mw = (
physics_variables.pden_plasma_rad_mw * physics_variables.vol_plasma
Expand Down
11 changes: 7 additions & 4 deletions process/physics_functions.py
Original file line number Diff line number Diff line change
Expand Up @@ -551,7 +551,7 @@ class RadpwrData:

pden_plasma_sync_mw: float
pden_plasma_core_rad_mw: float
pedgeradpv: float
pden_plasma_outer_rad_mw: float
pden_plasma_rad_mw: float


Expand All @@ -570,7 +570,7 @@ def calculate_radiation_powers(plasma_profile: PlasmaProfile) -> RadpwrData:
RadpwrData: A dataclass containing the following radiation power densities:
- pden_plasma_sync_mw (float): Synchrotron radiation power per unit volume (MW/m^3).
- pden_plasma_core_rad_mw (float): Total core radiation power per unit volume (MW/m^3).
- pedgeradpv (float): Edge radiation power per unit volume (MW/m^3).
- pden_plasma_outer_rad_mw (float): Edge radiation power per unit volume (MW/m^3).
- pden_plasma_rad_mw (float): Total radiation power per unit volume (MW/m^3).
Author:
Expand All @@ -579,7 +579,7 @@ def calculate_radiation_powers(plasma_profile: PlasmaProfile) -> RadpwrData:
imp_rad = impurity.ImpurityRadiation(plasma_profile)
imp_rad.calculate_imprad()

pedgeradpv = imp_rad.radtot - imp_rad.radcore
pden_plasma_outer_rad_mw = imp_rad.radtot - imp_rad.radcore

# Synchrotron radiation power/volume; assumed to be from core only.
pden_plasma_sync_mw = psync_albajar_fidone()
Expand All @@ -591,7 +591,10 @@ def calculate_radiation_powers(plasma_profile: PlasmaProfile) -> RadpwrData:
pden_plasma_rad_mw = imp_rad.radtot + pden_plasma_sync_mw

return RadpwrData(
pden_plasma_sync_mw, pden_plasma_core_rad_mw, pedgeradpv, pden_plasma_rad_mw
pden_plasma_sync_mw,
pden_plasma_core_rad_mw,
pden_plasma_outer_rad_mw,
pden_plasma_rad_mw,
)


Expand Down
10 changes: 7 additions & 3 deletions process/stellarator.py
Original file line number Diff line number Diff line change
Expand Up @@ -4281,19 +4281,23 @@ def stphys(self, output):
radpwr_data = physics_funcs.calculate_radiation_powers(self.plasma_profile)
physics_variables.pden_plasma_sync_mw = radpwr_data.pden_plasma_sync_mw
physics_variables.pden_plasma_core_rad_mw = radpwr_data.pden_plasma_core_rad_mw
physics_variables.pedgeradpv = radpwr_data.pedgeradpv
physics_variables.pden_plasma_outer_rad_mw = (
radpwr_data.pden_plasma_outer_rad_mw
)
physics_variables.pden_plasma_rad_mw = radpwr_data.pden_plasma_rad_mw

physics_variables.pden_plasma_core_rad_mw = max(
physics_variables.pden_plasma_core_rad_mw, 0.0e0
)
physics_variables.pedgeradpv = max(physics_variables.pedgeradpv, 0.0e0)
physics_variables.pden_plasma_outer_rad_mw = max(
physics_variables.pden_plasma_outer_rad_mw, 0.0e0
)

physics_variables.p_plasma_inner_rad_mw = (
physics_variables.pden_plasma_core_rad_mw * physics_variables.vol_plasma
) # Should probably be vol_core
physics_variables.p_plasma_outer_rad_mw = (
physics_variables.pedgeradpv * physics_variables.vol_plasma
physics_variables.pden_plasma_outer_rad_mw * physics_variables.vol_plasma
)

physics_variables.p_plasma_rad_mw = (
Expand Down
4 changes: 2 additions & 2 deletions source/fortran/physics_variables.f90
Original file line number Diff line number Diff line change
Expand Up @@ -621,7 +621,7 @@ module physics_variables
real(dp) :: p_plasma_outer_rad_mw
!! radiation power from outer zone (MW)

real(dp) :: pedgeradpv
real(dp) :: pden_plasma_outer_rad_mw
!! edge radiation power per volume (MW/m3)

real(dp) :: phiint
Expand Down Expand Up @@ -1040,7 +1040,7 @@ subroutine init_physics_variables
dt_power_total = 0.0D0
dt_power_plasma = 0.0D0
p_plasma_outer_rad_mw = 0.0D0
pedgeradpv = 0.0D0
pden_plasma_outer_rad_mw = 0.0D0
charged_particle_power = 0.0D0
phiint = 0.0D0
pflux_fw_rad_mw = 0.0D0
Expand Down
6 changes: 3 additions & 3 deletions tests/integration/ref_dicts.json
Original file line number Diff line number Diff line change
Expand Up @@ -3504,7 +3504,7 @@
"peakpoloidalpower": 0.0,
"pflux_fw_rad_max_mw": 0.0,
"ped": null,
"pedgeradpv": 0.0,
"pden_plasma_outer_rad_mw": 0.0,
"pfbldgm3": 20000.0,
"pfcaseth": 0.0,
"pfckts": 0.0,
Expand Down Expand Up @@ -10263,7 +10263,7 @@
"peakmva": "peak MVA requirement",
"peakpoloidalpower": "Peak absolute rate of change of stored energy in poloidal field (MW)",
"pflux_fw_rad_max_mw": "Peak radiation wall load (MW/m^2) (`constraint equation 67`)",
"pedgeradpv": "edge radiation power per volume (MW/m3)",
"pden_plasma_outer_rad_mw": "edge radiation power per volume (MW/m3)",
"pfbldgm3": "volume of PF coil power supply building (m3)",
"pfcaseth": "steel case thickness for PF coil i (m)",
"pfckts": "number of PF coil circuits",
Expand Down Expand Up @@ -19188,7 +19188,7 @@
"dt_power_total",
"dt_power_plasma",
"p_plasma_outer_rad_mw",
"pedgeradpv",
"pden_plasma_outer_rad_mw",
"charged_particle_power",
"phiint",
"pflux_fw_rad_mw",
Expand Down

0 comments on commit 8202277

Please sign in to comment.