pfcoil_variables Module

Module containing global variables relating to the poloidal field coil systems

References

-



Contents


Variables

TypeVisibility AttributesNameInitial
integer, public, parameter:: ngrpmx =10

maximum number of groups of PF coils

integer, public, parameter:: nclsmx =2

maximum number of PF coils in a given group

integer, public, parameter:: nptsmx =32

maximum number of points across the midplane of the plasma at which the field from the PF coils is fixed

integer, public, parameter:: nfixmx =64

maximum number of fixed current PF coils

integer, public, parameter:: ngc =ngrpmx*nclsmx

maximum total number of coils across all groups

integer, public, parameter:: ngc2 =ngc+2

new variable to include 2 additional circuits: plasma and central solenoid

real(kind=dp), public :: alfapf

smoothing parameter used in PF coil current calculation at the beginning of pulse (BoP)

real(kind=dp), public :: alstroh

allowable hoop stress in Central Solenoid structural material (Pa)

integer, public :: i_cs_stress

Switch for CS stress calculation:

  • =0 Hoop stress only
  • =1 Hoop + Axial stress
real(kind=dp), public :: areaoh

Central solenoid vertical cross-sectional area (m2)

real(kind=dp), public :: a_oh_turn

Central solenoid (OH) trun cross-sectional area (m2)

real(kind=dp), public :: awpoh

central solenoid conductor+void area with area of steel subtracted (m2)

real(kind=dp), public :: bmaxoh

maximum field in central solenoid at end of flat-top (EoF) (T)

real(kind=dp), public :: bmaxoh0

maximum field in central solenoid at beginning of pulse (T)

real(kind=dp), public, dimension(ngc2):: bpf

peak field at coil i (T)

real(kind=dp), public, dimension(ngrpmx):: ccl0_ma

PF group current array, flux-swing cancellation current (MA) Input if i_pf_current=0, computed otherwise

real(kind=dp), public, dimension(ngrpmx):: ccls_ma

PF group current array, equilibrium current (MA) Input if i_pf_current=0, computed otherwise

real(kind=dp), public :: cohbop

Central solenoid overall current density at beginning of pulse (A/m2)

real(kind=dp), public :: coheof

Central solenoid overall current density at end of flat-top (A/m2) (iteration variable 37) (sweep variable 62)

real(kind=dp), public, dimension(ngc2,6):: cpt

current per turn in coil i at time j (A)

real(kind=dp), public, dimension(ngc2):: cptdin

peak current per turn input for PF coil i (A)

real(kind=dp), public, dimension(ngc2):: curpfb

PF coil current array, at beginning of pulse (MA) Indexed by coil number, not group number

real(kind=dp), public, dimension(ngc2):: curpff

PF coil current array, at flat top (MA) Indexed by coil number, not group number

real(kind=dp), public, dimension(ngc2):: curpfs

PF coil current array, at end of pulse (MA) Indexed by coil number, not group number

real(kind=dp), public :: etapsu

Efficiency of transfer of PF stored energy into or out of storage.

real(kind=dp), public :: fcohbof

ratio of central solenoid overall current density at beginning of flat-top / end of flat-top

real(kind=dp), public :: fcohbop

ratio of central solenoid overall current density at beginning of pulse / end of flat-top (iteration variable 41)

real(kind=dp), public :: fcuohsu

copper fraction of strand in central solenoid

real(kind=dp), public :: fcupfsu

copper fraction of cable conductor (PF coils)

real(kind=dp), public :: fvssu

F-value for constraint equation 51

integer, public, dimension(ngrpmx):: ipfloc

Switch for location of PF coil group i:

  • =1 PF coil on top of central solenoid (flux ramp only)
  • =2 PF coil on top of TF coil (flux ramp only)
  • =3 PF coil outside of TF coil (equilibrium coil)
  • =4 PF coil, general location (equilibrium coil)
integer, public :: ipfres

switch for PF & CS coil conductor type:

  • =0 superconducting PF coils
  • =1 resistive PF coils
real(kind=dp), public :: itr_sum

total sum of I x turns x radius for all PF coils and CS (Am)

integer, public :: isumatoh

switch for superconductor material in central solenoid:

  • =1 ITER Nb3Sn critical surface model with standard ITER parameters
  • =2 Bi-2212 high temperature superconductor (range of validity T < 20K, adjusted field b < 104 T, B > 6 T)
  • =3 NbTi
  • =4 ITER Nb3Sn model with user-specified parameters
  • =5 WST Nb3Sn parameterisation
  • =6 REBCO HTS tape in CroCo strand
  • =7 Durham Ginzburg-Landau critical surface model for Nb-Ti
  • =8 Durham Ginzburg-Landau critical surface model for REBCO
  • =9 Hazelton experimental data + Zhai conceptual model for REBCO
