Skip to content

pfcoil_variables

N_PF_GROUPS_MAX = 10 module-attribute

maximum number of groups of PF coils

N_PF_COILS_IN_GROUP_MAX = 2 module-attribute

maximum number of PF coils in a given group

NPTSMX = 32 module-attribute

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

NFIXMX = 64 module-attribute

maximum number of fixed current PF coils

NGC = N_PF_GROUPS_MAX * N_PF_COILS_IN_GROUP_MAX module-attribute

maximum total number of coils across all groups

NGC2 = NGC + 2 module-attribute

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

nef = None module-attribute

nfxf = None module-attribute

ricpf = None module-attribute

ssq0 = None module-attribute

stress_z_cs_self_peak_midplane = None module-attribute

Peak axial stress (z) in central solenoid at midplane due to its own field (when at peak current) (Pa)

sig_hoop = None module-attribute

forc_z_cs_self_peak_midplane = None module-attribute

Axial force (z) on central solenoid at midplane due to its own field (when at peak current) (N)

r_pf_cs_current_filaments = None module-attribute

array of radial positions of current filaments in central solenoid

z_pf_cs_current_filaments = None module-attribute

array of vertical positions of current filaments in central solenoid

c_pf_cs_current_filaments = None module-attribute

array of current in filaments in central solenoid

xind = None module-attribute

r_pf_coil_middle_group_array = None module-attribute

2D array of PF coil middle radii, indexed by group and coil in group

z_pf_coil_middle_group_array = None module-attribute

2D array of PF coil middle heights, indexed by group and coil in group

ccls = None module-attribute

ccl0 = None module-attribute

bpf2 = None module-attribute

vsdum = None module-attribute

first_call = None module-attribute

cslimit = None module-attribute

alfapf = None module-attribute

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

alstroh = None module-attribute

allowable hoop stress in Central Solenoid structural material (Pa)

i_cs_stress = None module-attribute

Switch for CS stress calculation: - =0 Hoop stress only - =1 Hoop + Axial stress

a_cs_poloidal = None module-attribute

Central solenoid vertical cross-sectional area (m2)

a_cs_turn = None module-attribute

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

awpoh = None module-attribute

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

b_cs_peak_flat_top_end = None module-attribute

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

b_cs_peak_pulse_start = None module-attribute

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

b_pf_coil_peak = None module-attribute

peak field at coil i (T)

ccl0_ma = None module-attribute

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

ccls_ma = None module-attribute

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

j_cs_pulse_start = None module-attribute

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

j_cs_flat_top_end = None module-attribute

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

c_pf_coil_turn = None module-attribute

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

c_pf_coil_turn_peak_input = None module-attribute

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

c_pf_cs_coil_pulse_start_ma = None module-attribute

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

c_pf_cs_coil_flat_top_ma = None module-attribute

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

c_pf_cs_coil_pulse_end_ma = None module-attribute

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

etapsu = None module-attribute

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

f_j_cs_start_end_flat_top = None module-attribute

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

f_j_cs_start_pulse_end_flat_top = None module-attribute

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

fcuohsu = None module-attribute

copper fraction of strand in central solenoid

fcupfsu = None module-attribute

copper fraction of cable conductor (PF coils)

i_pf_location = None module-attribute

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)

i_pf_conductor = None module-attribute

switch for PF & CS coil conductor type: - =0 superconducting PF coils - =1 resistive PF coils

itr_sum = None module-attribute

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

i_cs_superconductor = None module-attribute

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

i_pf_superconductor = None module-attribute

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

j_crit_str_cs = None module-attribute

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

j_crit_str_pf = None module-attribute

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

i_pf_current = None module-attribute

Switch for controlling the current of the PF coils: - =0 Input via the variables c_pf_cs_coil_pulse_start_ma, c_pf_cs_coil_flat_top_ma, c_pf_cs_coil_pulse_end_ma - =1 SVD targets zero field across midplane (flux swing coils) and the correct vertical field at the plasma center (equilibrium coils)

i_r_pf_outside_tf_placement = None module-attribute

Switch for the placement of Location 3 (outboard) PF coils - =0 (Default) Outboard PF coils follow TF shape in an ellipsoidal winding surface - =1 Outboard PF coils all have same radius, cylindrical winding surface

