Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
61 commits
Select commit Hold shift + click to select a range
8e458fe
🔄 Rename nbshinemw to p_beam_shine_through_mw for clarity and consist…
chris-ashe Apr 2, 2025
d4f582e
🔄 Rename pnbitot to p_beam_injected for clarity and consistency
chris-ashe Apr 2, 2025
32f4b8f
🔄 Rename forbitloss to f_p_beam_orbit_loss for clarity and consistency
chris-ashe Apr 2, 2025
e642cc9
🔄 Rename iefrf to i_hcd_primary for clarity and consistency
chris-ashe Apr 2, 2025
9dd3746
🔄 Rename iefrffix to i_hcd_secondary for clarity and consistency
chris-ashe Apr 2, 2025
999bf82
🔄 Rename nbshinef to f_p_beam_shine_through for clarity and consistency
chris-ashe Apr 2, 2025
4866056
🔄 Rename nbshinefmax to f_p_beam_shine_through_max for clarity and co…
chris-ashe Apr 2, 2025
38a787b
🔄 Rename porbitlossmw to p_beam_orbit_loss for clarity and consistency
chris-ashe Apr 2, 2025
f162013
🔄 Rename nbshield to dx_beam_shield for clarity and consistency
chris-ashe Apr 2, 2025
a4dcdf8
🔄 Rename pinjalw to p_hcd_injected_max for clarity and consistency
chris-ashe Apr 2, 2025
4dedf6e
🔄 Rename etanbi to eta_beam_injector_wall_plug for clarity and consis…
chris-ashe Apr 2, 2025
914f212
🔄 Rename etalh to eta_lowhyb_injector_wall_plug for clarity and consi…
chris-ashe Apr 2, 2025
2f70f0d
🔄 Rename etaech to eta_ecrh_injector_wall_plug for clarity and consis…
chris-ashe Apr 2, 2025
475fa30
🔄 Rename fpion to f_p_beam_injected_ions for clarity and consistency
chris-ashe Apr 2, 2025
e2487a8
🔄 Rename pinjmw to p_hcd_injected_total_mw for clarity and consistency
chris-ashe Apr 2, 2025
ee645f2
🔄 Rename taubeam to n_beam_decay_lengths_core for clarity and consist…
chris-ashe Apr 2, 2025
9bd1252
🔄 Rename ps_current_fraction to f_c_plasma_pfirsch_schluter for clari…
chris-ashe Apr 2, 2025
74add7e
🔄 Rename bscf_iter89 to f_c_plasma_bootstrap_iter89 for clarity and c…
chris-ashe Apr 3, 2025
69bbea7
🔄 Rename bscf_nevins to f_c_plasma_bootstrap_nevins for clarity and c…
chris-ashe Apr 3, 2025
9f4b7b4
🔄 Rename bscf_sauter to f_c_plasma_bootstrap_sauter for clarity and c…
chris-ashe Apr 3, 2025
86a1fe5
🔄 Rename bscf_wilson to f_c_plasma_bootstrap_wilson for clarity and c…
chris-ashe Apr 3, 2025
dd0187d
🔄 Rename bscf_aries to f_c_plasma_bootstrap_aries for clarity and con…
chris-ashe Apr 3, 2025
97851fb
🔄 Rename bscf_sakai to f_c_plasma_bootstrap_sakai for clarity and con…
chris-ashe Apr 3, 2025
9d1c9cc
🔄 Rename bscf_andrade to f_c_plasma_bootstrap_andrade for clarity and…
chris-ashe Apr 3, 2025
615670c
🔄 Rename bscf_hoang to f_c_plasma_bootstrap_hoang for clarity and con…
chris-ashe Apr 3, 2025
c47b930
🔄 Rename bscf_wong to f_c_plasma_bootstrap_wong for clarity and consi…
chris-ashe Apr 3, 2025
b884dc7
🔄 Rename bootstrap_current_fraction_max to f_c_plasma_bootstrap_max f…
chris-ashe Apr 3, 2025
d678f9c
🔄 Rename bootstrap_current_fraction to f_c_plasma_bootstrap for clari…
chris-ashe Apr 3, 2025
6364ea0
🔄 Rename beam_current to c_beam_total for clarity and consistency
chris-ashe Apr 3, 2025
4d0702a
🔄 Rename diacf_hender to f_c_plasma_diamagnetic_hender for clarity an…
chris-ashe Apr 3, 2025
acd117e
🔄 Rename diamagnetic_current_fraction to f_c_plasma_diamagnetic for c…
chris-ashe Apr 3, 2025
303ba3e
🔄 Rename diacf_scene to f_c_plasma_diamagnetic_scene for clarity and …
chris-ashe Apr 3, 2025
3913684
🔄 Rename beam_energy to e_beam_kev for clarity and consistency
chris-ashe Apr 3, 2025
baab586
🔄 Rename wave_mode to i_ecrh_wave_mode for clarity and consistency
chris-ashe Apr 3, 2025
01c5ec3
🔄 Rename f_tritium_beam to f_beam_tritium for clarity and consistency
chris-ashe Apr 3, 2025
a3dedc4
:memo: Update standards documentation to include current drive effici…
chris-ashe Apr 3, 2025
68391e2
🔄 Rename gamma_ecrh to eta_cd_norm_ecrh for clarity and consistency
chris-ashe Apr 3, 2025
ca1b634
✨ 🐛create new eta_cd_norm_hcd_secondary variable for secondary system…
chris-ashe Apr 3, 2025
2fb1764
🔄 Rename gamcd to eta_cd_norm_hcd_primary for clarity and consistency…
chris-ashe Apr 3, 2025
9caf0c1
🔄 Rename effcd to eta_cd_hcd_primary for clarity and consistency in c…
chris-ashe Apr 3, 2025
ea1994d
🔄 Rename effcdfix to eta_cd_hcd_secondary for clarity and consistency…
chris-ashe Apr 3, 2025
f29ca5a
🔄 Rename harnum to n_ecrh_harmonic for clarity and consistency in cur…
chris-ashe Apr 4, 2025
3416db4
🔄 Rename pinjfixmw to p_hcd_secondary_injected_mw for clarity and con…
chris-ashe Apr 4, 2025
4c78f74
🔄 Rename plasma_current_internal_fraction to f_c_plasma_internal for …
chris-ashe Apr 4, 2025
3c9927d
🔄 Rename p_beam_injected to p_beam_injected_mw for clarity and consis…
chris-ashe Apr 4, 2025
61e55fe
🔄 Rename p_beam_orbit_loss to p_beam_orbit_loss_mw for clarity and co…
chris-ashe Apr 4, 2025
600c6f8
🔄 Update calculation of tmp_cc for consistency in beam shine through …
chris-ashe Apr 4, 2025
2e34284
🔄 Rename irfcd to i_hcd_calculations for clarity and consistency in c…
chris-ashe Apr 4, 2025
94b3771
🔄 Rename echpwr to p_ecrh_injected_mw for clarity and consistency in …
chris-ashe Apr 4, 2025
a3d5283
🔄 Rename etacd to eta_hcd_primary_injector_wall_plug
chris-ashe Apr 4, 2025
2341a13
🔄 Rename etacdfix to eta_hcd_secondary_injector_wall_plug for clarity…
chris-ashe Apr 4, 2025
8d18798
🔄 Rename pscf_scene to f_c_plasma_pfirsch_schluter_scene for clarity …
chris-ashe Apr 4, 2025
e11385e
🔄 Rename pinjemw to p_hcd_injected_electrons_mw for clarity and consi…
chris-ashe Apr 4, 2025
16459b8
🔄 Rename pinjimw to p_hcd_injected_ions_mw for clarity and consistenc…
chris-ashe Apr 4, 2025
38f1e1c
🔄 Rename pheat to p_hcd_primary_extra_heat_mw for clarity and consist…
chris-ashe Apr 4, 2025
90429b8
🔄 Rename pheatfix to p_hcd_secondary_extra_heat_mw for clarity and co…
chris-ashe Apr 4, 2025
0306dca
🔄 Update obsolete_vars.py to include new variable mappings for clarit…
chris-ashe Apr 9, 2025
260de8a
🔄 Refactor current_drive.py variable names for clarity and consistenc…
chris-ashe Apr 9, 2025
464291e
Update variables to new iteration python file
chris-ashe Apr 10, 2025
ee8af04
🔄 Fix typos and update variable descriptions for clarity in documenta…
chris-ashe Apr 10, 2025
5441437
🔄 Rename current drive variables for clarity and consistency in large…
chris-ashe Apr 10, 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
22 changes: 22 additions & 0 deletions documentation/proc-pages/development/standards.md
Original file line number Diff line number Diff line change
Expand Up @@ -365,10 +365,32 @@ The unit declaration `_fpy` can be used to specify that it is the full-power yea

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

