Skip to content

scan_variables

Module containing routines to perform a parameter scan

None This module contains routines to perform a parameter scan over a range of values of a particular scanning variable.

IPNSCNS = 1000 module-attribute

Maximum number of scan points

IPNSCNV = 81 module-attribute

Number of available scan variables

NOUTVARS = 84 module-attribute

WIDTH = 110 module-attribute

scan_dim = None module-attribute

1-D or 2-D scan switch (1=1D, 2=2D)

isweep = None module-attribute

Number of scan points to calculate

isweep_2 = None module-attribute

Number of 2D scan points to calculate

nsweep = None module-attribute

Switch denoting quantity to scan:

  • 1 aspect
  • 2 pflux_div_heat_load_max_mw
  • 3 p_plant_electric_net_required_mw
  • 4 hfact
  • 5 oacdcp
  • 6 pflux_fw_neutron_max_mw
  • 7 beamfus0
  • 8 NOT USED
  • 9 temp_plasma_electron_vol_avg_kev
  • 10 NOT USED
  • 11 beta_norm_max
  • 12 f_c_plasma_bootstrap_max
  • 13 boundu(10: hfact)
  • 14 fiooic
  • 16 rmajor
  • 15 NOT USED
  • 17 b_tf_inboard_max
  • 18 eta_cd_norm_hcd_primary_max
  • 19 boundl(16: dr_cs)
  • 20 t_burn_min
  • 21 NOT USED
  • 22 f_t_plant_available (N.B. requires i_plant_availability=0)
  • 23 NOT USED
  • 24 p_fusion_total_max_mw
  • 25 kappa
  • 26 triang
  • 27 tbrmin (for blktmodel > 0 only)
  • 28 b_plasma_toroidal_on_axis
  • 29 radius_plasma_core_norm
  • 30 fimpvar # OBSOLETE
  • 31 f_alpha_energy_confinement_min
  • 32 epsvmc
  • 33 ttarget
  • 34 qtargettotal
  • 35 lambda_q_omp
  • 36 lambda_target
  • 37 lcon_factor
  • 38 Neon upper limit
  • 39 Argon upper limit
  • 40 Xenon upper limit
  • 41 dr_blkt_outboard
  • 42 Argon fraction f_nd_impurity_electrons(9)
  • 43 normalised minor radius at which electron cyclotron current drive is maximum
  • 44 Allowable maximum shear stress (Tresca) in tf coil structural material
  • 45 Minimum allowable temperature margin ; tf coils
  • 46 boundu(150) f_nd_plasma_separatrix_greenwald
  • 47 impurity_enrichment(9) Argon impurity enrichment
  • 48 TF coil - n_tf_wp_pancakes (integer turn winding pack)
  • 49 TF coil - n_tf_wp_layers (integer turn winding pack)
  • 50 Xenon fraction f_nd_impurity_electrons(13)
  • 51 Power fraction to lower DN Divertor f_p_div_lower
  • 52 SoL radiation fraction
  • 54 GL_nbti upper critical field at 0 Kelvin
  • 55 `dr_shld_inboard` : Inboard neutron shield thickness
  • 56 p_cryo_plant_electric_max_mw: Maximum cryogenic power (ixx=164, ixc=87)
  • 57 `b_plasma_toroidal_on_axis` lower boundary
  • 58 `dr_fw_plasma_gap_inboard` : Inboard plasma-first wall gap
  • 59 `dr_fw_plasma_gap_outboard` : Outboard plasma-first wall gap
  • 60 sig_tf_wp_max: Allowable stress in TF Coil conduit (Tresca)
  • 61 copperaoh_m2_max : CS coil current / copper area
  • 62 j_cs_flat_top_end : CS coil current density at EOF
  • 63 dr_cs : CS thickness (m)
  • 64 f_z_cs_tf_internal : CS height (m)
  • 65 n_cycle_min : Minimum cycles for CS stress model constraint 90
  • 66 f_a_cs_turn_steel: Steel fraction in CS coil
  • 67 t_crack_vertical: Initial crack vertical dimension (m)
  • 68 `inlet_temp_liq' : Inlet temperature of blanket liquid metal coolant/breeder (K)
  • 69 `outlet_temp_liq' : Outlet temperature of blanket liquid metal coolant/breeder (K)
  • 70 `blpressure_liq' : Blanket liquid metal breeder/coolant pressure (Pa)
  • 71 `n_liq_recirc' : Selected number of liquid metal breeder recirculations per day
  • 72 `bz_channel_conduct_liq' : Conductance of liquid metal breeder duct walls (A V-1 m-1)
  • 73 `pnuc_fw_ratio_dcll' : Ratio of FW nuclear power as fraction of total (FW+BB)
  • 74 `f_nuc_pow_bz_struct' : Fraction of BZ power cooled by primary coolant for dual-coolant balnket
  • 75 dx_fw_module : pitch of first wall cooling channels (m)
  • 76 eta_turbine : Thermal conversion eff.
  • 77 startupratio : Gyrotron redundancy
  • 78 fkind : Multiplier for Nth of a kind costs
  • 79 eta_ecrh_injector_wall_plug : ECH wall plug to injector efficiency
  • nsweep_2 = None module-attribute

    nsweep_2 /3/ : switch denoting quantity to scan for 2D scan:

    sweep = None module-attribute

    sweep(IPNSCNS) /../: actual values to use in scan

    sweep_2 = None module-attribute

    sweep_2(IPNSCNS) /../: actual values to use in 2D scan

    first_call_1d = None module-attribute

    first_call_2d = None module-attribute

    init_scan_variables()

    Initialise the scan module

    Source code in process/data_structure/scan_variables.py
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    def init_scan_variables():
        """Initialise the scan module"""
        global \
            scan_dim, \
            isweep, \
            isweep_2, \
            nsweep, \
            nsweep_2, \
            sweep, \
            sweep_2, \
            first_call_1d, \
            first_call_2d
    
        scan_dim = 1
        isweep = 0
        isweep_2 = 0
        nsweep = 1
        nsweep_2 = 3
        sweep = np.zeros(1000, dtype=np.float64)
        sweep_2 = np.zeros(1000, dtype=np.float64)
        first_call_1d = True
        first_call_2d = True