bluemira.codes.process.equation_variable_mapping ================================================ .. py:module:: bluemira.codes.process.equation_variable_mapping .. autoapi-nested-parse:: Death to PROCESS integers Attributes ---------- .. autoapisummary:: bluemira.codes.process.equation_variable_mapping.OBJECTIVE_MIN_ONLY bluemira.codes.process.equation_variable_mapping.ITERATION_VAR_MAPPING bluemira.codes.process.equation_variable_mapping.VAR_ITERATION_MAPPING Classes ------- .. autoapisummary:: bluemira.codes.process.equation_variable_mapping.Objective bluemira.codes.process.equation_variable_mapping.ConstraintSelection bluemira.codes.process.equation_variable_mapping.Constraint Module Contents --------------- .. py:class:: Objective(*args, **kwds) Bases: :py:obj:`bluemira.codes.utilities.Model` .. autoapi-inheritance-diagram:: bluemira.codes.process.equation_variable_mapping.Objective :parts: 1 :private-bases: Enum for PROCESS optimisation objective .. py:attribute:: MAJOR_RADIUS :value: 1 .. py:attribute:: NEUTRON_WALL_LOAD :value: 3 .. py:attribute:: MAX_COIL_POWER :value: 4 .. py:attribute:: FUSION_GAIN :value: 5 .. py:attribute:: ELECTRICITY_COST :value: 6 .. py:attribute:: CAPITAL_COST :value: 7 .. py:attribute:: ASPECT_RATIO :value: 8 .. py:attribute:: DIVERTOR_HEAT_LOAD :value: 9 .. py:attribute:: TOROIDAL_FIELD :value: 10 .. py:attribute:: INJECTED_POWER :value: 11 .. py:attribute:: PULSE_LENGTH :value: 14 .. py:attribute:: AVAILABILITY :value: 15 .. py:attribute:: MAJOR_RADIUS_PULSE_LENGTH :value: 16 .. py:attribute:: NET_ELECTRICITY :value: 17 .. py:attribute:: NULL :value: 18 .. py:attribute:: FUSION_GAIN_PULSE_LENGTH :value: 19 .. py:data:: OBJECTIVE_MIN_ONLY :value: (16, 19) .. py:class:: ConstraintSelection Mixin dataclass for a Constraint selection in PROCESSModel :param _value_: Integer value of the constraint :param requires_variables: List of required iteration variables for the constraint :param requires_values: List of required inputs for the constraint :param description: Short description of the model constraint .. py:attribute:: _value_ :type: int .. py:attribute:: requires_variables :type: tuple[int] :value: () .. py:attribute:: requires_values :type: tuple[str] :value: () .. py:attribute:: description :type: str :value: '' .. py:class:: Constraint(*args, **kwds) Bases: :py:obj:`ConstraintSelection`, :py:obj:`bluemira.codes.utilities.Model` .. autoapi-inheritance-diagram:: bluemira.codes.process.equation_variable_mapping.Constraint :parts: 1 :private-bases: Enum for PROCESS constraints .. py:attribute:: BETA_CONSISTENCY :value: (1, (5,), (), 'Beta consistency') .. py:attribute:: GLOBAL_POWER_CONSISTENCY :value: (2, (1, 2, 3, 4, 6, 10, 11), (), 'Global Power Balance Consistency') .. py:attribute:: ION_POWER_CONSISTENCY :value: (3, (1, 2, 3, 4, 6, 10, 11), (), 'DEPRECATED - Ion Power Balance Consistency') .. py:attribute:: ELECTRON_POWER_CONSISTENCY :value: (4, (1, 2, 3, 4, 6, 10, 11), (), 'DEPRECATED - Electron Power Balance Consistency') .. py:attribute:: DENSITY_UPPER_LIMIT :value: (5, (1, 2, 3, 4, 6), (), 'Density Upper Limit (Greenwald)') .. py:attribute:: EPS_BETA_POL_UPPER_LIMIT :value: (6, (1, 2, 3, 4, 6, 8), ('epbetmax',), 'Equation for epsilon beta-poloidal upper limit') .. py:attribute:: HOT_BEAM_ION_DENSITY :value: (7, (7,), (), 'Equation for hot beam ion density') .. py:attribute:: NWL_UPPER_LIMIT :value: (8, (1, 2, 3, 4, 6), ('pflux_fw_neutron_max_mw',), 'Neutron wall load upper limit') .. py:attribute:: FUSION_POWER_UPPER_LIMIT :value: (9, (1, 2, 3, 4, 6), ('p_fusion_total_max_mw',), 'Equation for fusion power upper limit') .. py:attribute:: RADIAL_BUILD_CONSISTENCY :value: (11, (1, 3, 13, 16, 29, 42, 61), (), 'Radial Build Consistency') .. py:attribute:: VS_LOWER_LIMIT :value: (12, (1, 2, 3), (), 'Equation for volt-second capability lower limit') .. py:attribute:: BURN_TIME_LOWER_LIMIT :value: (13, (1, 2, 3, 6, 16, 17, 19, 29, 42, 44, 61), (), 'Burn time lower limit') .. py:attribute:: NBI_LAMBDA_CENTRE :value: (14, (), (), 'Equation to fix number of NBI decay lengths to plasma centre') .. py:attribute:: LH_THRESHHOLD_LIMIT :value: (15, (), (), 'L-H Power ThresHhold Limit') .. py:attribute:: NET_ELEC_LOWER_LIMIT :value: (16, (1, 2, 3), ('p_plant_electric_net_required_mw',), 'Net electric power lower limit') .. py:attribute:: RAD_POWER_UPPER_LIMIT :value: (17, (), (), 'Equation for radiation power upper limit') .. py:attribute:: DIVERTOR_HEAT_UPPER_LIMIT :value: (18, (), (), 'Equation for divertor heat load upper limit') .. py:attribute:: MVA_UPPER_LIMIT :value: (19, (), ('mvalim',), 'Equation for MVA upper limit') .. py:attribute:: NBI_TANGENCY_UPPER_LIMIT :value: (20, (3, 13, 31), (), 'Equation for neutral beam tangency radius upper limit') .. py:attribute:: AMINOR_LOWER_LIMIT :value: (21, (), (), 'Equation for minor radius lower limit') .. py:attribute:: DIV_COLL_CONN_UPPER_LIMIT :value: (22, (34,), (), 'Equation for divertor collision/connection length ratio upper limit') .. py:attribute:: COND_SHELL_R_RATIO_UPPER_LIMIT :value: (23, (1, 74, 104), ('cwrmax',), 'Equation for conducting shell radius / rminor upper limit') .. py:attribute:: BETA_UPPER_LIMIT :value: (24, (1, 2, 3, 4, 6, 18), (), 'Beta Upper Limit') .. py:attribute:: PEAK_TF_UPPER_LIMIT :value: (25, (3, 13, 29), ('b_tf_inboard_max',), 'Peak toroidal field upper limit') .. py:attribute:: CS_EOF_DENSITY_LIMIT :value: (26, (37, 41), (), 'Central solenoid EOF current density upper limit') .. py:attribute:: CS_BOP_DENSITY_LIMIT :value: (27, (37, 41), (), 'Central solenoid bop current density upper limit') .. py:attribute:: Q_LOWER_LIMIT :value: (28, (47,), ('big_q_plasma_min',), 'Equation for fusion gain (big Q) lower limit') .. py:attribute:: IB_RADIAL_BUILD_CONSISTENCY :value: (29, (1, 3, 13, 16, 29, 42, 61), (), 'Equation for minor radius lower limit OR Inboard radial... .. py:attribute:: PINJ_UPPER_LIMIT :value: (30, (11, 47), ('p_hcd_injected_max',), 'Injection Power Upper Limit') .. py:attribute:: TF_CASE_STRESS_UPPER_LIMIT :value: (31, (56, 57, 58, 59, 60), ('sig_tf_case_max',), 'TF coil case stress upper limit') .. py:attribute:: TF_JACKET_STRESS_UPPER_LIMIT :value: (32, (56, 57, 58, 59, 60), ('sig_tf_wp_max',), 'TF WP steel jacket/conduit stress upper limit') .. py:attribute:: TF_JCRIT_RATIO_UPPER_LIMIT :value: (33, (56, 57, 58, 59, 60), (), 'TF superconductor operating current / critical current density') .. py:attribute:: TF_DUMP_VOLTAGE_UPPER_LIMIT :value: (34, (56, 57, 58, 59, 60), ('v_tf_coil_dump_quench_max_kv',), 'TF dump voltage upper limit') .. py:attribute:: TF_CURRENT_DENSITY_UPPER_LIMIT :value: (35, (56, 57, 58, 59, 60), (), 'TF winding pack current density upper limit') .. py:attribute:: TF_T_MARGIN_LOWER_LIMIT :value: (36, (56, 57, 58, 59, 60), ('tftmp',), 'TF temperature margin upper limit') .. py:attribute:: CD_GAMMA_UPPER_LIMIT :value: (37, (47,), ('eta_cd_norm_hcd_primary_max',), 'Equation for current drive gamma upper limit') .. py:attribute:: FW_TEMP_UPPER_LIMIT :value: (39, (), (), 'First wall peak temperature upper limit') .. py:attribute:: PAUX_LOWER_LIMIT :value: (40, (), ('p_hcd_injected_min',), 'Start-up injection power upper limit (PULSE)') .. py:attribute:: IP_RAMP_LOWER_LIMIT :value: (41, (65,), ('tohsmn',), 'Plasma ramp-up time lower limit (PULSE)') .. py:attribute:: CYCLE_TIME_LOWER_LIMIT :value: (42, (17, 65), ('t_cycle_min',), 'Cycle time lower limit (PULSE)') .. py:attribute:: CENTREPOST_TEMP_AVERAGE :value: (43, (13, 20, 69, 70), (), 'Average centrepost temperature (TART) consistency equation') .. py:attribute:: CENTREPOST_TEMP_UPPER_LIMIT :value: (44, (69, 70), ('ptempalw',), 'Peak centrepost temperature upper limit (TART)') .. py:attribute:: QEDGE_LOWER_LIMIT :value: (45, (1, 2, 3, 70), (), 'Edge safety factor lower limit (TART)') .. py:attribute:: IP_IROD_UPPER_LIMIT :value: (46, (2, 60), (), 'Equation for Ip/Irod upper limit (TART)') .. py:attribute:: BETAPOL_UPPER_LIMIT :value: (48, (2, 3, 18), ('betpmax',), 'Poloidal beta upper limit') .. py:attribute:: REP_RATE_UPPER_LIMIT :value: (50, (86,), (), 'IFE repetition rate upper limit (IFE)') .. py:attribute:: CS_FLUX_CONSISTENCY :value: (51, (1, 3, 16, 29), (), 'Startup volt-seconds consistency (PULSE)') .. py:attribute:: TBR_LOWER_LIMIT :value: (52, (90, 91), ('tbrmin',), 'Tritium breeding ratio lower limit') .. py:attribute:: NFLUENCE_TF_UPPER_LIMIT :value: (53, (93, 94), ('nflutfmax',), 'Neutron fluence on TF coil upper limit') .. py:attribute:: PNUCL_TF_UPPER_LIMIT :value: (54, (93, 94), ('ptfnucmax',), 'Peak TF coil nuclear heating upper limit') .. py:attribute:: PSEPR_UPPER_LIMIT :value: (56, (1, 3), ('pseprmax',), 'Pseparatrix/Rmajor upper limit') .. py:attribute:: NBI_SHINETHROUGH_UPPER_LIMIT :value: (59, (4, 6, 19), ('f_p_beam_shine_through_max',), 'Neutral beam shinethrough fraction upper limit (NBI)') .. py:attribute:: CS_T_MARGIN_LOWER_LIMIT :value: (60, (), (), 'Central solenoid temperature margin lower limit (SCTF)[sic.. I guess they mean SCCS]') .. py:attribute:: AVAIL_LOWER_LIMIT :value: (61, (107,), ('avail_min',), 'Minimum availability value') .. py:attribute:: CONFINEMENT_RATIO_LOWER_LIMIT :value: (62, (), ('f_alpha_energy_confinement_min',), 't_alpha_confinement/t_energy_confinement the... .. py:attribute:: NITERPUMP_UPPER_LIMIT :value: (63, (), (), 'The number of ITER-like vacuum pumps n_iter_vacuum_pumps < tfno') .. py:attribute:: ZEFF_UPPER_LIMIT :value: (64, (), ('zeff_max',), 'Zeff less than or equal to zeff_max') .. py:attribute:: DUMP_TIME_LOWER_LIMIT :value: (65, (56,), ('max_vv_stress',), 'Dump time set by VV loads') .. py:attribute:: PF_ENERGY_RATE_UPPER_LIMIT :value: (66, (65,), ('t_plant_pulse_plasma_current_ramp_up',), 'Limit on rate of change of energy in... .. py:attribute:: WALL_RADIATION_UPPER_LIMIT :value: (67, (4, 6), ('f_fw_rad_max', 'pflux_fw_rad_max_mw'), 'Simple radiation wall load limit') .. py:attribute:: PSEPB_QAR_UPPER_LIMIT :value: (68, (), ('psepbqarmax',), 'P_separatrix Bt / q A R upper limit') .. py:attribute:: PSEP_KALLENBACH_UPPER_LIMIT :value: (69, (118,), (), 'ensure the separatrix power = the value from Kallenbach divertor') .. py:attribute:: TSEP_CONSISTENCY :value: (70, (119,), (), 'ensure that temp = separatrix in the pedestal profile') .. py:attribute:: NSEP_CONSISTENCY :value: (71, (), (), 'ensure that neomp = separatrix density (nd_plasma_separatrix_electron) x neratio') .. py:attribute:: CS_STRESS_UPPER_LIMIT :value: (72, (), (), 'Central solenoid shear stress limit (Tresca yield criterion)') .. py:attribute:: PSEP_LH_AUX_CONSISTENCY :value: (73, (137,), (), 'Psep >= Plh + Paux') .. py:attribute:: TF_CROCO_T_UPPER_LIMIT :value: (74, (141,), ('temp_croco_quench_max',), 'TFC quench') .. py:attribute:: TF_CROCO_CU_AREA_CONSTRAINT :value: (75, (143,), ('coppera_m2_max',), 'TFC current / copper area < maximum') .. py:attribute:: EICH_SEP_DENSITY_CONSTRAINT :value: (76, (), (), 'Eich critical separatrix density') .. py:attribute:: TF_TURN_CURRENT_UPPER_LIMIT :value: (77, (), ('c_tf_turn_max',), 'TF coil current per turn upper limit') .. py:attribute:: REINKE_IMP_FRAC_LOWER_LIMIT :value: (78, (), (), 'Reinke criterion impurity fraction lower limit') .. py:attribute:: BMAX_CS_UPPER_LIMIT :value: (79, (149,), ('b_cs_limit_max',), 'Peak CS field upper limit') .. py:attribute:: PDIVT_LOWER_LIMIT :value: (80, (153,), ('p_plasma_separatrix_min_mw',), 'Divertor power lower limit') .. py:attribute:: DENSITY_PROFILE_CONSISTENCY :value: (81, (154,), (), 'Ne(0) > ne(ped) constraint') .. py:attribute:: STELLARATOR_COIL_CONSISTENCY :value: (82, (171,), ('toroidalgap',)) .. py:attribute:: STELLARATOR_RADIAL_BUILD_CONSISTENCY :value: (83, (172,), (), 'Radial build consistency for stellarators') .. py:attribute:: BETA_LOWER_LIMIT :value: (84, (173,), (), 'Lower limit for beta') .. py:attribute:: CP_LIFETIME_LOWER_LIMIT :value: (85, (), ('nflutfmax',), 'Constraint for centrepost lifetime') .. py:attribute:: TURN_SIZE_UPPER_LIMIT :value: (86, (), ('t_turn_tf_max',), 'Constraint for TF coil turn dimension') .. py:attribute:: CRYOPOWER_UPPER_LIMIT :value: (87, (), (), 'Constraint for cryogenic power') .. py:attribute:: TF_STRAIN_UPPER_LIMIT :value: (88, (), ('str_wp_max',), 'Constraint for TF coil strain absolute value') .. py:attribute:: OH_CROCO_CU_AREA_CONSTRAINT :value: (89, (166,), ('copperaoh_m2_max',), 'Constraint for CS coil quench protection') .. py:attribute:: CS_FATIGUE :value: (90, (), ('residual_sig_hoop', 'n_cycle_min', 't_crack_radial', 't_crack_vertical',... .. py:attribute:: ECRH_IGNITABILITY :value: (91, (), (), 'Checking if the design point is ECRH ignitable') .. py:data:: ITERATION_VAR_MAPPING .. py:data:: VAR_ITERATION_MAPPING