Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
106 commits
Select commit Hold shift + click to select a range
fd0d5b9
:sparkle: Create new confinement time file and add neo_alcator scaling
chris-ashe Jan 17, 2025
4743cc5
✨Add Merezhkin-Mukhovatov confinement time calculation and update Neo…
chris-ashe Jan 17, 2025
eede9ca
🔄 Rename 'isc' to 'i_confinement_time' for clarity in confinement tim…
chris-ashe Jan 17, 2025
dbe426e
♻️ Make user input confinement time be option zero for i_confinement_…
chris-ashe Jan 17, 2025
3fb1364
✨ Add Mirnov confinement time calculation and integrate into physics …
chris-ashe Jan 20, 2025
4cb0614
✨ Add Shimomura confinement time calculation and integrate into physi…
chris-ashe Jan 20, 2025
ef764c7
✨ Add Kaye-Goldston confinement time calculation and update documenta…
chris-ashe Jan 20, 2025
0ccb327
✨ Add ITER 89-P L-mode confinement time calculation and update docume…
chris-ashe Jan 20, 2025
f92f917
♻️ Update number of energy confinement time scaling laws to 50 and re…
chris-ashe Jan 20, 2025
5112df1
:memo: Add L-H power threshold scalings documentation and integrate i…
chris-ashe Jan 20, 2025
8b845dd
✨ Add ITER 89-O L-mode confinement time calculation and update docume…
chris-ashe Jan 20, 2025
d3b68b5
✨ Add Rebut-Lallia L-mode confinement time calculation and update doc…
chris-ashe Jan 20, 2025
9eae28f
✨ Add Goldston L-mode confinement time calculation and update documen…
chris-ashe Jan 20, 2025
1a0dd4d
✨ Add T-10 L-mode confinement time calculation and update documentation
chris-ashe Jan 20, 2025
bca58c5
✨ Add JAERI / Odajima-Shimomura L-mode confinement time calculation a…
chris-ashe Jan 20, 2025
93b2d53
✨ Add ITER H90-P H-mode confinement time calculation and update docum…
chris-ashe Jan 20, 2025
e761a63
✨ Add Kaye "big" L-mode confinement time calculation and update docum…
chris-ashe Jan 20, 2025
12df20f
🔄 Rename variable 'iradloss' to 'i_rad_loss' for consistency in powe…
chris-ashe Jan 20, 2025
99a27af
✨ Add minimum of ITER 89-P and ITER 89-O confinement time calculation…
chris-ashe Jan 20, 2025
5300b83
✨ Add Riedel L-mode scaling confinement time calculation and update d…
chris-ashe Jan 20, 2025
fb43847
✨ Add Christiansen L-mode scaling confinement time calculation and up…
chris-ashe Jan 20, 2025
65c4a81
✨ Add Lackner-Gottardi L-mode scaling confinement time calculation an…
chris-ashe Jan 20, 2025
00e94d7
✨ Add Neo-Kaye L-mode scaling confinement time calculation and update…
chris-ashe Jan 20, 2025
3756ebb
✨ Add Riedel H-mode scaling confinement time calculation and update d…
chris-ashe Jan 20, 2025
9615aac
✨ Add amended ITER H90-P confinement time calculation and update docu…
chris-ashe Jan 20, 2025
c458421
✨ Add Sudo et al. stellarators/heliotron scaling confinement time cal…
chris-ashe Jan 20, 2025
11e1a68
✨ Add Gyro-reduced Bohm scaling confinement time calculation and upda…
chris-ashe Jan 20, 2025
97809ba
✨ Add Lackner-Gottardi stellarator scaling confinement time calculati…
chris-ashe Jan 20, 2025
5782932
✨ Add ELM-free ITER H-mode scaling confinement time calculation and u…
chris-ashe Jan 21, 2025
05b06c5
✨ Add ELMy ITER H97-P(y) scaling confinement time calculation and upd…
chris-ashe Jan 21, 2025
b0a4dab
✨ Add ITER-96P (ITER-97L) L-mode scaling confinement time calculation…
chris-ashe Jan 21, 2025
ffb5c13
✨ Add IPB98(y) ELMy H-mode scaling confinement time calculation and u…
chris-ashe Jan 22, 2025
8d6a9ee
:arrows_counterclockwise: Rename kappaa_IPB to kappa_ipb for consiste…
chris-ashe Jan 22, 2025
7ce5818
:memo: Add more information about the kappa_ipb change
chris-ashe Jan 22, 2025
04fc954
✨ Add IPB98(y,1) ELMy H-mode scaling confinement time calculation and…
chris-ashe Jan 22, 2025
c599e39
✨ Add IPB98(y,2) ELMy H-mode scaling confinement time calculation and…
chris-ashe Jan 22, 2025
1288b18
✨ Add IPB98(y,3) ELMy H-mode scaling confinement time calculation and…
chris-ashe Jan 22, 2025
480193f
✨ Add IPB98(y,4) ELMy H-mode scaling confinement time calculation and…
chris-ashe Jan 22, 2025
ad50367
✨ Add ISS95 stellarator scaling confinement time calculation and upda…
chris-ashe Jan 22, 2025
8df5886
✨ Add ISS04 stellarator scaling confinement time calculation and upda…
chris-ashe Jan 22, 2025
87d8c7b
✨ Add DS03 beta-independent H-mode scaling confinement time calculati…
chris-ashe Jan 22, 2025
6cc3aac
✨ Add Murari "Non-power law" H-mode scaling confinement time calculat…
chris-ashe Jan 22, 2025
7e2db23
✨ Add Petty H-mode scaling confinement time calculation and update do…
chris-ashe Jan 22, 2025
18fabb7
✨ Add Hubbard I-mode nominal scaling confinement time calculation and…
chris-ashe Jan 22, 2025
cd5b4e7
✨ Add Hubbard I-mode lower scaling confinement time calculation and u…
chris-ashe Jan 22, 2025
aead417
✨ Add Hubbard I-mode upper scaling confinement time calculation and u…
chris-ashe Jan 22, 2025
50427d8
✨ Add Menard NSTX H-mode scaling confinement time calculation and upd…
chris-ashe Jan 22, 2025
f478d93
✨ Add Menard NSTX-Petty08 hybrid confinement time calculation and upd…
chris-ashe Jan 22, 2025
6aba3f4
✨ Add Buxton NSTX gyro-Bohm confinement time calculation and update d…
chris-ashe Jan 23, 2025
bcdb2ec
✨ Add ITPA20 H-mode scaling confinement time calculation and update d…
chris-ashe Jan 23, 2025
a36292f
🔄 Refactor pcond to calculate_confinement_time
chris-ashe Jan 23, 2025
6481673
✨ Add ITER-93 ELM-free H-mode scaling confinement time calculation an…
chris-ashe Jan 23, 2025
c23151f
✅ Fix integration test indexing fail
chris-ashe Jan 23, 2025
07d38d2
:fire: Remove igmarcal function and put functionality into outplas
chris-ashe Jan 23, 2025
2cd4dac
🔄 Rename taup to t_alpha_confinement for clarity and update related d…
chris-ashe Jan 23, 2025
bd936a0
🔄 Rename tauei to t_ion_confinement for clarity and update related re…
chris-ashe Jan 23, 2025
2757504
🔄 Rename tauee to t_electron_confinement for clarity and update relat…
chris-ashe Jan 23, 2025
d17f508
🔄 Rename t_alpha_confinement_taueff to f_alpha_energy_confinement for…
chris-ashe Jan 23, 2025
6496799
🔄 Rename taueff to t_energy_confinement for clarity and update relate…
chris-ashe Jan 23, 2025
ba1502c
🔄 Rename taulimit to f_alpha_energy_confinement_min for clarity and u…
chris-ashe Jan 23, 2025
11798de
:sparkle: Add nTtau variable for Lawson triple product and update rel…
chris-ashe Jan 23, 2025
aa78be3
🔄 Rename dntau to ntau for clarity and update related references
chris-ashe Jan 23, 2025
b5578fe
:memo: Enhance plasma confinement documentation with overview, key co…
chris-ashe Jan 24, 2025
c33c3a7
:warning: Add warning about TITAN Reversed-Field Pinch scaling being …
chris-ashe Jan 28, 2025
00bfcbb
:sparkle: Add Lang high density H-mode scaling and related confinemen…
chris-ashe Jan 29, 2025
addd661
:shirt: Apply new ruff linting rules
chris-ashe Jan 29, 2025
9e18235
:sparkle: Implement Valovic modified ELMy-H mode scaling for confinem…
chris-ashe Jan 29, 2025
0eac1cf
:sparkle: Add Kaye modified L-mode scaling for confinement time calcu…
chris-ashe Jan 29, 2025
f880213
:sparkle: Add ITERH-PB98P(y) H-mode scaling for confinement time calc…
chris-ashe Jan 29, 2025
99180c0
Refactor confinement time calculations to use m_fuel_amu instead of a…
chris-ashe Jan 29, 2025
e65e065
:art: Add all references to mkdocs page
chris-ashe Jan 29, 2025
881518a
Update documentation and code to use 'vol_plasma' instead of 'plasma_…
chris-ashe Jan 29, 2025
9c97fe6
:fire: Remove unused inverse quadrature switch from L-mode scaling an…
chris-ashe Jan 29, 2025
d918a6b
Add constants to ion/electron confinement time calc instead of loose …
chris-ashe Jan 29, 2025
e43cc84
:fire: Remove references to 'kappaa' from physics calculations and re…
chris-ashe Jan 29, 2025
ab3cfd4
Refactor variable names for consistency: update 'kappaa' to 'kappa' i…
chris-ashe Jan 29, 2025
8f1b73f
Refactor physics variable names for clarity: update 'a_plasma_poloida…
chris-ashe Jan 30, 2025
4a1c22d
:bug: Fix too many variables called to Neo Kaye scaling
chris-ashe Jan 30, 2025
4b42610
Refactor ion confinement variable names for clarity: update 't_ion_co…
chris-ashe Jan 31, 2025
e22101c
Refactor electron confinement variable names for clarity: update 't_e…
chris-ashe Jan 31, 2025
1f6b6ee
➖ rearranged hfact multiplication calc
j-a-foster Jan 31, 2025
ea9bda8
➕ Added ITPA20-IL confinement scaling for papercut
j-a-foster Jan 31, 2025
84505a2
➕ Added comment for ITPA20-IL scaling
j-a-foster Jan 31, 2025
c3ae2b2
📝 Updated docs for new scaling
j-a-foster Jan 31, 2025
3c8b186
📝 updated tauscl and ipnlaws
j-a-foster Jan 31, 2025
3c8f0a7
➕ Added unit tests for various confinement time calculations
chris-ashe Feb 3, 2025
529af12
➖ Removed inverse quadrature switch from multiple MFILE and IN files
chris-ashe Feb 3, 2025
762d592
Refactor confinement time calculations and update output formatting i…
chris-ashe Feb 3, 2025
9442e9e
🔄 Rename ipnlaws to n_confinement_scalings for clarity and consisten…
chris-ashe Feb 3, 2025
f1a8c31
🔄 Update references from tauscl to labels_confinement_scalings for co…
chris-ashe Feb 3, 2025
ee9a84b
:fire: Remove overwritten ion confinement calculation
chris-ashe Feb 3, 2025
0df74fd
🔄 Rename total_energy_conf_time to t_energy_confinement_beta for cons…
chris-ashe Feb 3, 2025
b7f62e4
🔄 Rename ptripv to pden_ion_transport_loss_mw for clarity and consist…
chris-ashe Feb 3, 2025
488d943
🔄 Rename ptrepv to pden_electron_transport_loss_mw for clarity and co…
chris-ashe Feb 3, 2025
85b5967
🔄 Rename ptremw to p_electron_transport_loss_mw for clarity and consi…
chris-ashe Feb 4, 2025
6822c45
🔄 Rename ptrimw to p_ion_transport_loss_mw for clarity and consistenc…
chris-ashe Feb 4, 2025
5360619
🔄 Update plasma confinement documentation for clarity and consistency…
chris-ashe Feb 4, 2025
8f3e8b5
🔄 Rename ftaulimit to falpha_energy_confinement for clarity and consi…
chris-ashe Feb 4, 2025
f9f828a
🔄 Adjust formatting in energy confinement output for improved readabi…
chris-ashe Feb 4, 2025
0d97a06
🔄 Clarify comments in physics.py regarding ion and electron energy co…
chris-ashe Feb 4, 2025
b21e498
Rename powerht to p_plasma_loss_mw for clarity and consistency across…
chris-ashe Feb 4, 2025
d503df5
🔄 Refactor H-factor calculation methods for clarity and consistency i…
chris-ashe Feb 4, 2025
a3e6311
🔄 Fix typos in plasma confinement documentation and Fortran physics v…
chris-ashe Feb 4, 2025
97ae8fb
:memo: Doc review updates
chris-ashe Feb 6, 2025
1c07270
:memo: Requested review changes, add variables to obsolete dictionary
chris-ashe Feb 7, 2025
9788212
:memo: Add subscripts to plasma current and loss power
chris-ashe Feb 7, 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
14 changes: 7 additions & 7 deletions documentation/proc-pages/fusion-devices/stellarator.md
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ ixc = 10 * "ISS04 Renormalization Factor" (can also be fixed)
ixc = 50 * Coil current density, aka winding pack thickness (required!)
ixc = 59 * Winding Pack copper fraction
ixc = 56 * Exponential Quench Dumping Time
ixc = 109 * Thermal alpha particle pressure (iterated to consistency, use together with `taulimit`)
ixc = 109 * Thermal alpha particle pressure (iterated to consistency, use together with `f_alpha_energy_confinement_min`)
ixc = 169 * Achievable Temperature of the ECRH at the ignition point
```

Expand Down Expand Up @@ -142,13 +142,13 @@ The constraint equation `icc=91` together with `ixc = 169` enforces that the fou

### $\tau_E$ scaling laws

Five confinement time scaling laws relevant to stellarators are present within `PROCESS`. The value of switch isc` determines which of these in the plasma energy balance calculation.
Five confinement time scaling laws relevant to stellarators are present within `PROCESS`. The value of switch i_confinement_time` determines which of these in the plasma energy balance calculation.

$\tau_E$ (Large Helical Device[^8]: `isc=21`) = $0.17 \, R^{0.75}_0 \, a^2_p \, \bar{n}^{0.69}_{20} \, B^{0.84}_0 \, P^{-0.58}$
$\tau_E$ (Gyro-reduced Bohm[^9]: `isc=22`) = $0.25 \, R^{0.6}_0 \, a^{2.4}_p \, \bar{n}^{0.6}_{20} \, B^{0.8}_0 \, P^{-0.6}$
$\tau_E$ (Lackner-Gottardi[^10]: `isc=23`) = $0.17 \, R_0 \, a^2_p \, \bar{n}^{0.6}_{20} \, B^{0.8}_0 \, P^{-0.6} \, \iota^{0.4}$
$\tau_E$ (ISS95[^11]: `isc=37`) = $0.079 \, R^{0.65}_0 \, a^{2.21}_p \, \bar{n}^{0.51}_{20} \, B^{0.83}_0 \, P^{-0.59} \, \bar{\iota}^{0.4}$
$\tau_E$ (ISS04[^12]: `isc=38`) = $0.134 \, R^{0.64}_0 \, a^{2.28}_p \, \bar{n}^{0.54}_{20} \, B^{0.84}_0 \, P^{-0.61} \, \bar{\iota}^{0.41}$
$\tau_E$ (Large Helical Device[^8]: `i_confinement_time=21`) = $0.17 \, R^{0.75}_0 \, a^2_p \, \bar{n}^{0.69}_{20} \, B^{0.84}_0 \, P^{-0.58}$
$\tau_E$ (Gyro-reduced Bohm[^9]: `i_confinement_time=22`) = $0.25 \, R^{0.6}_0 \, a^{2.4}_p \, \bar{n}^{0.6}_{20} \, B^{0.8}_0 \, P^{-0.6}$
$\tau_E$ (Lackner-Gottardi[^10]: `i_confinement_time=23`) = $0.17 \, R_0 \, a^2_p \, \bar{n}^{0.6}_{20} \, B^{0.8}_0 \, P^{-0.6} \, \iota^{0.4}$
$\tau_E$ (ISS95[^11]: `i_confinement_time=37`) = $0.079 \, R^{0.65}_0 \, a^{2.21}_p \, \bar{n}^{0.51}_{20} \, B^{0.83}_0 \, P^{-0.59} \, \bar{\iota}^{0.4}$
$\tau_E$ (ISS04[^12]: `i_confinement_time=38`) = $0.134 \, R^{0.64}_0 \, a^{2.28}_p \, \bar{n}^{0.54}_{20} \, B^{0.84}_0 \, P^{-0.61} \, \bar{\iota}^{0.41}$

Here $\bar{\iota}$ is the rotational transform, which is equivalent to the reciprocal of the tokamak safety factor $q$.

Expand Down
20 changes: 10 additions & 10 deletions documentation/proc-pages/physics-models/error.txt
Original file line number Diff line number Diff line change
Expand Up @@ -596,15 +596,15 @@ energy confinement times \(\tau_E\) are equal.

Many energy confinement time scaling laws are present within PROCESS,
for tokamaks, RFPs or stellarators. These are calculated in routine
\texttt{pcond}. The value of \texttt{isc} determines which of the
\texttt{pcond}. The value of \texttt{i_confinement_time} determines which of the
scalings is used in the plasma energy balance calculation. The table
below summarises the available scaling laws. The most commonly used is
the so-called IPB98(y,2) scaling.

\begin{longtable}[]{@{}cll@{}}
\toprule
\begin{minipage}[b]{0.05\columnwidth}\centering\strut
\texttt{isc}\strut
\texttt{i_confinement_time}\strut
\end{minipage} & \begin{minipage}[b]{0.03\columnwidth}\raggedright\strut
scaling law\strut
\end{minipage} & \begin{minipage}[b]{0.03\columnwidth}\raggedright\strut
Expand Down Expand Up @@ -967,7 +967,7 @@ J. Menard 2019, Phil. Trans. R. Soc. A 377:201704401\strut
\begin{minipage}[t]{0.05\columnwidth}\centering\strut
48\strut
\end{minipage} & \begin{minipage}[t]{0.03\columnwidth}\raggedright\strut
Use input \texttt{tauee\_in}\strut
Use input \texttt{t_electron_energy_confinement\_in}\strut
\end{minipage} & \begin{minipage}[t]{0.03\columnwidth}\raggedright\strut
\strut
\end{minipage}\tabularnewline
Expand All @@ -987,21 +987,21 @@ additional radiation causes an almost equal drop in power transported by
ions and electrons, leaving the confinement nearly unchanged.

To allow for these uncertainties, three options are available, using the
switch \texttt{iradloss}. In each case, the particle transport loss
switch \texttt{i_rad_loss}. In each case, the particle transport loss
power \(P_{\mbox{loss}}\), referred to in the code as \texttt{pscaling},
is derived directly from the energy confinement scaling law.

\texttt{iradloss\ =\ 0} -- Total power lost is scaling power plus
\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\ +\ pinjmw/vol_plasma}

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

\texttt{pscaling\ +\ pcoreradpv\ =\ f_alpha_plasma*alpha_power_density\ +\ charged_power_density\ +\ pden_plasma_ohmic_mw\ +\ pinjmw/vol_plasma}

\texttt{iradloss\ =\ 2} -- Total power lost is scaling power only, with
\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.

Expand Down Expand Up @@ -1376,9 +1376,9 @@ too high.
Laws}{Inverse Quadrature in \textbackslash{}tau\_E Scaling Laws}}\label{inverse-quadrature-in-tau_e-scaling-laws}

Switch \texttt{iinvqd} determines whether the energy confinement time
scaling laws due to Kaye-Goldston (\texttt{isc\ =\ 5}) and Goldston
(\texttt{isc\ =\ 9}) should include an inverse quadrature scaling with
the Neo-Alcator result (\texttt{isc\ =\ 1}). A value
scaling laws due to Kaye-Goldston (\texttt{i_confinement_time\ =\ 5}) and Goldston
(\texttt{i_confinement_time\ =\ 9}) should include an inverse quadrature scaling with
the Neo-Alcator result (\texttt{i_confinement_time\ =\ 1}). A value
\texttt{iinvqd\ =\ 1}includes this scaling.

\subsubsection{Plasma / First Wall Gap}\label{plasma-first-wall-gap}
Expand Down
Loading