Skip to content

build_variables

CREATE_DICTS_FROM_DATACLASS = BuildData module-attribute

BuildData dataclass

Source code in process/data_structure/build_variables.py
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
@dataclass
class BuildData:
    aplasmin: float = 0.25
    """minimum minor radius (m)"""

    available_radial_space: float = 0.0
    """Minimal radial space between plasma and coils (m)"""

    a_blkt_total_surface: float = 0.0
    """blanket total surface area (m2)"""

    a_blkt_total_surface_full_coverage: float = 0.0
    """Blanket(s) total surface area with no holes or ports (toroidally continuous) (m²)"""

    a_blkt_inboard_surface: float = 0.0
    """inboard blanket surface area (m2)"""

    a_blkt_inboard_surface_full_coverage: float = 0.0
    """Inboard blanket surface area with no holes or ports (toroidally continuous) (m²)"""

    a_blkt_outboard_surface: float = 0.0
    """outboard blanket surface area (m2)"""

    a_blkt_outboard_surface_full_coverage: float = 0.0
    """Outboard blanket surface area with no holes or ports (toroidally continuous) (m²)"""

    blbmith: float = 0.17
    """inboard blanket box manifold thickness (m) (`blktmodel>0`)"""

    blbmoth: float = 0.27
    """outboard blanket box manifold thickness (m) (`blktmodel>0`)"""

    blbpith: float = 0.30
    """inboard blanket base plate thickness (m) (`blktmodel>0`)"""

    blbpoth: float = 0.35
    """outboard blanket base plate thickness (m) (`blktmodel>0`)"""

    blbuith: float = 0.365
    """inboard blanket breeding zone thickness (m) (`blktmodel>0`) (`iteration variable 90`)"""

    blbuoth: float = 0.465
    """outboard blanket breeding zone thickness (m) (`blktmodel>0`) (`iteration variable 91`)"""

    dr_blkt_inboard: float = 0.115
    """inboard blanket thickness (m); (calculated if `blktmodel>0`) (=0.0 if `i_blkt_inboard=0`)"""

    dr_blkt_outboard: float = 0.235
    """outboard blanket thickness (m); calculated if `blktmodel>0`"""

    dz_blkt_upper: float = 0.0
    """top blanket thickness (m), = mean of inboard and outboard blanket thicknesses"""

    dz_fw_upper: float = 0.0
    """upper first wall thickness (m)"""

    dr_bore: float = 1.42
    """central solenoid inboard radius (m) (`iteration variable 29`)"""

    f_z_cryostat: float = 4.268
    """cryostat lid height scaling factor (tokamaks)"""

    dr_cryostat: float = 0.07
    """cryostat thickness (m)"""

    dr_vv_inboard: float = 0.07
    """vacuum vessel inboard thickness (TF coil / shield) (m)"""

    dr_vv_outboard: float = 0.07
    """vacuum vessel outboard thickness (TF coil / shield) (m)"""

    dz_vv_upper: float = 0.07
    """vacuum vessel topside thickness (TF coil / shield) (m) (= dz_vv_lower if double-null)"""

    dz_vv_lower: float = 0.07
    """vacuum vessel underside thickness (TF coil / shield) (m)"""

    dr_vv_shells: float = 0.12
    """vacuum vessel double walled shell thicknesses (m)"""

    fcspc: float = 0.6
    """Fraction of space occupied by CS pre-compression structure"""

    fseppc: float = 3.5e8
    """Separation force in CS coil pre-compression structure"""

    dr_fw_inboard: float = 0.0
    """inboard first wall thickness, initial estimate as calculated (m)"""

    dr_fw_outboard: float = 0.0
    """outboard first wall thickness, initial estimate as calculated (m)"""

    dr_shld_vv_gap_inboard: float = 0.155
    """gap between inboard vacuum vessel and thermal shield (m) (`iteration variable 61`)"""

    dr_cs_tf_gap: float = 0.08
    """gap between central solenoid and TF coil (m) (`iteration variable 42`)"""

    gapomin: float = 0.234
    """minimum gap between outboard vacuum vessel and TF coil (m) (`iteration variable 31`)"""

    dr_shld_vv_gap_outboard: float = 0.0
    """gap between outboard vacuum vessel and TF coil (m)"""

    z_tf_inside_half: float = 0.0
    """maximum (half-)height of TF coil (inside edge) (m)"""

    dz_tf_upper_lower_midplane: float = 0.0
    """difference in distance from midplane of upper and lower portions of TF
    legs (non-zero for single-null devices) (m)
    """

    z_tf_top: float = 0.0
    """height to top of (upper) TF coil leg (m)"""

    hr1: float = 0.0
    """half-height of TF coil inboard leg straight section (m)"""

    iohcl: int = 1
    """Switch for existence of central solenoid:
    - =0 central solenoid not present
    - =1 central solenoid exists
    """

    i_cs_precomp: int = 1
    """Switch for existence of central solenoid pre-compression structure:
    - =0 no pre-compression structure
    - =1 calculated pre-compression structure
    """

    i_tf_inside_cs: int = 0
    """Switch for placing the TF coil inside the CS
    - = 0 TF coil is outside the CS (default)
    - = 1 TF coil is inside the CS
    """

    dr_cs: float = 0.811
    """Central solenoid thickness (m) (`iteration variable 16`)"""

    dr_cs_precomp: float = 0.0
    """CS coil precompression structure thickness (m)"""

    rbld: float = 0.0
    """sum of thicknesses to the major radius (m)"""

    required_radial_space: float = 0.0
    """Required space between coil and plasma for blanket shield wall etc (m)"""

    rinboard: float = 0.651
    """plasma inboard radius (m) (`consistency equation 29`)"""

    r_shld_inboard_inner: float = 0.0
    """radius to inboard shield (inside point) (m)"""

    r_shld_outboard_outer: float = 0.0
    """radius to outboard shield (outside point) (m)"""

    r_vv_inboard_out: float = 0.0
    """Radial plasma facing side position of inboard vacuum vessel [m]"""

    r_sh_inboard_in: float = 0.0
    """Radial inner side position of inboard neutronic shield [m]"""

    r_sh_inboard_out: float = 0.0
    """Radial plasma facing side position of inboard neutronic shield [m]"""

    r_tf_inboard_in: float = 0.0
    """Mid-plane inboard TF coil leg radius at the centre-machine side [m]"""

    r_tf_inboard_mid: float = 0.0
    """Mid-plane inboard TF coil leg radius at middle of the coil [m]"""

    r_tf_inboard_out: float = 0.0
    """Mid-plane inboard TF coil leg radius at the plasma side [m]"""

    r_tf_outboard_mid: float = 0.0
    """Mid-plane outboard TF coil leg radius at the middle of the coil [m]"""

    i_r_cp_top: int = 0
    """Switch selecting the he parametrization of the outer radius of the top of the CP part of the TF coil
    0 : `r_cp_top` is set by the plasma shape
    1 : `r_cp_top` is a user input
    2 : `r_cp_top` is set using the CP top and midplane CP radius ratio
    """

    r_cp_top: float = 0.0
    """Top outer radius of the centropost (ST only) (m)"""

    f_r_cp: float = 1.4
    """Ratio between the top and the midplane TF CP outer radius [-]
    Not used by default (-1) must be larger than 1 otherwise
    """

    dr_tf_inner_bore: float = 0.0
    """TF coil horizontal inner dr_bore (m)"""

    dh_tf_inner_bore: float = 0.0
    """TF coil vertical inner dr_bore (m)"""

    dr_fw_plasma_gap_inboard: float = 0.14
    """Gap between plasma and first wall, inboard side (m) (if `i_plasma_wall_gap=1`)
    Iteration variable: ixc = 73
    Scan variable: nsweep = 58
    """

    dr_fw_plasma_gap_outboard: float = 0.15
    """Gap between plasma and first wall, outboard side (m) (if `i_plasma_wall_gap=1`)
    Iteration variable: ixc = 74
    Scan variable: nsweep = 59
    """

    a_shld_total_surface: float = 0.0
    """shield total surface area (m2)"""

    a_shld_inboard_surface: float = 0.0
    """inboard shield surface area (m2)"""

    a_shld_outboard_surface: float = 0.0
    """outboard shield surface area (m2)"""

    dr_shld_inboard: float = 0.69
    """inboard shield thickness (m) (`iteration variable 93`)"""

    dz_shld_lower: float = 0.7
    """lower (under divertor) shield thickness (m)"""

    dr_shld_outboard: float = 1.05
    """outboard shield thickness (m) (`iteration variable 94`)"""

    dz_shld_upper: float = 0.6
    """upper/lower shield thickness (m); calculated if `blktmodel > 0` (= dz_shld_lower if double-null)"""

    sigallpc: float = 3.0e8
    """allowable stress in CSpre-compression structure (Pa)"""

    # TODO: Issue #514 Make dr_tf_inboard an output not an iteration variable
    dr_tf_inboard: float = 0.0
    """inboard TF coil thickness, (centrepost for ST) (m)
    (input, calculated or `iteration variable 13`)
    """

    dz_tf_plasma_centre_offset: float = 0.0
    """Vertical distance between centre of TF coils and centre of plasma (m)"""

    f_dr_tf_outboard_inboard: float = 1.19
    """TF coil outboard leg / inboard leg radial thickness
    ratio (`i_tf_sup=0` only) (`iteration variable 75`)
    """

    dr_tf_outboard: float = 0.0
    """Outboard TF coil thickness (m)"""

    dr_tf_shld_gap: float = 0.05
    """Minimum metal-to-metal gap between TF coil and thermal shield (m)"""

    dr_shld_thermal_inboard: float = 0.05
    """TF-VV thermal shield thickness, inboard (m)"""

    dr_shld_thermal_outboard: float = 0.05
    """TF-VV thermal shield thickness, outboard (m)"""

    dz_shld_thermal: float = 0.05
    """TF-VV thermal shield thickness, vertical build (m)"""

    dz_shld_vv_gap: float = 0.163
    """vertical gap between vacuum vessel and thermal shields (m)"""

    dz_xpoint_divertor: float = 0.0
    """vertical gap between x-point and divertor (m) (if = 0, it is calculated)"""

    dz_fw_plasma_gap: float = 0.60
    """vertical gap between top of plasma and first wall (m) (= dz_xpoint_divertor if double-null)"""

    dr_shld_blkt_gap: float = 0.05
    """gap between vacuum vessel and blanket (m)"""

    plleni: float = 1.0
    """length of inboard divertor plate (m)"""

    plleno: float = 1.0
    """length of outboard divertor plate (m)"""

    plsepi: float = 1.0
    """poloidal length, x-point to inboard strike point (m)"""

    plsepo: float = 1.5
    """poloidal length, x-point to outboard strike point (m)"""

    rspo: float = 0.0
    """outboard strike point radius (m)"""

    z_plasma_xpoint_upper: float = 0.0
    """Vertical height of the upper plasma x-point (m)"""

    z_plasma_xpoint_lower: float = 0.0
    """Vertical height of the lower plasma x-point (m)"""

    ripflag: int = 0
    """1 if the fitted range of applicability is exceeded for
    the ripple calculation, else 0
    """

