Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
70 commits
Select commit Hold shift + click to select a range
3407b00
🔄 Rename 'ngrpmx' to 'n_pf_groups_max' across multiple files for cons…
chris-ashe Feb 11, 2025
8c0f8cf
🔄 Rename 'isutamoh' to 'i_cs_superconductor' across multiple files fo…
chris-ashe Feb 11, 2025
2c1dfa2
🔄 Rename 'isutampf' to 'i_pf_superconductor' across multiple files fo…
chris-ashe Feb 11, 2025
add979a
🔄 Rename 'ipfloc' to 'i_pf_location' across multiple files for consis…
chris-ashe Feb 11, 2025
fde608d
🔄 Rename 'cpt' to 'c_pf_coil_turn' across multiple files for consiste…
chris-ashe Feb 11, 2025
a616110
🔄 Rename 'ipfres' to 'i_pf_conductor' across multiple files for consi…
chris-ashe Feb 11, 2025
e26195f
🔄 Rename 'rohc' to 'r_cs_middle' across multiple files for consistenc…
chris-ashe Feb 11, 2025
88a170e
🔄 Rename 'ra' to 'r_pf_coil_inner' across multiple files for consiste…
chris-ashe Feb 11, 2025
55e0e48
🔄 Rename 'rpf' to 'r_pf_coil_middle' across multiple files for consis…
chris-ashe Feb 11, 2025
90d9bbc
🔄 Rename 'rb' to 'r_pf_coil_outer' across multiple files for consiste…
chris-ashe Feb 11, 2025
b5f3e80
🔄 Rename 'zh' to 'z_pf_coil_upper' across multiple files for consiste…
chris-ashe Feb 11, 2025
8a75d9a
🔄 Rename 'zl' to 'z_pf_coil_lower' across multiple files for consiste…
chris-ashe Feb 11, 2025
7462241
🔄 Rename 'zpf' to 'z_pf_coil_middle' across multiple files for consis…
chris-ashe Feb 11, 2025
025d35d
🔄 Rename 'wtc' to 'm_pf_coil_conductor' across multiple files for con…
chris-ashe Feb 11, 2025
f6dcb3e
🔄 Rename 'whtpf' to 'm_pf_coil_conductor_total' across multiple files…
chris-ashe Feb 11, 2025
5657120
🔄 Rename 'whtpfs' to 'm_pf_coil_structure_total' across multiple file…
chris-ashe Feb 11, 2025
55205c3
🔄 Rename 'wts' to 'm_pf_coil_structure' across multiple files for con…
chris-ashe Feb 11, 2025
f8b31a4
🔄 Rename 'turns' to 'n_pf_coil_turns' across multiple files for consi…
chris-ashe Feb 11, 2025
c565cae
🔄 Rename 'tmargoh' to 'temp_cs_margin' across multiple files for cons…
chris-ashe Feb 11, 2025
acb9f27
🔄 Rename 'pfclres' to 'rho_pf_coil' across multiple files for consist…
chris-ashe Feb 11, 2025
0fb49d0
🔄 Rename 'ngrp' to 'n_pf_coil_groups' for consistency and clarity acr…
chris-ashe Feb 11, 2025
820a9c5
🔄 Rename 'ncirt' to 'n_pf_cs_plasma_circuits' across multiple files f…
chris-ashe Feb 11, 2025
96cb161
🔄 Rename 'ncls' to 'n_pf_coils_in_group' across multiple files for co…
chris-ashe Feb 11, 2025
78c20a0
🔄 Rename 'nohc' to 'n_cs_pf_coils' across multiple files for consiste…
chris-ashe Feb 11, 2025
fa62ae7
🔄 Rename 'pfrmax' to 'r_pf_coil_outer_max' across multiple files for …
chris-ashe Feb 11, 2025
8970886
🔄 Rename 'cohbop' to 'j_cs_pulse_start' across multiple files for con…
chris-ashe Feb 11, 2025
2eca507
🔄 Rename 'ohhghf' to 'f_z_cs_tf_internal' across multiple files for c…
chris-ashe Feb 11, 2025
27cd126
🔄 Rename 'areaoh' to 'a_cs_poloidal' across multiple files for consis…
chris-ashe Feb 11, 2025
f3bb059
🔄 Rename 'coheof' to 'j_cs_flat_top_end' across multiple files for co…
chris-ashe Feb 11, 2025
1f8c6e6
🔄 Rename 'sxlg' to 'ind_pf_cs_plasma_mutual' across multiple files fo…
chris-ashe Feb 11, 2025
90dd23e
🔄 Rename 'bmaxcs_lim' to 'b_cs_limit_max' across multiple files for c…
chris-ashe Feb 11, 2025
ef0f86d
🔄 Rename 'rjpfalw' to 'j_pf_wp_critical' across multiple files for co…
chris-ashe Feb 11, 2025
f96313c
🔄 Rename 'ric' to 'c_pf_cs_coils_peak_ma' across multiple files for c…
chris-ashe Feb 11, 2025
2dce555
🔄 Rename 'curpfb' to 'c_pf_cs_coil_pulse_start_ma' across multiple fi…
chris-ashe Feb 11, 2025
09a5b63
🔄 Rename 'curpff' to 'c_pf_cs_coil_flat_top_ma' across multiple files…
chris-ashe Feb 11, 2025
3d267a9
🔄 Rename 'curpfs' to 'c_pf_cs_coil_pulse_end_ma' across multiple file…
chris-ashe Feb 11, 2025
ac240e9
🔄 Rename 'bpf' to 'b_pf_coil_peak' across multiple files for consiste…
chris-ashe Feb 11, 2025
f499e52
🔄 Rename 'bmaxoh0' to 'b_cs_peak_pulse_start' across multiple files f…
chris-ashe Feb 11, 2025
8bbf26f
🔄 Rename 'bmaxoh' to 'b_cs_peak_flat_top_end' across multiple files f…
chris-ashe Feb 11, 2025
e5c6a9d
🔄 Rename 'a_oh_turn' to 'a_cs_turn' across multiple files for consist…
chris-ashe Feb 11, 2025
bc3c4f7
🔄 Rename 'oh_steel_frac' to 'f_a_cs_steel' across multiple files for …
chris-ashe Feb 11, 2025
fef943f
🔄 Update variable names for clarity: replace 'nclsmx' with 'n_pf_coil…
chris-ashe Feb 11, 2025
99c5ce3
🔄 Rename 'cptdin' to 'c_pf_coil_turn_peak_input' for clarity and cons…
chris-ashe Feb 11, 2025
37f67f6
🔄 Rename 'fbmaxcs' to 'fb_cs_limit_max' for clarity and consistency a…
chris-ashe Feb 11, 2025
205cddb
🔄 Rename 'rjconpf' to 'j_pf_coil_wp_peak' for clarity and consistency…
chris-ashe Feb 12, 2025
f0369ff
🔄 Rename 'powohres' to 'p_cs_resistive_flat_top' for clarity and cons…
chris-ashe Feb 12, 2025
1c6ec95
🔄 Rename 'rjohc' to 'j_cs_critical_flat_top_end' for clarity and cons…
chris-ashe Feb 12, 2025
6e625b4
🔄 Rename rjohc0 to j_cs_critical_pulse_start for clarity and consiste…
chris-ashe Feb 12, 2025
10c8de5
🔄 Rename 'pfmmax' to 'm_pf_coil_max' for clarity and consistency acro…
chris-ashe Feb 12, 2025
eb3b113
🔄 Rename jscoh_bop to j_cs_conductor_critical_pulse_start for clarity…
chris-ashe Feb 12, 2025
2a6f6ed
🔄 Rename jscoh_eof to j_cs_conductor_critical_flat_top_end for clarit…
chris-ashe Feb 12, 2025
e6e0820
🔄 Rename powpfres to p_pf_coil_resistive_total_flat_top for clarity a…
chris-ashe Feb 12, 2025
f7fe0fc
🔄 Rename 'vf' to 'f_a_pf_coil_void' for clarity and consistency acros…
chris-ashe Feb 12, 2025
ffe4e92
🔄 Rename 'vfohc' to 'f_a_cs_void' for clarity and consistency across …
chris-ashe Feb 12, 2025
c776f4d
🔄 Rename 'vsohsu' to 'vs_cs_ramp' for clarity and consistency across …
chris-ashe Feb 12, 2025
f37ab3c
🔄 Rename 'vsohbn' to 'vs_cs_burn' for clarity and consistency across …
chris-ashe Feb 12, 2025
965638a
🔄 Rename 'vsefsu' to 'vs_pf_coils_total_ramp' for clarity and consist…
chris-ashe Feb 12, 2025
669e227
🔄 Rename 'vssu' to 'vs_cs_pf_total_ramp' for clarity and consistency …
chris-ashe Feb 12, 2025
01afd4f
🔄 Rename 'vsefbn' to 'vs_pf_coils_total_burn' for clarity and consist…
chris-ashe Feb 12, 2025
9f16985
🔄 Rename 'vsbn' to 'vs_cs_pf_total_burn' for clarity and consistency …
chris-ashe Feb 12, 2025
d237f23
🔄 Rename 'vseft' to 'vs_pf_coils_total_pulse' for clarity and consist…
chris-ashe Feb 12, 2025
8ade560
🔄 Rename 'vsoh' to 'vs_cs_total_pulse' for clarity and consistency ac…
chris-ashe Feb 12, 2025
4205866
🔄 Rename 'vstot' to 'vs_cs_pf_total_pulse' for clarity and consistenc…
chris-ashe Feb 12, 2025
8fb1777
🔄 Rename 'fcohbof' to 'f_j_cs_start_end_flat_top' for clarity and con…
chris-ashe Feb 19, 2025
96f0116
🔄 Rename 'fcohbop' to 'f_j_cs_start_pulse_end_flat_top' for clarity a…
chris-ashe Feb 19, 2025
8c1f833
🔄 Rename 'fvssu' to 'fvs_cs_pf_total_ramp' for clarity and consistenc…
chris-ashe Feb 19, 2025
e792db3
Remove large_tokamak.IN.DAT:Zone.Identifier
chris-ashe Feb 19, 2025
a746230
🔄 Add new variable mappings for clarity and consistency in obsolete_v…
chris-ashe Feb 19, 2025
e2dfcf2
:fire: Remove wrongly committed file
chris-ashe Mar 6, 2025
b9d8166
🔄 Increase label array size and rename PF coil variables for clarity …
chris-ashe Mar 6, 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
16 changes: 8 additions & 8 deletions documentation/proc-pages/eng-models/central-solenoid.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,11 @@ amount actually available. The code measures the magnetic flux in units of Volt.
Switch `iohcl` controls whether a central solenoid is present. A value of 1 denotes that this coil
is present, and should be assigned a non-zero thickness `dr_cs`. A value of `iohcl` = 0 denotes
that no central solenoid is present, in which case the thickness `dr_cs` should be zero. No PF
coils should be located at positions defined by `ipfloc(j)` = 1 if no central solenoid is present.
coils should be located at positions defined by `i_pf_location(j)` = 1 if no central solenoid is present.

