Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
8e056a8
:memo: Add guidelines for fusion rates and fusion rate densities in s…
chris-ashe May 8, 2025
8c4e0b4
πŸ”„ Rename fusion_power to p_fusion_total_mw
chris-ashe May 8, 2025
ff8a60a
πŸ”„ Rename dt_power_total to p_dt_total_mw for consistency across varia…
chris-ashe May 8, 2025
31507ae
πŸ”„ Rename dt_power_plasma to p_plasma_dt_mw for consistency across var…
chris-ashe May 8, 2025
21f8e05
πŸ”„ Rename dd_power to p_dd_total_mw for consistency across variables
chris-ashe May 8, 2025
5749a92
πŸ”„ Rename dhe3_power to p_dhe3_total_mw for consistency across variables
chris-ashe May 8, 2025
36a3685
πŸ”„ Rename fusion_rate_density_total to fusden_total for consistency ac…
chris-ashe May 8, 2025
5209247
πŸ”„ Rename fusion_rate_density_plasma to fusden_plasma for consistency …
chris-ashe May 8, 2025
520f3e6
πŸ”„ Rename alpha_rate_density_total to fusden_alpha_total for consisten…
chris-ashe May 8, 2025
08c439c
πŸ”„ Rename alpha_rate_density_plasma to fusden_plasma_alpha for consist…
chris-ashe May 8, 2025
4ec27b8
πŸ”„ Rename alpha_power_total to p_alpha_total_mw for consistency across…
chris-ashe May 8, 2025
c6ac4b0
πŸ”„ Rename alpha_power_density_total to pden_alpha_total_mw for consist…
chris-ashe May 8, 2025
97a5b99
πŸ”„ Rename alpha_power_plasma to p_plasma_alpha_mw for consistency acro…
chris-ashe May 8, 2025
f0d4e73
πŸ”„ Rename alpha_power_density_plasma to pden_plasma_alpha_mw for consi…
chris-ashe May 8, 2025
a10e439
πŸ”„ Rename alpha_power_beams to p_beam_alpha_mw for consistency across …
chris-ashe May 8, 2025
3c5a27d
πŸ”„ Rename alpha_power_electron_density to f_pden_alpha_electron_mw for…
chris-ashe May 8, 2025
b646e1c
πŸ”„ Rename alpha_power_ions_density to f_pden_alpha_ions_mw for consist…
chris-ashe May 8, 2025
fe580f6
πŸ”„ Rename neutron_power_total to p_neutron_total_mw for consistency ac…
chris-ashe May 8, 2025
de6b74c
πŸ”„ Rename neutron_power_density_total to pden_neutron_total_mw for con…
chris-ashe May 8, 2025
b2a316a
πŸ”„ Rename neutron_power_plasma to p_plasma_neutron_mw for consistency …
chris-ashe May 8, 2025
0edf8ad
πŸ”„ Rename neutron_power_density_plasma to pden_plasma_neutron_mw for c…
chris-ashe May 8, 2025
43d31a1
πŸ”„ Rename neutron_power_beams to p_beam_neutron_mw for consistency acr…
chris-ashe May 8, 2025
eff6001
πŸ”„ Rename non_alpha_charged_power to p_non_alpha_charged_mw for consis…
chris-ashe May 8, 2025
03ffbb3
πŸ”„ Rename charged_particle_power to p_charged_particle_mw for consiste…
chris-ashe May 8, 2025
e4afc65
πŸ”„ Rename total_power_deposited_in_plasma to p_plasma_heating_total_mw…
chris-ashe May 8, 2025
693a19a
πŸ”„ Rename powfmax to p_fusion_total_max_mw
chris-ashe May 9, 2025
1dc2706
πŸ”„ Rename ffuspow to fp_fusion_total_max_mw
chris-ashe May 9, 2025
53a7e5f
πŸ”„ Rename charged_power_density to pden_charged_particle_mw
chris-ashe May 9, 2025
17d9a51
:bug: Fix energy fraction of power from beam to total dt energy
chris-ashe May 9, 2025
30717b3
:sparkle: Add p_beam_neutron_mw variable for neutron power from hot n…
chris-ashe May 9, 2025
7ab0f3a
:bug: Make p_beam_neutron calculation use proper ratios
chris-ashe May 9, 2025
bd7287a
Update test files with new variables
chris-ashe May 9, 2025
5427881
:memo: update output with new variables
chris-ashe May 9, 2025
e0ab864
:bug: Rename pden_charged_particle_mw to pden_non_alpha_charged_mw ac…
chris-ashe May 9, 2025
888c970
:memo: Add new obsolete variable mappings for fusion power in obsolet…
chris-ashe May 9, 2025
5bd4fe7
Remove redundant statement about alpha power coupling in plasma heating
chris-ashe May 9, 2025
0bc8b5a
Rename powfmax to p_fusion_total_max_mw for clarity in fusion power l…
chris-ashe May 13, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 9 additions & 9 deletions documentation/proc-pages/development/add-vars.md
Original file line number Diff line number Diff line change
Expand Up @@ -242,20 +242,20 @@ Constraint equations are added to *PROCESS* in the following way:
!! residual error in physical units; output string; units string
!! Equation for fusion power upper limit
!! #=# physics
!! #=#=# ffuspow, powfmax
!! #=#=# fp_fusion_total_max_mw, p_fusion_total_max_mw
!! and hence also optional here.
!! Logic change during pre-factoring: err, symbol, units will be assigned only if present.
!! ffuspow : input real : f-value for maximum fusion power
!! powfmax : input real : maximum fusion power (MW)
!! fusion_power : input real : fusion power (MW)
use constraint_variables, only: ffuspow, powfmax
use physics_variables, only: fusion_power
!! fp_fusion_total_max_mw : input real : f-value for maximum fusion power
!! p_fusion_total_max_mw : input real : maximum fusion power (MW)
!! p_fusion_total_mw : input real : fusion power (MW)
use constraint_variables, only: fp_fusion_total_max_mw, p_fusion_total_max_mw
use physics_variables, only: p_fusion_total_mw
implicit none
type (constraint_args_type), intent(out) :: args