aplasmin = 0.25 class-attribute instance-attribute

minimum minor radius (m)

available_radial_space = 0.0 class-attribute instance-attribute

Minimal radial space between plasma and coils (m)

a_blkt_total_surface = 0.0 class-attribute instance-attribute

blanket total surface area (m2)

a_blkt_total_surface_full_coverage = 0.0 class-attribute instance-attribute

Blanket(s) total surface area with no holes or ports (toroidally continuous) (m²)

a_blkt_inboard_surface = 0.0 class-attribute instance-attribute

inboard blanket surface area (m2)

a_blkt_inboard_surface_full_coverage = 0.0 class-attribute instance-attribute

Inboard blanket surface area with no holes or ports (toroidally continuous) (m²)

a_blkt_outboard_surface = 0.0 class-attribute instance-attribute

outboard blanket surface area (m2)

a_blkt_outboard_surface_full_coverage = 0.0 class-attribute instance-attribute

Outboard blanket surface area with no holes or ports (toroidally continuous) (m²)

blbmith = 0.17 class-attribute instance-attribute

inboard blanket box manifold thickness (m) (blktmodel>0)

blbmoth = 0.27 class-attribute instance-attribute

outboard blanket box manifold thickness (m) (blktmodel>0)

blbpith = 0.3 class-attribute instance-attribute