##### Current drive efficiencies

Absolute current drive efficiencies ($\eta_{\text{CD}}$) representing Amps driven per Watt of injected power start with the `eta_cd` prefix.

$$
\eta_{\text{CD}} = \frac{I_{\text{driven}}}{P_{\text{injected}}}
$$

Normalized current drive efficiecnies using major radius and volume averaged electron temperature start with the `eta_cd_norm` prefix

Comment thread
chris-ashe marked this conversation as resolved.
$$
\eta_{\text{CD,norm}} = R_0 n_{\text{e,20}} \eta_{\text{CD}}
$$

$\eta_{\text{CD,norm}}$ has the units of $\frac{1\times 10^{20} \text{A}}{\text{W} \text{m}^2}$

The above is concurrent with that of general efficiencies given [below](#efficiencies).

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

##### 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.

###### Efficiencies

Similar to this is variables representing efficiencies.

If a variable is intended to represent an engineering efficiency then it should start with the `eta_` prefix to represent $\eta$
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Culham Neutral Beam Model | `culnbi()`

- `iefrf/iefrffix` = 8
- `i_hcd_primary/i_hcd_secondary` = 8



Expand All @@ -12,7 +12,7 @@ from that of ITER (approx. 2.8).
| Output | Description |
|----------|-------------|
| $\mathtt{effnbss}$ | Neutral beam current drive efficiency in Amperes per Watt |
| $\mathtt{fpion}$ | Fraction of NB power given to ions |
| $\mathtt{f_p_beam_injected_ions}$ | Fraction of NB power given to ions |
| $\mathtt{fshine}$ | Shine-through fraction of the beam |

$$
Expand All @@ -37,7 +37,7 @@ Beams topping cross section is calculated via $\mathtt{sigbeam}$ found [here](..
Calculate number of decay lengths to centre

$$
\mathtt{taubeam} = \mathtt{dpath} \times n_{\text{e,0}} \times \mathtt{sigstop}
\mathtt{n_beam_decay_lengths_core} = \mathtt{dpath} \times n_{\text{e,0}} \times \mathtt{sigstop}
$$

Calculate the shine through fraction of the beam
Expand All @@ -49,14 +49,14 @@ $$
Deuterium and tritium beam densities

$$
\mathtt{dend} = n_{\text{ion}} \times (1-\mathtt{f_tritium_beam})
\mathtt{dend} = n_{\text{ion}} \times (1-\mathtt{f_beam_tritium})
$$

$$
\mathtt{dent} = n_{\text{ion}} \times \mathtt{f_tritium_beam}
\mathtt{dent} = n_{\text{ion}} \times \mathtt{f_beam_tritium}
$$

Power split to the ions and electrons is clauclated with the $\mathtt{cfnbi()}$ method found [here](../NBI/nbi_overview.md/#ion-coupled-power-cfnbi) and outputs $\mathtt{fpion}$
Power split to the ions and electrons is calculated with the $\mathtt{cfnbi()}$ method found [here](../NBI/nbi_overview.md/#ion-coupled-power-cfnbi) and outputs $\mathtt{f_p_beam_injected_ions}$

## Current drive efficiency | `etanb2()`

Expand All @@ -72,7 +72,7 @@ plus correction terms outlined in Culham Report AEA FUS 172.
| $\mathtt{aspect}$, $A$ | aspect ratio |
| $\mathtt{dene}$, $n_{\text{e}}$ | volume averaged electron density $(\text{m}^{-3})$ |
| $\mathtt{dnla}$, $n_{\text{e,0}}$ | line averaged electron density $(\text{m}^{-3})$ |
| $\mathtt{beam_energy}$ | neutral beam energy $(\text{keV})$ |
| $\mathtt{e_beam_kev}$ | neutral beam energy $(\text{keV})$ |
| $\mathtt{frbeam}$ | R_tangent / R_major for neutral beam injection |
| $\mathtt{fshine}$ | shine-through fraction of beam |
| $\mathtt{rmajor}$, $R$ | plasma major radius $(\text{m})$ |
Expand Down Expand Up @@ -114,7 +114,7 @@ $$
Beam energy in MeV

$$
\mathtt{ebmev} = \frac{\mathtt{beam_energy}}{10^3}
\mathtt{ebmev} = \frac{\mathtt{e_beam_kev}}{10^3}
$$

x and y coefficients of function J0(x,y) (IPDG89)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
# ITER Neutral Beam Model | `iternb()`

- `iefrf/iefrffix` = 5
- `i_hcd_primary/i_hcd_secondary` = 5

| Output | Description |
|----------|-------------|
| $\mathtt{effnbss}$ | Neutral beam current drive efficiency in $\text{A/W}$ |
| $\mathtt{fpion}$ | Fraction of NB power given to ions |
| $\mathtt{f_p_beam_injected_ions}$ | Fraction of NB power given to ions |
| $\mathtt{fshine}$ | Shine-through fraction of the beam |

This model calculates the current drive parameters for a neutral beam system, based on the 1990 ITER model.[^1]
Expand Down Expand Up @@ -39,11 +39,11 @@ $$

Deuterium and tritium beam densities:
$$
n_D = n_i * (1.0 - \mathtt{f_tritium_beam})
n_D = n_i * (1.0 - \mathtt{f_beam_tritium})
$$

$$
n_T = n_i * \mathtt{f_tritium_beam}
n_T = n_i * \mathtt{f_beam_tritium}
$$

Power split to ions / electrons is calculated via the the `cfnbi` method described [here](nbi_overview.md)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

## Neutral beam access

If present, a neutral beam injection system needs sufficient space between the TF coils to be able to intercept the plasma tangentially. The major radius `rtanbeam` at which the centre-line of the beam is tangential to the toroidal direction is user-defined using input parameter `frbeam`, which is the ratio of `rtanbeam` to the plasma major radius `rmajor`. The maximum possible tangency radius `rtanmax` is determined by the geometry of the TF coils - see Figure 1, and this can be enforced using constraint equation no. 20 with iteration variable no. 33 (`fportsz`). The thickness of the beam duct walls may be set using input parameter `nbshield`.
If present, a neutral beam injection system needs sufficient space between the TF coils to be able to intercept the plasma tangentially. The major radius `rtanbeam` at which the centre-line of the beam is tangential to the toroidal direction is user-defined using input parameter `frbeam`, which is the ratio of `rtanbeam` to the plasma major radius `rmajor`. The maximum possible tangency radius `rtanmax` is determined by the geometry of the TF coils - see Figure 1, and this can be enforced using constraint equation no. 20 with iteration variable no. 33 (`fportsz`). The thickness of the beam duct walls may be set using input parameter `dx_beam_shield`.

<figure markdown>
![NBI Port Size](../images/portsize.png){ width = "300"}
Expand All @@ -14,12 +14,12 @@ If present, a neutral beam injection system needs sufficient space between the T

## Neutral beam losses

Input parameter `forbitloss` can be used to specify the fraction of the net injected neutral beam power that is lost between the beam particles' ionisation and thermalisation (known as the first orbit loss). This quantity cannot easily be calculated as it depends on the field ripple and other three-dimensional effects. The power lost is assumed to be absorbed by the first wall.
Input parameter `f_p_beam_orbit_loss` can be used to specify the fraction of the net injected neutral beam power that is lost between the beam particles' ionisation and thermalisation (known as the first orbit loss). This quantity cannot easily be calculated as it depends on the field ripple and other three-dimensional effects. The power lost is assumed to be absorbed by the first wall.

The power in the beam atoms that are not ionised as they pass through the plasma (shine-through) is calculated by the code. There are two constraint equations that can be used to control the beam penetration and deposition, as follows:

- It is necessary to use a beam energy that simultaneously gives adequate penetration of the beam to the centre of the plasma and tolerable shine-through of the beam on the wall after the beam has traversed the plasma. The number of exponential decay lengths, $\tau$, for the beam power to fall before it reaches the plasma centre should be in the region of ~ 4-6[^2],. Constraint equation no. 14 may be used to force $\tau$ to be equal to the value given by input parameter `tbeamin`, and is therefore in effect a beam energy consistency equation.
- Alternatively, constraint equation no. 59 with iteration variable no. 105 (`fnbshineef`) may be used to ensure that the beam power fraction emerging from the plasma is no more than the value given by input parameter `nbshinefmax`.
- Alternatively, constraint equation no. 59 with iteration variable no. 105 (`fnbshineef`) may be used to ensure that the beam power fraction emerging from the plasma is no more than the value given by input parameter `f_p_beam_shine_through_max`.

It is recommended that <b>only one</b> of these two constraint equations is used during a run.

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Culham Electron Cyclotron Model | `culecd()`

- `iefrf/iefrffix` = 7
- `i_hcd_primary/i_hcd_secondary` = 7

This routine calculates the current drive parameters for a electron cyclotron system, based on the AEA FUS 172 model[^1]

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Culham Lower Hybrid | `cullhy()`

- `iefrf/iefrffix` = 6
- `i_hcd_primary/i_hcd_secondary` = 6

This routine calculates the current drive parameters for a
lower hybrid system, based on the AEA FUS 172 model.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# ECRH with Cutoff

- `iefrf/iefrffix` = 13
- `i_hcd_primary/i_hcd_secondary` = 13

| Input | Description |
|-------|-------------|
Expand All @@ -9,7 +9,7 @@
| `rmajor`, $R_0$ | Major radius $\left[\text{m}\right]$ |
| `bt`, $B_{\text{T}}$ | Toroidal magnetic field $\left[\text{T}\right]$ |
| `zeff`, $Z_{\text{eff}}$ | Effective charge |
| `harnum` | Harmonic number |
| `n_ecrh_harmonic` | Harmonic number |
| `mode` | RF mode |

----
Expand Down Expand Up @@ -43,14 +43,14 @@ $$
For the X-mode case:

$$
\mathtt{f_{cutoff}} = 0.5\left(\mathtt{fc}+\sqrt{\mathtt{harnum}\times\mathtt{fc}^2+4\mathtt{fp}^2}\right)
\mathtt{f_{cutoff}} = 0.5\left(\mathtt{fc}+\sqrt{\mathtt{n_ecrh_harmonic}\times\mathtt{fc}^2+4\mathtt{fp}^2}\right)
$$

Plasma coupling only occurs if the plasma cut-off is below the cyclotron harmonic
(a = 0.1). This controls how sharply the transition is reached

$$
\mathtt{cutoff_{factor}} = 0.5\left(1+\tanh\left({\left(\frac{2}{a}\right)((\mathtt{harnum}\times \mathtt{fc} -\mathtt{f_cutoff})/\mathtt{fp -a })}\right)\right)
\mathtt{cutoff_{factor}} = 0.5\left(1+\tanh\left({\left(\frac{2}{a}\right)((\mathtt{n_ecrh_harmonic}\times \mathtt{fc} -\mathtt{f_cutoff})/\mathtt{fp -a })}\right)\right)
$$

$$
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ $$

The EBWs can only couple to the plasma if the cyclotron harmonic is above the plasma density cut-off. In order to capture this behaviour, we introduce an ad-hoc model which reduces the plasma current up to this condition, by way of a tanh function:

Where $\mathtt{fp}$ is the plasma frequency, $\mathtt{fc}$ is the cyclotron frequency, $\mathtt{harnum}$ is the harmonic number and $a$ is a free parameter which defines the sharpness of the transition.
Where $\mathtt{fp}$ is the plasma frequency, $\mathtt{fc}$ is the cyclotron frequency, $\mathtt{n_ecrh_harmonic}$ is the harmonic number and $a$ is a free parameter which defines the sharpness of the transition.

The effect of this factor can be seen below:

Expand All @@ -46,7 +46,7 @@ a = 0.1
$$

$$
\mathtt{fc} = \frac{\frac{1}{2\pi}\times \mathtt{harnum} \times e B_{\text{T}}}{m_{\text{e}}}
\mathtt{fc} = \frac{\frac{1}{2\pi}\times \mathtt{n_ecrh_harmonic} \times e B_{\text{T}}}{m_{\text{e}}}
$$

$$
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# ECRH User Input Gamma Model

- `iefrf/iefrffix` = 10
- `i_hcd_primary/i_hcd_secondary` = 10

This model allows the user to input a scaling factor to the current drive efficiency with the variable `gamma_ecrh`. The value of this variable should follow the value and form of the expression below:
This model allows the user to input a scaling factor to the current drive efficiency with the variable `eta_cd_norm_ecrh`. The value of this variable should follow the value and form of the expression below:

$$
\gamma_{CD} = \frac{\langle n_{e,20} \rangle I_{CD}R_0}{P_{CD}}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Ehst Lower Hybrid
- `iefrf/iefrffix` = 4
- `i_hcd_primary/i_hcd_secondary` = 4
$$
\text{Current drive efficiency [A/W]} = \frac{T_{\text{e}}^{0.77} (0.034 + 0.196\beta)}{R_0 n_{\text{e},20}}\frac{\frac{32}{5+Z_{\text{eff}}}+2+\frac{\frac{12\left(6+Z_{\text{eff}}\right)}{5+Z_{\text{eff}}}}{3+Z_{\text{eff}}}+\frac{3.76}{Z_{\text{eff}}}}{12.507}
$$
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Fenstermacher Electron Cyclotron Resonance

- `iefrf/iefrffix` = 3
- `i_hcd_primary/i_hcd_secondary` = 3
$$
\text{Current drive efficiency [A/W]} = \frac{0.21 T_{\langle e,n_{\text{e}} \rangle}}{R_0n_{\text{e,20}}(31.0-(\log{n_{\text{e}}}/2)+(\log{(T_\text{e}}\times1000))}
$$
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Fenstermacher Lower Hybrid

- `iefrf/iefrffix` = 1:
- `i_hcd_primary/i_hcd_secondary` = 1:

$$
\text{Current drive efficiency [A/W]} = 0.36 \frac{(1+(T_{\text{e}}/25)^{1.16})}{R_{0} n_{\text{e},20}}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Ion cyclotron model

- `iefrf/iefrffix` = 2
- `i_hcd_primary/i_hcd_secondary` = 2

$$
\text{Current drive efficiency [A/W]} = \frac{\frac{0.063 T_{\langle \text{e}, n_{\text{e}}\rangle}}{2+Z_{\text{eff}}}}{R_0n_{\text{e,20}}}
Expand Down
Loading
Loading