j_cs_conductor_critical_pulse_start = None module-attribute

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

j_cs_conductor_critical_flat_top_end = None module-attribute

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

jcableoh_bop = None module-attribute

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

jcableoh_eof = None module-attribute

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

n_pf_cs_plasma_circuits = None module-attribute

number of PF circuits (including central solenoid and plasma)

n_pf_coils_in_group = None module-attribute

number of PF coils in group j

n_cs_current_filaments = None module-attribute

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

n_pf_coil_groups = None module-attribute

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

n_cs_pf_coils = None module-attribute

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

f_z_cs_tf_internal = None module-attribute

Central solenoid height / TF coil internal height

f_a_cs_turn_steel = None module-attribute

Fraction of CS turn poloidal area that is steel (iteration variable 122)

pf_current_safety_factor = None module-attribute

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

pfcaseth = None module-attribute

steel case thickness for PF coil i (m)

rho_pf_coil = None module-attribute

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

rhopfbus = None module-attribute

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

m_pf_coil_max = None module-attribute

mass of heaviest PF coil (tonnes)

r_pf_coil_outer_max = None module-attribute

radius of largest PF coil (m)

p_pf_electric_supplies_mw = None module-attribute

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

p_cs_resistive_flat_top = None module-attribute

central solenoid resistive power during flattop (W)

p_pf_coil_resistive_total_flat_top = None module-attribute

total PF coil resistive losses during flattop (W)

r_pf_coil_inner = None module-attribute

inner radius of coil i (m)

r_pf_coil_outer = None module-attribute

outer radius of coil i (m)

c_pf_cs_coils_peak_ma = None module-attribute

peak current in coil i (MA-turns)

j_pf_coil_wp_peak = None module-attribute

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

j_cs_critical_flat_top_end = None module-attribute

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

j_cs_critical_pulse_start = None module-attribute

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

j_pf_wp_critical = None module-attribute

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

r_cs_middle = None module-attribute

radius to the centre of the central solenoid (m)

dz_cs_full = None module-attribute

Full height of the central solenoid (m)

dr_pf_tf_outboard_out_offset = None module-attribute

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

r_pf_coil_middle = None module-attribute

radius of PF coil i (m)

dr_pf_cs_middle_offset = None module-attribute

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

rpf2 = None module-attribute

offset (m) of radial position of i_pf_location=2 PF coils from being at rmajor (offset = rpf2*triang*rminor)

rref = None module-attribute

PF coil radial positioning adjuster: - for groups j with i_pf_location(j) = 1; rref(j) is ignored - for groups j with i_pf_location(j) = 2; rref(j) is ignored - for groups j with i_pf_location(j) = 3; rref(j) is ignored - for groups j with i_pf_location(j) = 4; rref(j) is radius of the coil in units of minor radii from the major radius (r = rmajor + rref*rminor)

s_shear_cs_peak = None module-attribute

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

sigpfcalw = None module-attribute

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

sigpfcf = None module-attribute

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

ind_pf_cs_plasma_mutual = None module-attribute

mutual inductance matrix (H)

temp_cs_superconductor_margin = None module-attribute

Central solenoid temperature margin (K)

n_pf_coil_turns = None module-attribute

number of turns in PF coil i

f_a_pf_coil_void = None module-attribute

winding pack void fraction of PF coil i for coolant

f_a_cs_void = None module-attribute

void fraction of central solenoid conductor for coolant

vs_cs_pf_total_burn = None module-attribute

total flux swing available for burn (Wb)

vs_pf_coils_total_burn = None module-attribute

flux swing from PF coils for burn (Wb)

vs_pf_coils_total_ramp = None module-attribute

flux swing from PF coils for startup (Wb)

vs_pf_coils_total_pulse = None module-attribute

total flux swing from PF coils (Wb)

vs_cs_total_pulse = None module-attribute

total flux swing from the central solenoid (Wb)

vs_cs_burn = None module-attribute

central solenoid flux swing for burn (Wb)

vs_cs_ramp = None module-attribute

central solenoid flux swing for startup (Wb)

vs_cs_pf_total_ramp = None module-attribute