The central solenoid can be either resistive or superconducting (controlled via switch `ipfres` as
for the other PF coils), and if superconducting, switch `isumatpf` determines the superconducting
material to use - its value is used like `isumattf` and `isumatpf`. The copper fraction (by volume)
The central solenoid can be either resistive or superconducting (controlled via switch `i_pf_conductor` as
for the other PF coils), and if superconducting, switch `i_pf_superconductor` determines the superconducting
material to use - its value is used like `isumattf` and `i_pf_superconductor`. The copper fraction (by volume)
of the superconducting strands is `fcuohsu`.

The hoop stress is calculated using equations 4.10 and 4.11 from "Superconducting magnets", Martin N.
Expand Down Expand Up @@ -96,7 +96,7 @@ An example output follows. Note that in this example the cycle life is *not* su
Minimum burn time (s) (t_burn_min) 7.200E+03
Initial vertical crack size (m) (t_crack_vertical) 8.900E-04
Initial radial crack size (m) (t_crack_radial) 2.670E-03
CS turn area (m) (a_oh_turn) 1.904E-03
CS turn area (m) (a_cs_turn) 1.904E-03
CS turn length (m) (l_cond_cst) 7.557E-02
CS turn internal cable space radius (m) (r_in_cst) 6.732E-03
CS turn width (m) (d_cond_cst) 2.519E-02
Expand Down Expand Up @@ -146,10 +146,10 @@ The central solenoid pre-compression structure is included in the model if and o