inboard blanket base plate thickness (m) (blktmodel>0)

blbpoth = 0.35 class-attribute instance-attribute

outboard blanket base plate thickness (m) (blktmodel>0)

blbuith = 0.365 class-attribute instance-attribute

inboard blanket breeding zone thickness (m) (blktmodel>0) (iteration variable 90)

blbuoth = 0.465 class-attribute instance-attribute

outboard blanket breeding zone thickness (m) (blktmodel>0) (iteration variable 91)

dr_blkt_inboard = 0.115 class-attribute instance-attribute

inboard blanket thickness (m); (calculated if blktmodel>0) (=0.0 if i_blkt_inboard=0)

dr_blkt_outboard = 0.235 class-attribute instance-attribute

outboard blanket thickness (m); calculated if blktmodel>0

dz_blkt_upper = 0.0 class-attribute instance-attribute

top blanket thickness (m), = mean of inboard and outboard blanket thicknesses

dz_fw_upper = 0.0 class-attribute instance-attribute

upper first wall thickness (m)

dr_bore = 1.42 class-attribute instance-attribute

central solenoid inboard radius (m) (iteration variable 29)

f_z_cryostat = 4.268 class-attribute instance-attribute

cryostat lid height scaling factor (tokamaks)

dr_cryostat = 0.07 class-attribute instance-attribute