total flux swing for startup (constraint eqn 51 to enforce vs_cs_pf_total_ramp=vs_plasma_res_ramp+vs_plasma_ind_ramp) (Wb)

vs_cs_pf_total_pulse = None module-attribute

total flux swing for pulse (Wb)

f_c_pf_cs_peak_time_array = None module-attribute

PF, CS coil current relative to peak current at time points 1 to 6

m_pf_coil_conductor_total = None module-attribute

total mass of the PF coil conductor (kg)

m_pf_coil_structure_total = None module-attribute

total mass of the PF coil structure (kg)

m_pf_coil_conductor = None module-attribute

conductor mass for PF coil i (kg)

m_pf_coil_structure = None module-attribute

structure mass for PF coil i (kg)

z_pf_coil_upper = None module-attribute

upper point of PF coil i (m)

z_pf_coil_lower = None module-attribute

lower point of PF coil i (m)

z_pf_coil_middle = None module-attribute

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

zref = None module-attribute

PF coil vertical positioning adjuster: - for groups j with i_pf_location(j) = 1; zref(j) is ignored - for groups j with i_pf_location(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 i_pf_location(j) = 3; zref(j) = ratio of height of coil group j to plasma minor radius - for groups j with i_pf_location(j) = 4; zref(j) = ratio of height of coil group j to plasma minor radius

b_cs_limit_max = None module-attribute

Central solenoid max field limit [T]

f_dr_dz_cs_turn = None module-attribute

Ratio of CS coil turn conduit length to depth

dr_cs_turn = None module-attribute

Length of CS of CS coil turn conduit

dr_cs_full = None module-attribute

Full radial thickness of the central solenoid (m)

dz_cs_turn = None module-attribute

Depth/width of CS of CS coil turn conduit

radius_cs_turn_corners = None module-attribute

Radius of curvature of CS coil turn corners (m)

radius_cs_turn_cable_space = None module-attribute

Length of CS of CS coil turn conduit length

init_pfcoil_module()

Source code in process/data_structure/pfcoil_variables.py
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
def init_pfcoil_module():
    global \
        first_call, \
        cslimit, \
        nef, \
        nfxf, \
        ricpf, \
        ssq0, \
        stress_z_cs_self_peak_midplane, \
        sig_hoop, \
        forc_z_cs_self_peak_midplane, \
        r_pf_cs_current_filaments, \
        z_pf_cs_current_filaments, \
        c_pf_cs_current_filaments, \
        xind, \
        r_pf_coil_middle_group_array, \
        z_pf_coil_middle_group_array, \
        ccls, \
        ccl0, \
        bpf2, \
        vsdum

    first_call = True
    cslimit = False
    nef = 0
    nfxf = 0
    ricpf = 0.0
    ssq0 = 0.0
    stress_z_cs_self_peak_midplane = 0.0
    sig_hoop = 0.0
    forc_z_cs_self_peak_midplane = 0.0

    r_pf_cs_current_filaments = np.zeros(NFIXMX)
    z_pf_cs_current_filaments = np.zeros(NFIXMX)
    c_pf_cs_current_filaments = np.zeros(NFIXMX)
    xind = np.zeros(NFIXMX)
    r_pf_coil_middle_group_array = np.zeros((N_PF_GROUPS_MAX, N_PF_COILS_IN_GROUP_MAX))
    z_pf_coil_middle_group_array = np.zeros((N_PF_GROUPS_MAX, N_PF_COILS_IN_GROUP_MAX))
    ccls = np.zeros(N_PF_GROUPS_MAX)
    ccl0 = np.zeros(N_PF_GROUPS_MAX)
    bpf2 = np.zeros(NGC2)
    vsdum = np.zeros((NGC2, 3))

init_pfcoil_variables()

Initialise the PF coil variables

Source code in process/data_structure/pfcoil_variables.py
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
def init_pfcoil_variables():
    """Initialise the PF coil variables"""
    global \
        alfapf, \
        alstroh, \
        i_cs_stress, \
        a_cs_poloidal, \
        a_cs_turn, \
        awpoh, \
        b_cs_peak_flat_top_end, \
        b_cs_peak_pulse_start, \
        b_pf_coil_peak, \
        ccl0_ma, \
        ccls_ma, \
        j_cs_pulse_start, \
        j_cs_flat_top_end, \
        c_pf_coil_turn, \
        c_pf_coil_turn_peak_input, \
        c_pf_cs_coil_pulse_start_ma, \
        c_pf_cs_coil_flat_top_ma, \
        c_pf_cs_coil_pulse_end_ma, \
        etapsu, \
        f_j_cs_start_end_flat_top, \
        f_j_cs_start_pulse_end_flat_top, \
        fcuohsu, \
        fcupfsu, \
        i_pf_location, \
        i_pf_conductor, \
        itr_sum, \
        i_cs_superconductor, \
        i_pf_superconductor, \
        j_crit_str_cs, \
        j_crit_str_pf, \
        i_pf_current, \
        i_r_pf_outside_tf_placement, \
        j_cs_conductor_critical_pulse_start, \
        j_cs_conductor_critical_flat_top_end, \
        jcableoh_bop, \
        jcableoh_eof, \
        n_pf_cs_plasma_circuits, \
        n_pf_coils_in_group, \
        n_cs_current_filaments, \
        n_pf_coil_groups, \
        n_cs_pf_coils, \
        f_z_cs_tf_internal, \
        f_a_cs_turn_steel, \
        pf_current_safety_factor, \
        pfcaseth, \
        rho_pf_coil, \
        rhopfbus, \
        m_pf_coil_max, \
        r_pf_coil_outer_max, \
        p_pf_electric_supplies_mw, \
        p_cs_resistive_flat_top, \
        p_pf_coil_resistive_total_flat_top, \
        r_pf_coil_inner, \
        r_pf_coil_outer, \
        c_pf_cs_coils_peak_ma, \
        j_pf_coil_wp_peak, \
        j_cs_critical_flat_top_end, \
        j_cs_critical_pulse_start, \
        j_pf_wp_critical, \
        r_cs_middle, \
        dz_cs_full, \
        dr_pf_tf_outboard_out_offset, \
        r_pf_coil_middle, \
        dr_pf_cs_middle_offset, \
        rpf2, \
        rref, \
        s_shear_cs_peak, \
        sigpfcalw, \
        sigpfcf, \
        ind_pf_cs_plasma_mutual, \
        temp_cs_superconductor_margin, \
        n_pf_coil_turns, \
        f_a_pf_coil_void, \
        f_a_cs_void, \
        vs_cs_pf_total_burn, \
        vs_pf_coils_total_burn, \
        vs_pf_coils_total_ramp, \
        vs_pf_coils_total_pulse, \
        vs_cs_total_pulse, \
        vs_cs_burn, \
        vs_cs_ramp, \
        vs_cs_pf_total_ramp, \
        vs_cs_pf_total_pulse, \
        f_c_pf_cs_peak_time_array, \
        m_pf_coil_conductor_total, \
        m_pf_coil_structure_total, \
        m_pf_coil_conductor, \
        m_pf_coil_structure, \
        z_pf_coil_upper, \
        z_pf_coil_lower, \
        z_pf_coil_middle, \
        zref, \
        b_cs_limit_max, \
        f_dr_dz_cs_turn, \
        dr_cs_turn, \
        dr_cs_full, \
        dz_cs_turn, \
        radius_cs_turn_corners, \
        radius_cs_turn_cable_space

    alfapf = 5e-10
    alstroh = 4.0e8
    i_cs_stress = 1
    a_cs_poloidal = 0.0
    a_cs_turn = 0.0
    awpoh = 0.0
    b_cs_peak_flat_top_end = 0.0
    b_cs_peak_pulse_start = 0.0
    b_pf_coil_peak = np.zeros(NGC2)
    ccl0_ma = np.zeros(N_PF_GROUPS_MAX)
    ccls_ma = np.zeros(N_PF_GROUPS_MAX)
    j_cs_pulse_start = 0.0
    j_cs_flat_top_end = 1.85e7
    c_pf_coil_turn = np.zeros((NGC2, 6))
    c_pf_coil_turn_peak_input = np.full(NGC2, 4.0e4)
    c_pf_cs_coil_pulse_start_ma = np.zeros(NGC2)
    c_pf_cs_coil_flat_top_ma = np.zeros(NGC2)
    c_pf_cs_coil_pulse_end_ma = np.zeros(NGC2)
    etapsu = 0.9
    f_j_cs_start_end_flat_top = 0.0
    f_j_cs_start_pulse_end_flat_top = 0.9
    fcuohsu = 0.7
    fcupfsu = 0.69
    i_pf_location = np.array([2, 2, 3, 0, 0, 0, 0, 0, 0, 0])
    i_pf_conductor = 0
    itr_sum = 0.0
    i_cs_superconductor = 1
    i_pf_superconductor = 1
    j_crit_str_cs = 0.0
    j_crit_str_pf = 0.0
    i_pf_current = 1
    i_r_pf_outside_tf_placement = 0
    j_cs_conductor_critical_pulse_start = 0.0
    j_cs_conductor_critical_flat_top_end = 0.0
    jcableoh_bop = 0.0
    jcableoh_eof = 0.0
    n_pf_cs_plasma_circuits = 0
    n_pf_coils_in_group = np.array([1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0])
    n_cs_current_filaments = 7
    n_pf_coil_groups = 3
    n_cs_pf_coils = 0
    f_z_cs_tf_internal = 0.71
    f_a_cs_turn_steel = 0.5
    pf_current_safety_factor = 1.0
    pfcaseth = np.zeros(NGC2)
    rho_pf_coil = 2.5e-8
    rhopfbus = 3.93e-8
    m_pf_coil_max = 0.0
    r_pf_coil_outer_max = 0.0
    p_pf_electric_supplies_mw = 0.0
    p_cs_resistive_flat_top = 0.0
    p_pf_coil_resistive_total_flat_top = 0.0
    r_pf_coil_inner = np.zeros(NGC2)
    r_pf_coil_outer = np.zeros(NGC2)
    c_pf_cs_coils_peak_ma = np.zeros(NGC2)
    j_pf_coil_wp_peak = np.full(NGC2, 3.0e7)
    j_cs_critical_flat_top_end = 0.0
    j_cs_critical_pulse_start = 0.0
    j_pf_wp_critical = np.zeros(NGC2)
    r_cs_middle = 0.0
    dz_cs_full = 0.0
    dr_pf_tf_outboard_out_offset = 1.5
    r_pf_coil_middle = np.zeros(NGC2)
    dr_pf_cs_middle_offset = 0.0
    rpf2 = -1.63
    rref = np.full(N_PF_GROUPS_MAX, 7.0)
    s_shear_cs_peak = 0.0
    sigpfcalw = 500.0
    sigpfcf = 1.0
    ind_pf_cs_plasma_mutual = np.zeros((NGC2, NGC2))
    temp_cs_superconductor_margin = 0.0
    n_pf_coil_turns = np.zeros(NGC2)
    f_a_pf_coil_void = np.full(NGC2, 0.3)
    f_a_cs_void = 0.3
    vs_cs_pf_total_burn = 0.0
    vs_pf_coils_total_burn = 0.0
    vs_pf_coils_total_ramp = 0.0
    vs_pf_coils_total_pulse = 0.0
    vs_cs_total_pulse = 0.0
    vs_cs_burn = 0.0
    vs_cs_ramp = 0.0
    vs_cs_pf_total_ramp = 0.0
    vs_cs_pf_total_pulse = 0.0
    f_c_pf_cs_peak_time_array = np.zeros((NGC2, 6))
    m_pf_coil_conductor_total = 0.0
    m_pf_coil_structure_total = 0.0
    m_pf_coil_conductor = np.zeros(NGC2)
    m_pf_coil_structure = np.zeros(NGC2)
    z_pf_coil_upper = np.zeros(NGC2)
    z_pf_coil_lower = np.zeros(NGC2)
    z_pf_coil_middle = np.zeros(NGC2)
    zref = np.array([3.6, 1.2, 2.5, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0])
    b_cs_limit_max = 13.0
    f_dr_dz_cs_turn = 70.0 / 22.0
    dr_cs_turn = 0.0
    dr_cs_full = 0.0
    dz_cs_turn = 0.0
    radius_cs_turn_cable_space = 0.0
    radius_cs_turn_corners = 3.0e-3