## Current density inputs and limits

The absolute value of the central solenoid current density at the end-of-flat-top ('EOF'), `coheof`,
The absolute value of the central solenoid current density at the end-of-flat-top ('EOF'), `j_cs_flat_top_end`,
is specified by the user, and can be used as an iteration variable (no. 37). The current density at
the beginning-of-pulse ('BOP' - See Figure 1) is specified as a (positive) fraction of `coheof`
using `fcohbop` (iteration variable no. 41). The current density in the CS at all other times is
the beginning-of-pulse ('BOP' - See Figure 1) is specified as a (positive) fraction of `j_cs_flat_top_end`
using `f_j_cs_start_pulse_end_flat_top` (iteration variable no. 41). The current density in the CS at all other times is
calculated by taking into account the flux swing necessary to initiate and maintain plasma current.

The current density in the central solenoid can be limited at BOP and at EOF. To limit the current
Expand Down
30 changes: 15 additions & 15 deletions documentation/proc-pages/eng-models/pf-coil.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,11 @@ position and shape during the flat-top period.
The positions and sizes of te PF coils are partly input, and partly calculated after consideration
of the required currents and allowable current density.

The PF coil locations are controlled using a set of switched stored in array `ipfloc` (see
The PF coil locations are controlled using a set of switched stored in array `i_pf_location` (see
Figure 1), and are calculated in routine `PFCOIL`. The coils are (usually) organised into groups
containing two PF coils placed symmetrically above and below the midplane, and each group `j` has
an element `ipfloc(j)` assigned to it. Input parameter `ngrp` should be set to the number of groups,
and `ncls(j)` should be assigned the number of coils in each group - which should be 2 in each case.
an element `i_pf_location(j)` assigned to it. Input parameter `n_pf_coil_groups` should be set to the number of groups,
and `n_pf_coils_in_group(j)` should be assigned the number of coils in each group - which should be 2 in each case.

<figure markdown>
![Machine build](../images/vertical-build.png){ width="100%"}
Expand All @@ -24,26 +24,26 @@ In the following, all variables are defined in the variable descriptor file `var
values for `rpf1`, `rpf2`, `zref(j)` and `routr` should be adjusted by the user to locate the PF
coils accurately.

The three possible values of `ipfloc(j)` correspond to the following PF coil positions: (Redo taking
The three possible values of `i_pf_location(j)` correspond to the following PF coil positions: (Redo taking
into account `i_single_null` and other recent changes e.g. rclsnorm)

`ipfloc(j)` = 1: PF coils are placed above the central solenoid (one group only);
*R* = `rohc` + `rpf1`<br>
*Z* = $\pm$(`hmax` * `ohhghf` + 0.1 + 0.5 * (`hmax` * (1 - `ohhghf`) + `dr_tf_inboard` + 0.1))
`i_pf_location(j)` = 1: PF coils are placed above the central solenoid (one group only);
*R* = `r_cs_middle` + `rpf1`<br>
*Z* = $\pm$(`hmax` * `f_z_cs_tf_internal` + 0.1 + 0.5 * (`hmax` * (1 - `f_z_cs_tf_internal`) + `dr_tf_inboard` + 0.1))

`ipfloc(j)` = 2: PF coils are placed above the TF coils (one group only);<br>
`i_pf_location(j)` = 2: PF coils are placed above the TF coils (one group only);<br>
*R* = `rmajor` + `rpf2`<br>
*Z* = $\pm$(`hmax` * `dr_tf_inboard` + 0.86)

`ipfloc(j)` = 3: PF coils are placed radially outside the TF coils (any number of groups);<br>
`i_pf_location(j)` = 3: PF coils are placed radially outside the TF coils (any number of groups);<br>
*R* = `rtot` + `dr_tf_outboard`/2 + `routr`<br>
*Z* = $\pm$(`rminor` * `zref(j)`

The void fraction (for coolant) in each coil `i`'s winding pack is given by `vf(i)`.
The void fraction (for coolant) in each coil `i`'s winding pack is given by `f_a_pf_coil_void(i)`.

## Coil currents

The peak current per turn, `cptdin(i)`, and the winding pack peak current density `rjconpf(i)` in
The peak current per turn, `c_pf_coil_turn_peak_input(i)`, and the winding pack peak current density `j_pf_coil_wp_peak(i)` in
each PF coil `i` are inputs. The PF coil currents vary as a function of time during the tokamak
operation as indicated in Figure 2. They contribute part of the flux swing necessary to maintain the plasma current.

Expand All @@ -58,11 +58,11 @@ ramp-up period, although it will pass through zero during the burn phase.</figca
## Materials

The PF coils can be either resistive or superconducting. This is determined from the value of
`ipfres`. If `ipfres` = 0, the PF coils and the central solenoid are assumed to be superconducting.
If `ipfres` = 1, they are assumed to be resistive, with their resistivity given by the value of variable `pfclres`.
`i_pf_conductor`. If `i_pf_conductor` = 0, the PF coils and the central solenoid are assumed to be superconducting.
If `i_pf_conductor` = 1, they are assumed to be resistive, with their resistivity given by the value of variable `rho_pf_coil`.

If `ipfres` = 0, switch `isumatpf` specifies which superconducting material is to be used for the
PF coils. The values of `isumatpf` are used in the same way as switch `isumattf` is for the TF coils.
If `i_pf_conductor` = 0, switch `i_pf_superconductor` specifies which superconducting material is to be used for the
PF coils. The values of `i_pf_superconductor` are used in the same way as switch `isumattf` is for the TF coils.

The fraction of copper present in the superconducting filaments if given by the value of
variable `fcupfsu`.
Expand Down
2 changes: 1 addition & 1 deletion documentation/proc-pages/io/python-lib-guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ To get values of input file entries from the object
i.number_of_constraints
i.number_of_itvars
i.data["fimp"].value
i.data["ipfloc"].value
i.data["i_pf_location"].value
```

To add/remove constraints, iteration variables
Expand Down
Loading