cryostat thickness (m)

dr_vv_inboard = 0.07 class-attribute instance-attribute

vacuum vessel inboard thickness (TF coil / shield) (m)

dr_vv_outboard = 0.07 class-attribute instance-attribute

vacuum vessel outboard thickness (TF coil / shield) (m)

dz_vv_upper = 0.07 class-attribute instance-attribute

vacuum vessel topside thickness (TF coil / shield) (m) (= dz_vv_lower if double-null)

dz_vv_lower = 0.07 class-attribute instance-attribute

vacuum vessel underside thickness (TF coil / shield) (m)

dr_vv_shells = 0.12 class-attribute instance-attribute

vacuum vessel double walled shell thicknesses (m)

fcspc = 0.6 class-attribute instance-attribute

Fraction of space occupied by CS pre-compression structure

fseppc = 350000000.0 class-attribute instance-attribute

Separation force in CS coil pre-compression structure

dr_fw_inboard = 0.0 class-attribute instance-attribute

inboard first wall thickness, initial estimate as calculated (m)

dr_fw_outboard = 0.0 class-attribute instance-attribute

outboard first wall thickness, initial estimate as calculated (m)

dr_shld_vv_gap_inboard = 0.155 class-attribute instance-attribute

gap between inboard vacuum vessel and thermal shield (m) (iteration variable 61)

dr_cs_tf_gap = 0.08 class-attribute instance-attribute

gap between central solenoid and TF coil (m) (iteration variable 42)

gapomin = 0.234 class-attribute instance-attribute