integer, public :: isumatpf

switch for superconductor material in PF coils:

  • =1 ITER Nb3Sn critical surface model with standard ITER parameters
  • =2 Bi-2212 high temperature superconductor (range of validity T < 20K, adjusted field b < 104 T, B > 6 T)
  • =3 NbTi
  • =4 ITER Nb3Sn model with user-specified parameters
  • =5 WST Nb3Sn parameterisation
  • =6 REBCO HTS tape in CroCo strand
  • =7 Durham Ginzburg-Landau critical surface model for Nb-Ti
  • =8 Durham Ginzburg-Landau critical surface model for REBCO
  • =9 Hazelton experimental data + Zhai conceptual model for REBCO
real(kind=dp), public :: j_crit_str_cs

superconductor strand critical current density under operating conditions in central solenoid (A/m2). Necessary for the cost calculation in $/kA m

real(kind=dp), public :: j_crit_str_pf

superconductor strand critical current density under operating conditions in PF coils (A/m2). Necessary for the cost calculation in $/kA m

integer, public :: i_pf_current

Switch for controlling the current of the PF coils:

  • =0 Input via the variables curpfb, curpff, curpfs
  • =1 SVD targets zero field across midplane (flux swing coils) and the correct vertical field at the plasma center (equilibrium coils)
integer, public :: i_sup_pf_shape

Switch for the placement of Location 3 (outboard) PF coils when the TF coils are superconducting (i_tf_sup = 1)

  • =0 (Default) Outboard PF coils follow TF shape in an ellipsoidal winding surface
  • =1 Outboard PF coils all have same radius, cylindrical winding surface
real(kind=dp), public :: jscoh_bop

central solenoid superconductor critical current density (A/m2) at beginning-of-pulse

real(kind=dp), public :: jscoh_eof

central solenoid superconductor critical current density (A/m2) at end-of-flattop

real(kind=dp), public :: jcableoh_bop

central solenoid cable critical current density (A/m2) at beginning-of-pulse

real(kind=dp), public :: jcableoh_eof

central solenoid cable critical current density (A/m2) at end-of-flattop

integer, public :: ncirt

number of PF circuits (including central solenoid and plasma)

integer, public, dimension(ngrpmx+2):: ncls

number of PF coils in group j

integer, public :: nfxfh

number of filaments the top and bottom of the central solenoid should be broken into during scaling (5 - 10 is good)

integer, public :: ngrp

number of groups of PF coils. Symmetric coil pairs should all be in the same group

integer, public :: nohc

number of PF coils (excluding the central solenoid) + 1

real(kind=dp), public :: ohhghf

Central solenoid height / TF coil internal height

real(kind=dp), public :: oh_steel_frac

central solenoid steel fraction (iteration variable 122)

real(kind=dp), public :: pf_current_safety_factor

Ratio of permissible PF coil conductor current density to critical conductor current density based on short-sample DC measurements

real(kind=dp), public, dimension(ngc2):: pfcaseth

steel case thickness for PF coil i (m)

real(kind=dp), public :: pfclres

PF coil resistivity (if ipfres=1) (Ohm-m)

real(kind=dp), public :: rhopfbus

Resistivity of CS and PF coil bus bars (irrespective of whether the coils themselves are superconducting or resistive) (Ohm-m)

real(kind=dp), public :: pfmmax

mass of heaviest PF coil (tonnes)

real(kind=dp), public :: pfrmax

radius of largest PF coil (m)

real(kind=dp), public :: pfwpmw