args%cc = 1.0D0 - ffuspow * powfmax/fusion_power
args%con = powfmax * (1.0D0 - args%cc)
args%err = fusion_power * args%cc
args%cc = 1.0D0 - fp_fusion_total_max_mw * p_fusion_total_max_mw/p_fusion_total_mw
args%con = p_fusion_total_max_mw * (1.0D0 - args%cc)
args%err = p_fusion_total_mw * args%cc
args%symbol = '<'
args%units = 'MW'

Expand Down
21 changes: 19 additions & 2 deletions documentation/proc-pages/development/standards.md
Original file line number Diff line number Diff line change
Expand Up @@ -385,6 +385,23 @@ The above is concurrent with that of general efficiencies given [below](#efficie

--------------


##### Fusion rates

- Fusion rates should start with the `fusrat_` prefix.

This should be used for units of reactions per second.

---------------------

##### Fusion rate densities

- Fusion rate densities should start with the `fusden_` prefix.

This should be used for units of reactions per cubic metre, per second ($\text{reactions} \ \text{m}^{-3}\text{s}^{-1}$).

---------------------

##### Variables representing fractions

If a variable is intended to demonstrate a fraction of a value or distribution etc. Then it should start with the `f_` prefix.
Expand Down Expand Up @@ -432,15 +449,15 @@ Inside PROCESS all variables should be in SI units unless otherwise stated. For

```fortran
! Fusion power [W]
fusion_power = 1000.0d6
p_fusion_total = 1000.0d6
```

If a variable is not in SI units then its units should be put at the end of of the variable name.
Example:

```fortran
! Fusion power [MW]
fusion_power_MW = 1000.0d0
p_fusion_total_mw = 1000.0d0
```

!!! note
Expand Down
6 changes: 3 additions & 3 deletions documentation/proc-pages/physics-models/error.txt
Original file line number Diff line number Diff line change
Expand Up @@ -994,18 +994,18 @@ is derived directly from the energy confinement scaling law.
\texttt{i_rad_loss\ =\ 0} -- Total power lost is scaling power plus
radiation

\texttt{pscaling\ +\ pden_plasma_rad_mw\ =\ f_alpha_plasma*alpha_power_density\ +\ charged_power_density\ +\ pden_plasma_ohmic_mw\ +\ p_hcd_injected_total_mw/vol_plasma}
\texttt{pscaling\ +\ pden_plasma_rad_mw\ =\ f_alpha_plasma*alpha_power_density\ +\ pden_non_alpha_charged_mw\ +\ pden_plasma_ohmic_mw\ +\ p_hcd_injected_total_mw/vol_plasma}

\texttt{i_rad_loss\ =\ 1} -- Total power lost is scaling power plus core
radiation only

\texttt{pscaling\ +\ pden_plasma_core_rad_mw\ =\ f_alpha_plasma*alpha_power_density\ +\ charged_power_density\ +\ pden_plasma_ohmic_mw\ +\ p_hcd_injected_total_mw/vol_plasma}
\texttt{pscaling\ +\ pden_plasma_core_rad_mw\ =\ f_alpha_plasma*alpha_power_density\ +\ pden_non_alpha_charged_mw\ +\ pden_plasma_ohmic_mw\ +\ p_hcd_injected_total_mw/vol_plasma}

\texttt{i_rad_loss\ =\ 2} -- Total power lost is scaling power only, with
no additional allowance for radiation. This is not recommended for power
plant models.

\texttt{pscaling\ =\ f_alpha_plasma*alpha_power_density\ +\ charged_power_density\ +\ pden_plasma_ohmic_mw\ +\ p_hcd_injected_total_mw/vol_plasma}
\texttt{pscaling\ =\ f_alpha_plasma*alpha_power_density\ +\ pden_non_alpha_charged_mw\ +\ pden_plasma_ohmic_mw\ +\ p_hcd_injected_total_mw/vol_plasma}

\subsection{Plasma Core Power Balance}\label{plasma-core-power-balance}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ $$
Roughly 20% of the energy produced is given to the alpha particles (\(^4\)He). The remaining 80% is carried
away by the neutrons, which deposit their energy within the blanket and shield and other reactor components.
The fraction of the alpha energy deposited in the plasma is [`f_alpha_plasma`](#coupled-alpha-particle-power).
**`PROCESS` only assumes the alpha power produced is coupled to and self heats the plasma, other charged particles do not.**


PROCESS can also model D-\(^3\)He power plants, which utilise the following
primary fusion reaction:
Expand Down Expand Up @@ -79,12 +79,12 @@ Initialize the FusionReactionRate class with the given plasma profile.

#### Attributes:
- `plasma_profile (PlasmaProfile)`: The parameterized temperature and density profiles of the plasma.
- `sigmav_dt_average (float)`: Average fusion reaction rate $<\sigma v>$ for D-T.
- `sigmav_dt_average (float)`: Average fusion reaction rate $\langle \sigma v \rangle$ for D-T.
- `dhe3_power_density (float)`: Fusion power density produced by the D-3He reaction.
- `dd_power_density (float)`: Fusion power density produced by the D-D reactions.
- `dt_power_density (float)`: Fusion power density produced by the D-T reaction.
- `alpha_power_density (float)`: Power density of alpha particles produced.
- `charged_power_density (float)`: Power density of charged particles produced.
- `pden_non_alpha_charged_mw (float)`: Power density of charged particles produced.
- `neutron_power_density (float)`: Power density of neutrons produced.
- `fusion_rate_density (float)`: Fusion reaction rate density.
- `alpha_rate_density (float)`: Alpha particle production rate density.
Expand Down Expand Up @@ -137,7 +137,7 @@ The method updates the following attributes:
- `self.sigmav_dt_average`: Average fusion reaction rate `<sigma v>` for D-T.
- `self.dt_power_density`: Fusion power density produced by the D-T reaction.
- `self.alpha_power_density`: Power density of alpha particles produced.
- `self.charged_power_density`: Power density of charged particles produced.
- `self.pden_non_alpha_charged_mw`: Power density of charged particles produced.
- `self.neutron_power_density`: Power density of neutrons produced.
- `self.fusion_rate_density`: Fusion reaction rate density.
- `self.alpha_rate_density`: Alpha particle production rate density.
Expand Down Expand Up @@ -180,11 +180,11 @@ It updates the instance attributes for the cumulative power densities and reacti
This method sets the required physics variables in the `physics_variables` and `physics_module` modules. It updates the global physics variables and module variables with the current instance's fusion power densities and reaction rates.

#### Updates:
- `physics_variables.alpha_power_density_plasma`: Updated with `self.alpha_power_density`
- `physics_variables.charged_power_density`: Updated with `self.charged_power_density`
- `physics_variables.neutron_power_density_plasma`: Updated with `self.neutron_power_density`
- `physics_variables.fusion_rate_density_plasma`: Updated with `self.fusion_rate_density`
- `physics_variables.alpha_rate_density_plasma`: Updated with `self.alpha_rate_density`
- `physics_variables.pden_plasma_alpha_mw`: Updated with `self.alpha_power_density`
- `physics_variables.pden_non_alpha_charged_mw`: Updated with `self.pden_non_alpha_charged_mw`
- `physics_variables.pden_plasma_neutron_mw`: Updated with `self.neutron_power_density`
- `physics_variables.fusden_plasma`: Updated with `self.fusion_rate_density`
- `physics_variables.fusden_plasma_alpha`: Updated with `self.alpha_rate_density`
- `physics_variables.proton_rate_density`: Updated with `self.proton_rate_density`
- `physics_module.sigmav_dt_average`: Updated with `self.sigmav_dt_average`
- `physics_module.dt_power_density_plasma`: Updated with `self.dt_power_density`
Expand All @@ -202,8 +202,6 @@ This method sets the required physics variables in the `physics_variables` and `

The fraction of alpha particle power produced by the plasma that gets coupled to the plasma for internal heating can be set in `PROCESS` with the `f_alpha_plasma` input variable. By default it is set to 95% or 0.95 as is the assumed ITER default.[^2]

**`PROCESS` only assumes the alpha power produced is coupled to and self heats the plasma, other charged particles do not.**

-----------------------------

## Key Constraints
Expand All @@ -224,7 +222,7 @@ If the plasma is classed as ignited then the injected heating power density is n

This constraint can be activated by stating `icc = 9` in the input file.

The value of `powfmax` can be set to the desired maximum fusion power. The scaling value `ffuspow` can be varied also.
The value of `p_fusion_total_max_mw` can be set to the desired maximum fusion power. The scaling value `fp_fusion_total_max_mw` can be varied also.

---------------------------------

Expand Down
18 changes: 9 additions & 9 deletions examples/data/csv_output_large_tokamak_MFILE.DAT
Original file line number Diff line number Diff line change
Expand Up @@ -415,15 +415,15 @@
Greenwald_model_________________________________________________________ (dlimit(7))___________________ 7.4748E+19 OP
Deuterium_fuel_fraction_________________________________________________ (fdeut)_______________________ 5.0000E-01
Tritium_fuel_fraction___________________________________________________ (ftrit)_______________________ 5.0000E-01
Total_fusion_power_(MW)_________________________________________________ (powfmw)______________________ 1.5926E+03 OP
Total_fusion_power_(MW)_________________________________________________ (p_fusion_total_mw)______________________ 1.5926E+03 OP
_=____D-T_fusion_power_(MW)_____________________________________________ (pdt)_________________________ 1.5907E+03 OP
__+___D-D_fusion_power_(MW)_____________________________________________ (pdd)_________________________ 1.8966E+00 OP
__+_D-He3_fusion_power_(MW)_____________________________________________ (pdhe3)_______________________ 0.0000E+00 OP
Alpha_power:_total_(MW)_________________________________________________ (palpmw)______________________ 3.1815E+02 OP
Alpha_power:_beam-plasma_(MW)___________________________________________ (palpnb)______________________ 0.0000E+00 OP
Neutron_power_(MW)______________________________________________________ (pneutmw)_____________________ 1.2733E+03 OP
Charged_particle_power_(excluding_alphas)_(MW)__________________________ (pchargemw)___________________ 1.2322E+00 OP
Total_power_deposited_in_plasma_(MW)____________________________________ (tot_power_plasma)____________ 3.7935E+02 OP
Total_power_deposited_in_plasma_(MW)____________________________________ (p_plasma_heating_total_mw)____________ 3.7935E+02 OP
Bremsstrahlung_radiation_power_(MW)_____________________________________ (pbrempv*vol)_________________ 6.4356E+01 OP
Line_radiation_power_(MW)_______________________________________________ (plinepv*vol)_________________ 1.4715E+02 OP
Synchrotron_radiation_power_(MW)________________________________________ (p_plasma_sync_mw)_________________ 1.2665E+01 OP
Expand Down Expand Up @@ -941,7 +941,7 @@
Blanket_line_density_(tonne/m2)_________________________________________ (x_blanket)___________________ 2.2911E+00
Unit_nuclear_heating_in_TF_coil_(W/GW)__________________________________ (tfc_nuc_heating)_____________ 1.3678E+04
Total_nuclear_heating_in_TF_coil_(MW)___________________________________ (ptfnuc.)_____________________ 2.1784E-02
powfmw__________________________________________________________________ (powfmw.)_____________________ 1.5926E+03
powfmw__________________________________________________________________ (p_fusion_total_mw.)_____________________ 1.5926E+03
total_mass_of_the_TF_coils_(kg)_________________________________________ (m_tf_coils_total)_______________________ 1.0511E+07
# Pumping for primary coolant (helium) #
Pressure_drop_in_FW_and_blanket_coolant_incl._hx_and_pipes_(Pa)_________ (dp_he)_______________________ 5.5000E+05
Expand Down Expand Up @@ -1144,7 +1144,7 @@
Ohmic_heating_(MW)______________________________________________________ (p_plasma_ohmic_mw.)_____________________ 6.6172E-01
Injected_power_deposited_in_plasma_(MW)_________________________________ (p_hcd_injected_total_mw)______________________ 7.5213E+01
Total_(MW)______________________________________________________________ ______________________________ 3.7935E+02
Fusion_power_(MW)_______________________________________________________ (powfmw)______________________ 1.5926E+03
Fusion_power_(MW)_______________________________________________________ (p_fusion_total_mw)______________________ 1.5926E+03
Power_from_energy_multiplication_in_blanket_and_shield_(MW)_____________ (emultmw)_____________________ 3.0312E+02
Injected_power_(MW)_____________________________________________________ (p_hcd_injected_total_mw.)_____________________ 7.5213E+01
Ohmic_power_(MW)________________________________________________________ (p_plasma_ohmic_mw.)_____________________ 6.6172E-01
Expand All @@ -1169,15 +1169,15 @@
Total_(MW)______________________________________________________________ (tot_plant_power)_____________ 8.5391E+02
Total_(MW)______________________________________________________________ ______________________________ 8.5391E+02
Gross_electrical_output*_(MW)___________________________________________ (pgrossmw)____________________ 8.5391E+02
Fusion_power_(MW)_______________________________________________________ (powfmw)______________________ 1.5926E+03
Fusion_power_(MW)_______________________________________________________ (p_fusion_total_mw)______________________ 1.5926E+03
Power_from_energy_multiplication_in_blanket_and_shield_(MW)_____________ (emultmw)_____________________ 3.0312E+02
Total_(MW)______________________________________________________________ ______________________________ 1.8958E+03
Net_electrical_output_(MW) _____________________________________________ (pnetelmw)____________________ 4.0000E+02
Heat_rejected_by_main_power_conversion_circuit_(MW)_____________________ (rejected_main)_______________ 1.2809E+03
Heat_rejected_by_other_cooling_circuits_(MW)____________________________ (psechtmw)____________________ 2.1566E+02
Total_(MW)______________________________________________________________ ______________________________ 1.8965E+03
Net_electric_power_/_total_nuclear_power_(%)____________________________ (pnetelmw/(powfmw+emultmw)____ 2.1100E+01
Net_electric_power_/_total_fusion_power_(%)_____________________________ (pnetelmw/powfmw)_____________ 2.5116E+01
Net_electric_power_/_total_nuclear_power_(%)____________________________ (pnetelmw/(p_fusion_total_mw+emultmw)____ 2.1100E+01
Net_electric_power_/_total_fusion_power_(%)_____________________________ (pnetelmw/p_fusion_total_mw)_____________ 2.5116E+01
Gross_electric_power*_/_high_grade_heat_(%)_____________________________ (etath)_______________________ 4.0000E+01
Recirculating_power_fraction____________________________________________ (cirpowfr)____________________ 5.3156E-01
# Water usage during plant operation (secondary cooling) #
Expand Down Expand Up @@ -1249,9 +1249,9 @@ walalw = 2.0
*--------------------------*

icc = 9
ixc = 26 * ffuspow
ixc = 26 * fp_fusion_total_max_mw
* Maximum allowable value fusion power [MW]
powfmax = 3000
p_fusion_total_max_mw = 3000

* Burn time lower limit *
*-----------------------*
Expand Down
Loading
Loading