minimum gap between outboard vacuum vessel and TF coil (m) (iteration variable 31)

dr_shld_vv_gap_outboard = 0.0 class-attribute instance-attribute

gap between outboard vacuum vessel and TF coil (m)

z_tf_inside_half = 0.0 class-attribute instance-attribute

maximum (half-)height of TF coil (inside edge) (m)

dz_tf_upper_lower_midplane = 0.0 class-attribute instance-attribute

difference in distance from midplane of upper and lower portions of TF legs (non-zero for single-null devices) (m)

z_tf_top = 0.0 class-attribute instance-attribute

height to top of (upper) TF coil leg (m)

hr1 = 0.0 class-attribute instance-attribute

half-height of TF coil inboard leg straight section (m)

iohcl = 1 class-attribute instance-attribute

Switch for existence of central solenoid: - =0 central solenoid not present - =1 central solenoid exists

i_cs_precomp = 1 class-attribute instance-attribute

Switch for existence of central solenoid pre-compression structure: - =0 no pre-compression structure - =1 calculated pre-compression structure

i_tf_inside_cs = 0 class-attribute instance-attribute

Switch for placing the TF coil inside the CS - = 0 TF coil is outside the CS (default) - = 1 TF coil is inside the CS

dr_cs = 0.811 class-attribute instance-attribute

Central solenoid thickness (m) (iteration variable 16)

dr_cs_precomp = 0.0 class-attribute instance-attribute

CS coil precompression structure thickness (m)

rbld = 0.0 class-attribute instance-attribute

sum of thicknesses to the major radius (m)

required_radial_space = 0.0 class-attribute instance-attribute

Required space between coil and plasma for blanket shield wall etc (m)

rinboard = 0.651 class-attribute instance-attribute

plasma inboard radius (m) (consistency equation 29)

r_shld_inboard_inner = 0.0 class-attribute instance-attribute

radius to inboard shield (inside point) (m)

r_shld_outboard_outer = 0.0 class-attribute instance-attribute

radius to outboard shield (outside point) (m)

r_vv_inboard_out = 0.0 class-attribute instance-attribute

Radial plasma facing side position of inboard vacuum vessel [m]

r_sh_inboard_in = 0.0 class-attribute instance-attribute

Radial inner side position of inboard neutronic shield [m]

r_sh_inboard_out = 0.0 class-attribute instance-attribute

Radial plasma facing side position of inboard neutronic shield [m]

r_tf_inboard_in = 0.0 class-attribute instance-attribute

Mid-plane inboard TF coil leg radius at the centre-machine side [m]

r_tf_inboard_mid = 0.0 class-attribute instance-attribute

Mid-plane inboard TF coil leg radius at middle of the coil [m]

r_tf_inboard_out = 0.0 class-attribute instance-attribute

Mid-plane inboard TF coil leg radius at the plasma side [m]

r_tf_outboard_mid = 0.0 class-attribute instance-attribute

Mid-plane outboard TF coil leg radius at the middle of the coil [m]

i_r_cp_top = 0 class-attribute instance-attribute

Switch selecting the he parametrization of the outer radius of the top of the CP part of the TF coil 0 : r_cp_top is set by the plasma shape 1 : r_cp_top is a user input 2 : r_cp_top is set using the CP top and midplane CP radius ratio

r_cp_top = 0.0 class-attribute instance-attribute

Top outer radius of the centropost (ST only) (m)

f_r_cp = 1.4 class-attribute instance-attribute

Ratio between the top and the midplane TF CP outer radius [-] Not used by default (-1) must be larger than 1 otherwise

dr_tf_inner_bore = 0.0 class-attribute instance-attribute

TF coil horizontal inner dr_bore (m)

dh_tf_inner_bore = 0.0 class-attribute instance-attribute

TF coil vertical inner dr_bore (m)

dr_fw_plasma_gap_inboard = 0.14 class-attribute instance-attribute