Total mean wall plug power dissipated in PFC and CS power supplies (MW) (issue #713)

real(kind=dp), public :: powohres

central solenoid resistive power during flattop (W)

real(kind=dp), public :: powpfres

total PF coil resistive losses during flattop (W)

real(kind=dp), public, dimension(ngc2):: ra

inner radius of coil i (m)

real(kind=dp), public, dimension(ngc2):: rb

outer radius of coil i (m)

real(kind=dp), public, dimension(ngc2):: ric

peak current in coil i (MA-turns)

real(kind=dp), public, dimension(ngc2):: rjconpf

average winding pack current density of PF coil i (A/m2) at time of peak current in that coil (calculated for ipfloc=1 coils)

real(kind=dp), public :: rjohc

allowable central solenoid current density at end of flat-top (A/m2)

real(kind=dp), public :: rjohc0

allowable central solenoid current density at beginning of pulse (A/m2)

real(kind=dp), public, dimension(ngc2):: rjpfalw

allowable winding pack current density of PF coil i (A/m2)

real(kind=dp), public :: rohc

radius to the centre of the central solenoid (m)

real(kind=dp), public :: routr

radial distance (m) from outboard TF coil leg to centre of ipfloc=3 PF coils

real(kind=dp), public, dimension(ngc2):: rpf

radius of PF coil i (m)

real(kind=dp), public :: rpf1

offset (m) of radial position of ipfloc=1 PF coils from being directly above the central solenoid

real(kind=dp), public :: rpf2

offset (m) of radial position of ipfloc=2 PF coils from being at rmajor (offset = rpf2triangrminor)

real(kind=dp), public, dimension(ngrpmx):: rref

PF coil radial positioning adjuster:

  • for groups j with ipfloc(j) = 1; rref(j) is ignored
  • for groups j with ipfloc(j) = 2; rref(j) is ignored
  • for groups j with ipfloc(j) = 3; rref(j) is ignored
  • for groups j with ipfloc(j) = 4; rref(j) is radius of the coil in units of minor radii from the major radius (r = rmajor + rref*rminor)
real(kind=dp), public :: s_tresca_oh

Maximum shear stress (Tresca criterion) coils/central solenoid [MPa]

real(kind=dp), public :: sigpfcalw

maximum permissible tensile stress (MPa) in steel coil cases for superconducting PF coils (ipfres=0)

real(kind=dp), public :: sigpfcf

fraction of JxB hoop force supported by steel case for superconducting PF coils (ipfres=0)

real(kind=dp), public, dimension(ngc2,ngc2):: sxlg

mutual inductance matrix (H)

real(kind=dp), public :: tmargoh

Central solenoid temperature margin (K)

real(kind=dp), public, dimension(ngc2):: turns

number of turns in PF coil i

real(kind=dp), public, dimension(ngc2):: vf

winding pack void fraction of PF coil i for coolant

real(kind=dp), public :: vfohc

void fraction of central solenoid conductor for coolant

real(kind=dp), public :: vsbn

total flux swing available for burn (Wb)

real(kind=dp), public :: vsefbn

flux swing from PF coils for burn (Wb)

real(kind=dp), public :: vsefsu

flux swing from PF coils for startup (Wb)

real(kind=dp), public :: vseft

total flux swing from PF coils (Wb)

real(kind=dp), public :: vsoh

total flux swing from the central solenoid (Wb)

real(kind=dp), public :: vsohbn

central solenoid flux swing for burn (Wb)

real(kind=dp), public :: vsohsu

central solenoid flux swing for startup (Wb)

real(kind=dp), public :: vssu

total flux swing for startup (constraint eqn 51 to enforce vssu=vsres+vsind) (Wb)

real(kind=dp), public :: vstot

total flux swing for pulse (Wb)

real(kind=dp), public, dimension(ngc2,6):: waves

used in current waveform of PF coils/central solenoid

real(kind=dp), public :: whtpf

total mass of the PF coil conductor (kg)

real(kind=dp), public :: whtpfs

total mass of the PF coil structure (kg)

real(kind=dp), public, dimension(ngc2):: wtc

conductor mass for PF coil i (kg)

real(kind=dp), public, dimension(ngc2):: wts

structure mass for PF coil i (kg)

real(kind=dp), public, dimension(ngc2):: zh

upper point of PF coil i (m)

real(kind=dp), public, dimension(ngc2):: zl

lower point of PF coil i (m)

real(kind=dp), public, dimension(ngc2):: zpf

z (height) location of PF coil i (m)

real(kind=dp), public, dimension(ngrpmx):: zref

PF coil vertical positioning adjuster:

  • for groups j with ipfloc(j) = 1; zref(j) is ignored
  • for groups j with ipfloc(j) = 2 AND itart=1 (only); zref(j) is distance of centre of PF coil from inside edge of TF coil (remember that PF coils for STs lie within the TF coil)
  • for groups j with ipfloc(j) = 3; zref(j) = ratio of height of coil group j to plasma minor radius
  • for groups j with ipfloc(j) = 4; zref(j) = ratio of height of coil group j to plasma minor radius
  • real(kind=dp), public :: bmaxcs_lim

    Central solenoid max field limit [T]

    real(kind=dp), public :: fbmaxcs

    F-value for CS mmax field (cons. 79, itvar 149)

    real(kind=dp), public :: ld_ratio_cst

    Ratio of CS coil turn conduit length to depth

    real(kind=dp), public :: l_cond_cst

    Length of CS of CS coil turn conduit

    real(kind=dp), public :: d_cond_cst

    Depth/width of CS of CS coil turn conduit

    real(kind=dp), public :: r_out_cst

    Length of CS of CS coil turn conduit length

    real(kind=dp), public :: r_in_cst

    Length of CS of CS coil turn conduit length


    Subroutines

    public subroutine init_pfcoil_variables()

    Initialise module variables

    Arguments

    None