Gap between plasma and first wall, inboard side (m) (if i_plasma_wall_gap=1) Iteration variable: ixc = 73 Scan variable: nsweep = 58

dr_fw_plasma_gap_outboard = 0.15 class-attribute instance-attribute

Gap between plasma and first wall, outboard side (m) (if i_plasma_wall_gap=1) Iteration variable: ixc = 74 Scan variable: nsweep = 59

a_shld_total_surface = 0.0 class-attribute instance-attribute

shield total surface area (m2)

a_shld_inboard_surface = 0.0 class-attribute instance-attribute

inboard shield surface area (m2)

a_shld_outboard_surface = 0.0 class-attribute instance-attribute

outboard shield surface area (m2)

dr_shld_inboard = 0.69 class-attribute instance-attribute

inboard shield thickness (m) (iteration variable 93)

dz_shld_lower = 0.7 class-attribute instance-attribute

lower (under divertor) shield thickness (m)

dr_shld_outboard = 1.05 class-attribute instance-attribute

outboard shield thickness (m) (iteration variable 94)

dz_shld_upper = 0.6 class-attribute instance-attribute

upper/lower shield thickness (m); calculated if blktmodel > 0 (= dz_shld_lower if double-null)

sigallpc = 300000000.0 class-attribute instance-attribute

allowable stress in CSpre-compression structure (Pa)

dr_tf_inboard = 0.0 class-attribute instance-attribute

inboard TF coil thickness, (centrepost for ST) (m) (input, calculated or iteration variable 13)

dz_tf_plasma_centre_offset = 0.0 class-attribute instance-attribute

Vertical distance between centre of TF coils and centre of plasma (m)

f_dr_tf_outboard_inboard = 1.19 class-attribute instance-attribute

TF coil outboard leg / inboard leg radial thickness ratio (i_tf_sup=0 only) (iteration variable 75)

dr_tf_outboard = 0.0 class-attribute instance-attribute

Outboard TF coil thickness (m)

dr_tf_shld_gap = 0.05 class-attribute instance-attribute

Minimum metal-to-metal gap between TF coil and thermal shield (m)

dr_shld_thermal_inboard = 0.05 class-attribute instance-attribute

TF-VV thermal shield thickness, inboard (m)

dr_shld_thermal_outboard = 0.05 class-attribute instance-attribute

TF-VV thermal shield thickness, outboard (m)

dz_shld_thermal = 0.05 class-attribute instance-attribute

TF-VV thermal shield thickness, vertical build (m)

dz_shld_vv_gap = 0.163 class-attribute instance-attribute

vertical gap between vacuum vessel and thermal shields (m)

dz_xpoint_divertor = 0.0 class-attribute instance-attribute

vertical gap between x-point and divertor (m) (if = 0, it is calculated)

dz_fw_plasma_gap = 0.6 class-attribute instance-attribute

vertical gap between top of plasma and first wall (m) (= dz_xpoint_divertor if double-null)

dr_shld_blkt_gap = 0.05 class-attribute instance-attribute

gap between vacuum vessel and blanket (m)

plleni = 1.0 class-attribute instance-attribute

length of inboard divertor plate (m)

plleno = 1.0 class-attribute instance-attribute

length of outboard divertor plate (m)

plsepi = 1.0 class-attribute instance-attribute

poloidal length, x-point to inboard strike point (m)

plsepo = 1.5 class-attribute instance-attribute

poloidal length, x-point to outboard strike point (m)

rspo = 0.0 class-attribute instance-attribute

outboard strike point radius (m)

z_plasma_xpoint_upper = 0.0 class-attribute instance-attribute

Vertical height of the upper plasma x-point (m)

z_plasma_xpoint_lower = 0.0 class-attribute instance-attribute

Vertical height of the lower plasma x-point (m)

ripflag = 0 class-attribute instance-attribute

1 if the fitted range of applicability is exceeded for the ripple calculation, else 0