bluemira.codes.process.model_mapping ==================================== .. py:module:: bluemira.codes.process.model_mapping .. autoapi-nested-parse:: PROCESS model mappings Classes ------- .. autoapisummary:: bluemira.codes.process.model_mapping.classproperty bluemira.codes.process.model_mapping.ModelSelection bluemira.codes.process.model_mapping.PROCESSModel bluemira.codes.process.model_mapping.PROCESSOptimisationAlgorithm bluemira.codes.process.model_mapping.PlasmaGeometryModel bluemira.codes.process.model_mapping.PlasmaNullConfigurationModel bluemira.codes.process.model_mapping.PlasmaPedestalModel bluemira.codes.process.model_mapping.BetaNormMaxModel bluemira.codes.process.model_mapping.PlasmaProfileModel bluemira.codes.process.model_mapping.AlphaJModel bluemira.codes.process.model_mapping.BetaLimitModel bluemira.codes.process.model_mapping.AlphaPressureModel bluemira.codes.process.model_mapping.DensityLimitModel bluemira.codes.process.model_mapping.PlasmaCurrentScalingLaw bluemira.codes.process.model_mapping.ConfinementTimeScalingLaw bluemira.codes.process.model_mapping.BootstrapCurrentScalingLaw bluemira.codes.process.model_mapping.DiamagneticCurrentScalingLaw bluemira.codes.process.model_mapping.PfirschSchluterCurrentScalingLaw bluemira.codes.process.model_mapping.LHThreshholdScalingLaw bluemira.codes.process.model_mapping.RadiationLossModel bluemira.codes.process.model_mapping.PlasmaWallGapModel bluemira.codes.process.model_mapping.SphericalTokamakModel bluemira.codes.process.model_mapping.SphericalTokamakPFModel bluemira.codes.process.model_mapping.OperationModel bluemira.codes.process.model_mapping.PowerFlowModel bluemira.codes.process.model_mapping.ThermalStorageModel bluemira.codes.process.model_mapping.BlanketModel bluemira.codes.process.model_mapping.StelleratorBlanketModel bluemira.codes.process.model_mapping.InboardBlanketSwitch bluemira.codes.process.model_mapping.InVesselGeometryModel bluemira.codes.process.model_mapping.TFTurnsInteger bluemira.codes.process.model_mapping.TFCSTopologyModel bluemira.codes.process.model_mapping.TFCoilConductorTechnology bluemira.codes.process.model_mapping.TFSuperconductorModel bluemira.codes.process.model_mapping.TFCasingGeometryModel bluemira.codes.process.model_mapping.TFWindingPackGeometryModel bluemira.codes.process.model_mapping.TFWindingPackTurnModel bluemira.codes.process.model_mapping.TFCoilShapeModel bluemira.codes.process.model_mapping.ResistiveCentrepostModel bluemira.codes.process.model_mapping.TFCoilJointsModel bluemira.codes.process.model_mapping.TFStressModel bluemira.codes.process.model_mapping.TFTrescaStressModel bluemira.codes.process.model_mapping.TFCoilSupportModel bluemira.codes.process.model_mapping.PFConductorModel bluemira.codes.process.model_mapping.PFSuperconductorModel bluemira.codes.process.model_mapping.PFCurrentControlModel bluemira.codes.process.model_mapping.PFCoilPlacmentModel bluemira.codes.process.model_mapping.SolenoidSwitchModel bluemira.codes.process.model_mapping.CSSuperconductorModel bluemira.codes.process.model_mapping.CSPrecompressionModel bluemira.codes.process.model_mapping.CSStressModel bluemira.codes.process.model_mapping.DivertorHeatFluxModel bluemira.codes.process.model_mapping.DivertorThermalHeatUse bluemira.codes.process.model_mapping.ShieldThermalHeatUse bluemira.codes.process.model_mapping.TFNuclearHeatingModel bluemira.codes.process.model_mapping.PrimaryPumpingModel bluemira.codes.process.model_mapping.SecondaryCycleModel bluemira.codes.process.model_mapping.CurrentDriveEfficiencyModel bluemira.codes.process.model_mapping.ECRHWaveModel bluemira.codes.process.model_mapping.PlasmaIgnitionModel bluemira.codes.process.model_mapping.VacuumPumpingModel bluemira.codes.process.model_mapping.VacuumPumpingDwellModel bluemira.codes.process.model_mapping.AvailabilityModel bluemira.codes.process.model_mapping.SafetyAssuranceLevel bluemira.codes.process.model_mapping.CostModel bluemira.codes.process.model_mapping.CapCostFracTetraModel bluemira.codes.process.model_mapping.BuildingSizeModel bluemira.codes.process.model_mapping.OutputCostsSwitch bluemira.codes.process.model_mapping.VacuumPumpSwitch bluemira.codes.process.model_mapping.FWCoolantSwitch bluemira.codes.process.model_mapping.ModuleSegmentSwitch bluemira.codes.process.model_mapping.LiquidMetalBreederMaterialSwitch bluemira.codes.process.model_mapping.BBCoolantSwitch bluemira.codes.process.model_mapping.FlowChannelInsertSwitch Module Contents --------------- .. py:class:: classproperty(func) Hacking for properties to work with Enums .. py:attribute:: func .. py:method:: __get__(obj, owner) Apply function to owner .. py:class:: ModelSelection Mixin dataclass for a Model selection in PROCESSModel :param _value_: Integer value of the model selection :param requires: List of required inputs for the model selection :param description: Short description of the model selection .. py:attribute:: _value_ :type: int .. py:attribute:: requires_values :type: tuple[str] :value: () .. py:attribute:: description :type: str :value: '' .. py:class:: PROCESSModel(*args, **kwds) Bases: :py:obj:`ModelSelection`, :py:obj:`bluemira.codes.utilities.Model` .. autoapi-inheritance-diagram:: bluemira.codes.process.model_mapping.PROCESSModel :parts: 1 :private-bases: Baseclass for PROCESS models .. py:method:: switch_name() -> str :abstractmethod: PROCESS switch name .. py:class:: PROCESSOptimisationAlgorithm(*args, **kwds) Bases: :py:obj:`PROCESSModel` .. autoapi-inheritance-diagram:: bluemira.codes.process.model_mapping.PROCESSOptimisationAlgorithm :parts: 1 :private-bases: Switch for the optimisation algorithm to use in PROCESS # TODO: This switch will be used in future to support alternative optimisation algorithms. .. py:method:: switch_name() -> str PROCESS switch name .. py:attribute:: NO_OPTIMISATION :value: (0, (), 'Do not use optimisation') .. py:attribute:: VMCON :value: (1, (), 'The traditional VMCON optimisation algorithm') .. py:class:: PlasmaGeometryModel(*args, **kwds) Bases: :py:obj:`PROCESSModel` .. autoapi-inheritance-diagram:: bluemira.codes.process.model_mapping.PlasmaGeometryModel :parts: 1 :private-bases: Switch for plasma geometry .. py:method:: switch_name() -> str PROCESS switch name .. py:attribute:: HENDER_K_D_100 :value: (0, ('kappa', 'triang')) .. py:attribute:: GALAMBOS_K_D_95 :value: (1, ('kappa95', 'triang95')) .. py:attribute:: ZOHM_ITER :value: (2, ('triang', 'fkzohm')) .. py:attribute:: ZOHM_ITER_D_95 :value: (3, ('triang95', 'fkzohm')) .. py:attribute:: HENDER_K_D_95 :value: (4, 'kappa95, triang95') .. py:attribute:: MAST_95 :value: (5, 'kappa95, triang95') .. py:attribute:: MAST_100 :value: (6, 'kappa, triang') .. py:attribute:: FIESTA_95 :value: (7, 'kappa95, triang95') .. py:attribute:: FIESTA_100 :value: (8, 'kappa, triang') .. py:attribute:: A_LI3 :value: (9, ('triang',)) .. py:attribute:: CREATE_A_M_S :value: (10, ('aspect', 'm_s_limit', 'triang'), 'A fit to CREATE data for conventional A tokamaks') .. py:attribute:: MENARD :value: (11, ('triang', 'aspect')) .. py:class:: PlasmaNullConfigurationModel(*args, **kwds) Bases: :py:obj:`PROCESSModel` .. autoapi-inheritance-diagram:: bluemira.codes.process.model_mapping.PlasmaNullConfigurationModel :parts: 1 :private-bases: Switch for single-null / double-null .. py:method:: switch_name() -> str PROCESS switch name .. py:attribute:: DOUBLE_NULL :value: (0, ('f_p_div_lower',)) .. py:attribute:: SINGLE_NULL :value: 1 .. py:class:: PlasmaPedestalModel(*args, **kwds) Bases: :py:obj:`PROCESSModel` .. autoapi-inheritance-diagram:: bluemira.codes.process.model_mapping.PlasmaPedestalModel :parts: 1 :private-bases: Switch for plasma profile model .. py:method:: switch_name() -> str PROCESS switch name .. py:attribute:: NO_PEDESTAL :value: (0, ('temp_plasma_electron_vol_avg_kev',)) .. py:attribute:: PEDESTAL_GW :value: (1, ('temp_plasma_electron_vol_avg_kev', 'nd_plasma_pedestal_electron',... .. py:class:: BetaNormMaxModel(*args, **kwds) Bases: :py:obj:`PROCESSModel` .. autoapi-inheritance-diagram:: bluemira.codes.process.model_mapping.BetaNormMaxModel :parts: 1 :private-bases: Switch for determining how the beta g coefficient beta_norm_max is calculated. .. py:method:: switch_name() -> str PROCESS switch name .. py:attribute:: INPUT :value: (0, ('beta_norm_max',)) .. py:attribute:: WESSON :value: (1, ('q0', 'q95', 'i_alphaj', 'i_ind_plasma_internal_norm')) .. py:attribute:: ORIG_SCALING :value: 2 .. py:attribute:: MENARD :value: (3, 'i_ind_plasma_internal_norm') .. py:attribute:: THOLERUS :value: 4 .. py:attribute:: STAMBAUGH :value: 5 .. py:class:: PlasmaProfileModel(*args, **kwds) Bases: :py:obj:`PROCESSModel` .. autoapi-inheritance-diagram:: bluemira.codes.process.model_mapping.PlasmaProfileModel :parts: 1 :private-bases: Switch for current profile consistency .. py:method:: switch_name() -> str PROCESS switch name .. py:attribute:: INPUT :value: (0, ('ind_plasma_internal_norm',)) .. py:attribute:: WESSON :value: (1, ('q95', 'q0')) .. py:attribute:: MENARD :value: (2, ('q95', 'q0', 'ind_plasma_internal_norm')) .. py:class:: AlphaJModel(*args, **kwds) Bases: :py:obj:`PROCESSModel` .. autoapi-inheritance-diagram:: bluemira.codes.process.model_mapping.AlphaJModel :parts: 1 :private-bases: Switch for current profile index .. py:method:: switch_name() -> str PROCESS switch name .. py:attribute:: INPUT :value: (0, ('alphaj', 'ind_plasma_internal_norm')) .. py:attribute:: WESSON :value: (1, ('q95', 'q0')) .. py:class:: BetaLimitModel(*args, **kwds) Bases: :py:obj:`PROCESSModel` .. autoapi-inheritance-diagram:: bluemira.codes.process.model_mapping.BetaLimitModel :parts: 1 :private-bases: Switch for the plasma beta limit model .. py:method:: switch_name() -> str PROCESS switch name .. py:attribute:: TOTAL :value: 0 .. py:attribute:: THERMAL :value: 1 .. py:attribute:: THERMAL_NBI :value: 2 .. py:attribute:: TOTAL_TF :value: 3 .. py:class:: AlphaPressureModel(*args, **kwds) Bases: :py:obj:`PROCESSModel` .. autoapi-inheritance-diagram:: bluemira.codes.process.model_mapping.AlphaPressureModel :parts: 1 :private-bases: Switch for the pressure contribution from fast alphas .. py:method:: switch_name() -> str PROCESS switch name .. py:attribute:: HENDER :value: 0 .. py:attribute:: WARD :value: 1 .. py:class:: DensityLimitModel(*args, **kwds) Bases: :py:obj:`PROCESSModel` .. autoapi-inheritance-diagram:: bluemira.codes.process.model_mapping.DensityLimitModel :parts: 1 :private-bases: Switch for the density limit model .. py:method:: switch_name() -> str PROCESS switch name .. py:attribute:: ASDEX :value: 1 .. py:attribute:: BORRASS_ITER_I :value: 2 .. py:attribute:: BORRASS_ITER_II :value: 3 .. py:attribute:: JET_RADIATION :value: 4 .. py:attribute:: JET_SIMPLE :value: 5 .. py:attribute:: HUGILL_MURAKAMI :value: 6 .. py:attribute:: GREENWALD :value: 7 .. py:class:: PlasmaCurrentScalingLaw(*args, **kwds) Bases: :py:obj:`PROCESSModel` .. autoapi-inheritance-diagram:: bluemira.codes.process.model_mapping.PlasmaCurrentScalingLaw :parts: 1 :private-bases: Switch for plasma current scaling law .. py:method:: switch_name() -> str PROCESS switch name .. py:attribute:: PENG :value: 1 .. py:attribute:: PENG_DN :value: 2 .. py:attribute:: ITER_SIMPLE :value: 3 .. py:attribute:: ITER_REVISED :value: 4 .. py:attribute:: TODD_I :value: 5 .. py:attribute:: TODD_II :value: 6 .. py:attribute:: CONNOR_HASTIE :value: 7 .. py:attribute:: SAUTER :value: 8 .. py:attribute:: FIESTA :value: 9 .. py:class:: ConfinementTimeScalingLaw(*args, **kwds) Bases: :py:obj:`PROCESSModel` .. autoapi-inheritance-diagram:: bluemira.codes.process.model_mapping.ConfinementTimeScalingLaw :parts: 1 :private-bases: Switch for the energy confinement time scaling law .. py:method:: switch_name() -> str PROCESS switch name .. py:attribute:: NEO_ALCATOR_OHMIC :value: 1 .. py:attribute:: MIRNOV_H_MODE :value: 2 .. py:attribute:: MEREZHKIN_MUHKOVATOV_L_MODE :value: 3 .. py:attribute:: SHIMOMURA_H_MODE :value: 4 .. py:attribute:: KAYE_GOLDSTON_L_MODE :value: 5 .. py:attribute:: ITER_89_P_L_MODE :value: 6 .. py:attribute:: ITER_89_O_L_MODE :value: 7 .. py:attribute:: REBUT_LALLIA_L_MODE :value: 8 .. py:attribute:: GOLDSTON_L_MODE :value: 9 .. py:attribute:: T10_L_MODE :value: 10 .. py:attribute:: JAERI_88_L_MODE :value: 11 .. py:attribute:: KAYE_BIG_COMPLEX_L_MODE :value: 12 .. py:attribute:: ITER_H90_P_H_MODE :value: 13 .. py:attribute:: ITER_MIX :value: 14 .. py:attribute:: RIEDEL_L_MODE :value: 15 .. py:attribute:: CHRISTIANSEN_L_MODE :value: 16 .. py:attribute:: LACKNER_GOTTARDI_L_MODE :value: 17 .. py:attribute:: NEO_KAYE_L_MODE :value: 18 .. py:attribute:: RIEDEL_H_MODE :value: 19 .. py:attribute:: ITER_H90_P_H_MODE_AMENDED :value: 20 .. py:attribute:: LHD_STELLARATOR :value: 21 .. py:attribute:: GRYO_RED_BOHM_STELLARATOR :value: 22 .. py:attribute:: LACKNER_GOTTARDI_STELLARATOR :value: 23 .. py:attribute:: ITER_93H_H_MODE :value: 24 .. py:attribute:: TITAN_RFP :value: 25 .. py:attribute:: ITER_H97_P_NO_ELM_H_MODE :value: 26 .. py:attribute:: ITER_H97_P_ELMY_H_MODE :value: 27 .. py:attribute:: ITER_96P_L_MODE :value: 28 .. py:attribute:: VALOVIC_ELMY_H_MODE :value: 29 .. py:attribute:: KAYE_PPPL98_L_MODE :value: 30 .. py:attribute:: ITERH_PB98P_H_MODE :value: 31 .. py:attribute:: IPB98_Y_H_MODE :value: 32 .. py:attribute:: IPB98_Y1_H_MODE :value: 33 .. py:attribute:: IPB98_Y2_H_MODE :value: 34 .. py:attribute:: IPB98_Y3_H_MODE :value: 35 .. py:attribute:: IPB98_Y4_H_MODE :value: 36 .. py:attribute:: ISS95_STELLARATOR :value: 37 .. py:attribute:: ISS04_STELLARATOR :value: 38 .. py:attribute:: DS03_H_MODE :value: 39 .. py:attribute:: MURARI_H_MODE :value: 40 .. py:attribute:: PETTY_H_MODE :value: 41 .. py:attribute:: LANG_H_MODE :value: 42 .. py:attribute:: HUBBARD_NOM_I_MODE :value: 43 .. py:attribute:: HUBBARD_LOW_I_MODE :value: 44 .. py:attribute:: HUBBARD_HI_I_MODE :value: 45 .. py:attribute:: NSTX_H_MODE :value: 46 .. py:attribute:: NSTX_PETTY_H_MODE :value: 47 .. py:attribute:: NSTX_GB_H_MODE :value: 48 .. py:attribute:: INPUT :value: (49, ('tauee_in',)) .. py:class:: BootstrapCurrentScalingLaw(*args, **kwds) Bases: :py:obj:`PROCESSModel` .. autoapi-inheritance-diagram:: bluemira.codes.process.model_mapping.BootstrapCurrentScalingLaw :parts: 1 :private-bases: Switch for the model to calculate bootstrap fraction .. py:method:: switch_name() -> str PROCESS switch name .. py:attribute:: FIXED :value: 0 .. py:attribute:: ITER :value: (1, ('cboot',)) .. py:attribute:: GENERAL :value: 2 .. py:attribute:: NUMERICAL :value: 3 .. py:attribute:: SAUTER :value: 4 .. py:class:: DiamagneticCurrentScalingLaw(*args, **kwds) Bases: :py:obj:`PROCESSModel` .. autoapi-inheritance-diagram:: bluemira.codes.process.model_mapping.DiamagneticCurrentScalingLaw :parts: 1 :private-bases: Switch for the model of diamagnetic current calculation .. py:method:: switch_name() -> str PROCESS switch name .. py:attribute:: OFF :value: 0 .. py:attribute:: ST_FIT :value: 1 .. py:attribute:: SCENE_FIT :value: (2, ('q', 'q0')) .. py:class:: PfirschSchluterCurrentScalingLaw(*args, **kwds) Bases: :py:obj:`PROCESSModel` .. autoapi-inheritance-diagram:: bluemira.codes.process.model_mapping.PfirschSchluterCurrentScalingLaw :parts: 1 :private-bases: Switch for the model of Pfirsch-Schlüter current calculation .. py:method:: switch_name() -> str PROCESS switch name .. py:attribute:: OFF :value: 0 .. py:attribute:: SCENE_FIT :value: 1 .. py:class:: LHThreshholdScalingLaw(*args, **kwds) Bases: :py:obj:`PROCESSModel` .. autoapi-inheritance-diagram:: bluemira.codes.process.model_mapping.LHThreshholdScalingLaw :parts: 1 :private-bases: Switch for the model to calculate the L-H power threshhold .. py:method:: switch_name() -> str PROCESS switch name .. py:attribute:: ITER_1996_NOM :value: 1 .. py:attribute:: ITER_1996_LOW :value: 2 .. py:attribute:: ITER_1996_HI :value: 3 .. py:attribute:: ITER_1997 :value: 4 .. py:attribute:: ITER_1997_K :value: 5 .. py:attribute:: MARTIN_NOM :value: 6 .. py:attribute:: MARTIN_HI :value: 7 .. py:attribute:: MARTIN_LOW :value: 8 .. py:attribute:: SNIPES_NOM :value: 9 .. py:attribute:: SNIPES_HI :value: 10 .. py:attribute:: SNIPES_LOW :value: 11 .. py:attribute:: SNIPES_CLOSED_DIVERTOR_NOM :value: 12 .. py:attribute:: SNIPES_CLOSED_DIVERTOR_HI :value: 13 .. py:attribute:: SNIPES_CLOSED_DIVERTOR_LOW :value: 14 .. py:attribute:: HUBBARD_LI_NOM :value: 15 .. py:attribute:: HUBBARD_LI_HI :value: 16 .. py:attribute:: HUBBARD_LI_LOW :value: 17 .. py:attribute:: HUBBARD_2017_LI :value: 18 .. py:attribute:: MARTIN_ACORRECT_NOM :value: 19 .. py:attribute:: MARTIN_ACORRECT_HI :value: 20 .. py:attribute:: MARTIN_ACORRECT_LOW :value: 21 .. py:class:: RadiationLossModel(*args, **kwds) Bases: :py:obj:`PROCESSModel` .. autoapi-inheritance-diagram:: bluemira.codes.process.model_mapping.RadiationLossModel :parts: 1 :private-bases: Switch for radiation loss term usage in power balance .. py:method:: switch_name() -> str PROCESS switch name .. py:attribute:: SCALING_PEDSETAL :value: 0 .. py:attribute:: SCALING_CORE :value: 1 .. py:attribute:: SCALING_ONLY :value: 2 .. py:class:: PlasmaWallGapModel(*args, **kwds) Bases: :py:obj:`PROCESSModel` .. autoapi-inheritance-diagram:: bluemira.codes.process.model_mapping.PlasmaWallGapModel :parts: 1 :private-bases: Switch to select plasma-wall gap model .. py:method:: switch_name() -> str PROCESS switch name .. py:attribute:: TEN_PERCENT :value: (0, (), 'SOL thickness calculated as 10 percent of minor radius') .. py:attribute:: INPUT :value: (1, ('dr_fw_plasma_gap_inboard', 'dr_fw_plasma_gap_outboard'), 'Fixed thickness SOL values') .. py:class:: SphericalTokamakModel(*args, **kwds) Bases: :py:obj:`PROCESSModel` .. autoapi-inheritance-diagram:: bluemira.codes.process.model_mapping.SphericalTokamakModel :parts: 1 :private-bases: Switch to enable spherical tokamak approximations .. py:method:: switch_name() -> str PROCESS switch name .. py:attribute:: OFF :value: 0 .. py:attribute:: ON :value: 1 .. py:class:: SphericalTokamakPFModel(*args, **kwds) Bases: :py:obj:`PROCESSModel` .. autoapi-inheritance-diagram:: bluemira.codes.process.model_mapping.SphericalTokamakPFModel :parts: 1 :private-bases: Switch to enable spherical tokamak PF approximations .. py:method:: switch_name() -> str PROCESS switch name .. py:attribute:: PENG_STRICKLER :value: (0, (), 'Peng and Strickler (1986)') .. py:attribute:: CONVENTIONAL :value: 1 .. py:class:: OperationModel(*args, **kwds) Bases: :py:obj:`PROCESSModel` .. autoapi-inheritance-diagram:: bluemira.codes.process.model_mapping.OperationModel :parts: 1 :private-bases: Switch to set the operation mode .. py:method:: switch_name() -> str PROCESS switch name .. py:attribute:: STEADY_STATE :value: 0 .. py:attribute:: PULSED :value: 1 .. py:class:: PowerFlowModel(*args, **kwds) Bases: :py:obj:`PROCESSModel` .. autoapi-inheritance-diagram:: bluemira.codes.process.model_mapping.PowerFlowModel :parts: 1 :private-bases: Switch to control power flow model .. py:method:: switch_name() -> str PROCESS switch name .. py:attribute:: SIMPLE :value: 0 .. py:attribute:: STELLARATOR :value: 1 .. py:class:: ThermalStorageModel(*args, **kwds) Bases: :py:obj:`PROCESSModel` .. autoapi-inheritance-diagram:: bluemira.codes.process.model_mapping.ThermalStorageModel :parts: 1 :private-bases: Switch to et the power cycle thermal storage model .. py:method:: switch_name() -> str PROCESS switch name .. py:attribute:: INHERENT_STEAM :value: 1 .. py:attribute:: BOILER :value: 2 .. py:attribute:: STEEL :value: (3, ('dtstor',)) .. py:class:: BlanketModel(*args, **kwds) Bases: :py:obj:`PROCESSModel` .. autoapi-inheritance-diagram:: bluemira.codes.process.model_mapping.BlanketModel :parts: 1 :private-bases: Switch to select the blanket model .. py:method:: switch_name() -> str PROCESS switch name .. py:attribute:: CCFE_HCPB :value: (1, ('dr_blkt_inboard', 'dr_blkt_outboard', 'tbrmin'), 'CCFE HCPB model') .. py:attribute:: DCLL :value: (5, ('blbuith', 'blbuoth'), 'no neutronics model included') .. py:class:: StelleratorBlanketModel(*args, **kwds) Bases: :py:obj:`PROCESSModel` .. autoapi-inheritance-diagram:: bluemira.codes.process.model_mapping.StelleratorBlanketModel :parts: 1 :private-bases: Switch to select the blanket model for Stellerator .. py:method:: switch_name() -> str PROCESS switch name .. py:attribute:: SIMPLE :value: (0, ('i_blkt_coolant_type',)) .. py:attribute:: KIT_HCPB :value: (1, ('i_blkt_coolant_type',)) .. py:class:: InboardBlanketSwitch(*args, **kwds) Bases: :py:obj:`PROCESSModel` .. autoapi-inheritance-diagram:: bluemira.codes.process.model_mapping.InboardBlanketSwitch :parts: 1 :private-bases: Switch to determin whether or not there is an inboard blanket .. py:method:: switch_name() -> str PROCESS switch name .. py:attribute:: ABSENT :value: 0 .. py:attribute:: PRESENT :value: 1 .. py:class:: InVesselGeometryModel(*args, **kwds) Bases: :py:obj:`PROCESSModel` .. autoapi-inheritance-diagram:: bluemira.codes.process.model_mapping.InVesselGeometryModel :parts: 1 :private-bases: Switch to control the geometry of the FW, blanket, shield, and VV shape .. py:method:: switch_name() -> str PROCESS switch name .. py:attribute:: CYL_ELLIPSE :value: 1 .. py:attribute:: TWO_ELLIPSE :value: 2 .. py:class:: TFTurnsInteger(*args, **kwds) Bases: :py:obj:`PROCESSModel` .. autoapi-inheritance-diagram:: bluemira.codes.process.model_mapping.TFTurnsInteger :parts: 1 :private-bases: Switch for TF coil integer/non-integer turns .. py:method:: switch_name() -> str PROCESS switch name .. py:attribute:: NON_INTEGER :value: 0 .. py:attribute:: INTEGER :value: 1 .. py:class:: TFCSTopologyModel(*args, **kwds) Bases: :py:obj:`PROCESSModel` .. autoapi-inheritance-diagram:: bluemira.codes.process.model_mapping.TFCSTopologyModel :parts: 1 :private-bases: Switch to select the TF-CS topology .. py:method:: switch_name() -> str PROCESS switch name .. py:attribute:: ITER :value: 0 .. py:attribute:: INSANITY :value: 1 .. py:class:: TFCoilConductorTechnology(*args, **kwds) Bases: :py:obj:`PROCESSModel` .. autoapi-inheritance-diagram:: bluemira.codes.process.model_mapping.TFCoilConductorTechnology :parts: 1 :private-bases: Switch for TF coil conductor model: .. py:method:: switch_name() -> str PROCESS switch name .. py:attribute:: COPPER :value: (0, ('f_dr_tf_outboard_inboard',)) .. py:attribute:: SC :value: 1 .. py:attribute:: CRYO_AL :value: 2 .. py:class:: TFSuperconductorModel(*args, **kwds) Bases: :py:obj:`PROCESSModel` .. autoapi-inheritance-diagram:: bluemira.codes.process.model_mapping.TFSuperconductorModel :parts: 1 :private-bases: Switch for the TF superconductor model .. py:method:: switch_name() -> str PROCESS switch name .. py:attribute:: NB3SN_ITER_STD :value: 1 .. py:attribute:: BI_2212 :value: 2 .. py:attribute:: NBTI :value: 3 .. py:attribute:: NB3SN_ITER_INPUT :value: 4 .. py:attribute:: NB3SN_WST :value: 5 .. py:attribute:: REBCO_CROCO :value: 6 .. py:attribute:: NBTI_DGL :value: 7 .. py:attribute:: REBCO_DGL :value: 8 .. py:attribute:: REBCO_ZHAI :value: 9 .. py:class:: TFCasingGeometryModel(*args, **kwds) Bases: :py:obj:`PROCESSModel` .. autoapi-inheritance-diagram:: bluemira.codes.process.model_mapping.TFCasingGeometryModel :parts: 1 :private-bases: Switch for the TF casing geometry model .. py:method:: switch_name() -> str PROCESS switch name .. py:attribute:: CURVED :value: 0 .. py:attribute:: FLAT :value: 1 .. py:class:: TFWindingPackGeometryModel(*args, **kwds) Bases: :py:obj:`PROCESSModel` .. autoapi-inheritance-diagram:: bluemira.codes.process.model_mapping.TFWindingPackGeometryModel :parts: 1 :private-bases: Switch for the TF winding pack geometry model .. py:method:: switch_name() -> str PROCESS switch name .. py:attribute:: RECTANGULAR :value: 0 .. py:attribute:: DOUBLE_RECTANGULAR :value: 1 .. py:attribute:: TRAPEZOIDAL :value: 2 .. py:class:: TFWindingPackTurnModel(*args, **kwds) Bases: :py:obj:`PROCESSModel` .. autoapi-inheritance-diagram:: bluemira.codes.process.model_mapping.TFWindingPackTurnModel :parts: 1 :private-bases: Switch for the TF winding pack turn model .. py:method:: switch_name() -> str PROCESS switch name .. py:attribute:: CURRENT_PER_TURN :value: (0, ('c_tf_turn',)) .. py:class:: TFCoilShapeModel(*args, **kwds) Bases: :py:obj:`PROCESSModel` .. autoapi-inheritance-diagram:: bluemira.codes.process.model_mapping.TFCoilShapeModel :parts: 1 :private-bases: Switch for the TF coil shape model .. py:method:: switch_name() -> str PROCESS switch name .. py:attribute:: PRINCETON :value: 1 .. py:attribute:: PICTURE_FRAME :value: 2 .. py:class:: ResistiveCentrepostModel(*args, **kwds) Bases: :py:obj:`PROCESSModel` .. autoapi-inheritance-diagram:: bluemira.codes.process.model_mapping.ResistiveCentrepostModel :parts: 1 :private-bases: Swtich for the resistive centrepost model .. py:method:: switch_name() -> str PROCESS switch name .. py:attribute:: CALCULATED :value: 0 .. py:attribute:: INPUT :value: 1 .. py:attribute:: MID_TOP_RATIO :value: 2 .. py:class:: TFCoilJointsModel(*args, **kwds) Bases: :py:obj:`PROCESSModel` .. autoapi-inheritance-diagram:: bluemira.codes.process.model_mapping.TFCoilJointsModel :parts: 1 :private-bases: Switch for the TF coil joints .. py:method:: switch_name() -> str PROCESS switch name .. py:attribute:: SC_CLAMP_RES_SLIDE .. py:attribute:: NO_JOINTS :value: 0 .. py:attribute:: SLIDING_JOINTS :value: (1, ('tho_tf_joints', 'n_tf_joints_contact', 'n_tf_joints', 'th_joint_contact')) .. py:class:: TFStressModel(*args, **kwds) Bases: :py:obj:`PROCESSModel` .. autoapi-inheritance-diagram:: bluemira.codes.process.model_mapping.TFStressModel :parts: 1 :private-bases: Switch for the TF inboard midplane stress model .. py:method:: switch_name() -> str PROCESS switch name .. py:attribute:: GEN_PLANE_STRAIN :value: 0 .. py:attribute:: PLANE_STRESS :value: 1 .. py:attribute:: GEN_PLANE_STRAIN_NEW :value: 2 .. py:class:: TFTrescaStressModel(*args, **kwds) Bases: :py:obj:`PROCESSModel` .. autoapi-inheritance-diagram:: bluemira.codes.process.model_mapping.TFTrescaStressModel :parts: 1 :private-bases: Switch for the TF coil conduit Tresca stress criterion .. py:method:: switch_name() -> str PROCESS switch name .. py:attribute:: OFF :value: 0 .. py:attribute:: ON :value: (1, (), 'Tresca with CEA adjustment factors (radial+2%, vertical+60%)') .. py:class:: TFCoilSupportModel(*args, **kwds) Bases: :py:obj:`PROCESSModel` .. autoapi-inheritance-diagram:: bluemira.codes.process.model_mapping.TFCoilSupportModel :parts: 1 :private-bases: Switch for the TF inboard coil support model .. py:method:: switch_name() -> str PROCESS switch name .. py:attribute:: NO_SUPPORT :value: 0 .. py:attribute:: BUCKED :value: 1 .. py:attribute:: BUCKED_WEDGED :value: 2 .. py:class:: PFConductorModel(*args, **kwds) Bases: :py:obj:`PROCESSModel` .. autoapi-inheritance-diagram:: bluemira.codes.process.model_mapping.PFConductorModel :parts: 1 :private-bases: Switch for the PF conductor technology model .. py:method:: switch_name() -> str PROCESS switch name .. py:attribute:: SUPERCONDUCTING :value: 0 .. py:attribute:: RESISTIVE :value: 1 .. py:class:: PFSuperconductorModel(*args, **kwds) Bases: :py:obj:`PROCESSModel` .. autoapi-inheritance-diagram:: bluemira.codes.process.model_mapping.PFSuperconductorModel :parts: 1 :private-bases: Switch for the PF superconductor model .. py:method:: switch_name() -> str PROCESS switch name .. py:attribute:: NB3SN_ITER_STD :value: 1 .. py:attribute:: BI_2212 :value: (2, ('fhts',)) .. py:attribute:: NBTI :value: 3 .. py:attribute:: NB3SN_ITER_INPUT :value: 4 .. py:attribute:: NB3SN_WST :value: 5 .. py:attribute:: REBCO_CROCO :value: 6 .. py:attribute:: NBTI_DGL :value: 7 .. py:attribute:: REBCO_DGL :value: 8 .. py:attribute:: REBCO_ZHAI :value: 9 .. py:class:: PFCurrentControlModel(*args, **kwds) Bases: :py:obj:`PROCESSModel` .. autoapi-inheritance-diagram:: bluemira.codes.process.model_mapping.PFCurrentControlModel :parts: 1 :private-bases: Switch to control the currents in the PF coils .. py:method:: switch_name() -> str PROCESS switch name .. py:attribute:: INPUT :value: (0, ('c_pf_cs_coil_pulse_start_ma', 'c_pf_cs_coil_flat_top_ma', 'c_pf_cs_coil_pulse_end_ma')) .. py:attribute:: SVD :value: 1 .. py:class:: PFCoilPlacmentModel(*args, **kwds) Bases: :py:obj:`PROCESSModel` .. autoapi-inheritance-diagram:: bluemira.codes.process.model_mapping.PFCoilPlacmentModel :parts: 1 :private-bases: Switch for the placement of Location 3 (outboard) PF coils when the TF coils are superconducting (TFCoilConductorTechnology.SC) .. py:method:: switch_name() -> str PROCESS switch name .. py:attribute:: DEFAULT :value: 0 .. py:attribute:: OUTBOARD_EQUAL :value: (1, ('i_tf_sup',)) .. py:class:: SolenoidSwitchModel(*args, **kwds) Bases: :py:obj:`PROCESSModel` .. autoapi-inheritance-diagram:: bluemira.codes.process.model_mapping.SolenoidSwitchModel :parts: 1 :private-bases: Switch to control whether or not a central solenoid should be used. .. py:method:: switch_name() -> str PROCESS switch name .. py:attribute:: NO_SOLENOID :value: 0 .. py:attribute:: SOLENOID :value: 1 .. py:class:: CSSuperconductorModel(*args, **kwds) Bases: :py:obj:`PROCESSModel` .. autoapi-inheritance-diagram:: bluemira.codes.process.model_mapping.CSSuperconductorModel :parts: 1 :private-bases: Switch for the CS superconductor model .. py:method:: switch_name() -> str PROCESS switch name .. py:attribute:: NB3SN_ITER_STD :value: 1 .. py:attribute:: BI_2212 :value: 2 .. py:attribute:: NBTI :value: 3 .. py:attribute:: NB3SN_ITER_INPUT :value: 4 .. py:attribute:: NB3SN_WST :value: 5 .. py:attribute:: REBCO_CROCO :value: 6 .. py:attribute:: NBTI_DGL :value: 7 .. py:attribute:: REBCO_DGL :value: 8 .. py:attribute:: REBCO_ZHAI :value: 9 .. py:class:: CSPrecompressionModel(*args, **kwds) Bases: :py:obj:`PROCESSModel` .. autoapi-inheritance-diagram:: bluemira.codes.process.model_mapping.CSPrecompressionModel :parts: 1 :private-bases: Switch to control the existence of pre-compression tie plates in the CS .. py:method:: switch_name() -> str PROCESS switch name .. py:attribute:: ABSENT :value: 0 .. py:attribute:: PRESENT :value: 1 .. py:class:: CSStressModel(*args, **kwds) Bases: :py:obj:`PROCESSModel` .. autoapi-inheritance-diagram:: bluemira.codes.process.model_mapping.CSStressModel :parts: 1 :private-bases: Switch for the calculation of the CS stress # TODO: Listed as an output?! .. py:method:: switch_name() -> str PROCESS switch name .. py:attribute:: HOOP_ONLY :value: 0 .. py:attribute:: HOOP_AXIAL :value: 1 .. py:class:: DivertorHeatFluxModel(*args, **kwds) Bases: :py:obj:`PROCESSModel` .. autoapi-inheritance-diagram:: bluemira.codes.process.model_mapping.DivertorHeatFluxModel :parts: 1 :private-bases: Switch for the divertor heat flux model .. py:method:: switch_name() -> str PROCESS switch name .. py:attribute:: INPUT :value: 0 .. py:attribute:: CHAMBER :value: 1 .. py:attribute:: WADE :value: 2 .. py:class:: DivertorThermalHeatUse(*args, **kwds) Bases: :py:obj:`PROCESSModel` .. autoapi-inheritance-diagram:: bluemira.codes.process.model_mapping.DivertorThermalHeatUse :parts: 1 :private-bases: Switch to control if the divertor thermal power is used in the power cycle .. py:method:: switch_name() -> str PROCESS switch name .. py:attribute:: LOW_GRADE_HEAT :value: 0 .. py:attribute:: HIGH_GRADE_HEAT :value: 1 .. py:class:: ShieldThermalHeatUse(*args, **kwds) Bases: :py:obj:`PROCESSModel` .. autoapi-inheritance-diagram:: bluemira.codes.process.model_mapping.ShieldThermalHeatUse :parts: 1 :private-bases: Switch to control if shield (inside VV) is used in the power cycle .. py:method:: switch_name() -> str PROCESS switch name .. py:attribute:: NOT_USED :value: 0 .. py:attribute:: LOW_GRADE_HEAT :value: 1 .. py:class:: TFNuclearHeatingModel(*args, **kwds) Bases: :py:obj:`PROCESSModel` .. autoapi-inheritance-diagram:: bluemira.codes.process.model_mapping.TFNuclearHeatingModel :parts: 1 :private-bases: Switch to control nuclear heating in TF model .. py:method:: switch_name() -> str PROCESS switch name .. py:attribute:: FRANCES_FOX :value: 0 .. py:attribute:: INPUT :value: (1, ('qnuc',)) .. py:class:: PrimaryPumpingModel(*args, **kwds) Bases: :py:obj:`PROCESSModel` .. autoapi-inheritance-diagram:: bluemira.codes.process.model_mapping.PrimaryPumpingModel :parts: 1 :private-bases: Switch for the calculation method of the pumping power required for the primary coolant .. py:method:: switch_name() -> str PROCESS switch name .. py:attribute:: INPUT :value: 0 .. py:attribute:: FRACTION :value: 1 .. py:attribute:: PRESSURE_DROP :value: 2 .. py:attribute:: PRESSURE_DROP_INPUT :value: 3 .. py:class:: SecondaryCycleModel(*args, **kwds) Bases: :py:obj:`PROCESSModel` .. autoapi-inheritance-diagram:: bluemira.codes.process.model_mapping.SecondaryCycleModel :parts: 1 :private-bases: Switch for the calculation of thermal to electric conversion efficiency .. py:method:: switch_name() -> str PROCESS switch name .. py:attribute:: FIXED :value: 0 .. py:attribute:: FIXED_W_DIVERTOR :value: 1 .. py:attribute:: INPUT :value: 2 .. py:attribute:: RANKINE :value: 3 .. py:attribute:: BRAYTON :value: 4 .. py:class:: CurrentDriveEfficiencyModel(*args, **kwds) Bases: :py:obj:`PROCESSModel` .. autoapi-inheritance-diagram:: bluemira.codes.process.model_mapping.CurrentDriveEfficiencyModel :parts: 1 :private-bases: Switch for current drive efficiency model: 1 - Fenstermacher Lower Hybrid 2 - Ion Cyclotron current drive 3 - Fenstermacher ECH 4 - Ehst Lower Hybrid 5 - ITER Neutral Beam 6 - new Culham Lower Hybrid model 7 - new Culham ECCD model 8 - new Culham Neutral Beam model 10 - ECRH user input gamma 11 - ECRH "HARE" model (E. Poli, Physics of Plasmas 2019) 12 - EBW user scaling input. Scaling (S. Freethy) 13 - ECRH O-mode cutoff with Zeff and Te (Physical review letters. 90. 075003) .. py:method:: switch_name() -> str PROCESS switch name .. py:attribute:: FENSTER_LH :value: 1 .. py:attribute:: ICYCCD :value: 2 .. py:attribute:: FENSTER_ECH :value: 3 .. py:attribute:: EHST_LH :value: 4 .. py:attribute:: ITER_NB :value: 5 .. py:attribute:: CUL_LH :value: 6 .. py:attribute:: CUL_ECCD :value: 7 .. py:attribute:: CUL_NB :value: 8 .. py:attribute:: ECRH_UI_GAM :value: 10 .. py:attribute:: ECRH_HARE :value: 11 .. py:attribute:: EBW_UI :value: 12 .. py:attribute:: ECRH_O :value: 13 .. py:class:: ECRHWaveModel(*args, **kwds) Bases: :py:obj:`PROCESSModel` .. autoapi-inheritance-diagram:: bluemira.codes.process.model_mapping.ECRHWaveModel :parts: 1 :private-bases: Switch for ECRH wave mode .. py:method:: switch_name() -> str PROCESS switch name .. py:attribute:: O_MODE :value: 0 .. py:attribute:: X_MODE :value: 1 .. py:class:: PlasmaIgnitionModel(*args, **kwds) Bases: :py:obj:`PROCESSModel` .. autoapi-inheritance-diagram:: bluemira.codes.process.model_mapping.PlasmaIgnitionModel :parts: 1 :private-bases: Switch to control whether or not the plasma is ignited .. py:method:: switch_name() -> str PROCESS switch name .. py:attribute:: NOT_IGNITED :value: 0 .. py:attribute:: IGNITED :value: 1 .. py:class:: VacuumPumpingModel(*args, **kwds) Bases: :py:obj:`PROCESSModel` .. autoapi-inheritance-diagram:: bluemira.codes.process.model_mapping.VacuumPumpingModel :parts: 1 :private-bases: Switch to control the vacuum pumping technology model .. py:method:: switch_name() -> str PROCESS switch name .. py:attribute:: TURBO_PUMP :value: 0 .. py:attribute:: CRYO_PUMP :value: 1 .. py:class:: VacuumPumpingDwellModel(*args, **kwds) Bases: :py:obj:`PROCESSModel` .. autoapi-inheritance-diagram:: bluemira.codes.process.model_mapping.VacuumPumpingDwellModel :parts: 1 :private-bases: Switch to control when vacuum pumping occurs .. py:method:: switch_name() -> str PROCESS switch name .. py:attribute:: T_DWELL :value: 0 .. py:attribute:: T_RAMP :value: 1 .. py:attribute:: T_DWELL_RAMP :value: 2 .. py:class:: AvailabilityModel(*args, **kwds) Bases: :py:obj:`PROCESSModel` .. autoapi-inheritance-diagram:: bluemira.codes.process.model_mapping.AvailabilityModel :parts: 1 :private-bases: Switch to control the availability model .. py:method:: switch_name() -> str PROCESS switch name .. py:attribute:: INPUT :value: 0 .. py:attribute:: TAYLOR_WARD :value: 1 .. py:attribute:: MORRIS :value: 2 .. py:class:: SafetyAssuranceLevel(*args, **kwds) Bases: :py:obj:`PROCESSModel` .. autoapi-inheritance-diagram:: bluemira.codes.process.model_mapping.SafetyAssuranceLevel :parts: 1 :private-bases: Switch to control the level of safety assurance .. py:method:: switch_name() -> str PROCESS switch name .. py:attribute:: TRULY_SAFE :value: 1 .. py:attribute:: VERY_SAFE :value: 2 .. py:attribute:: SOMEWHAT_SAFE :value: 3 .. py:attribute:: FISSION :value: 4 .. py:class:: CostModel(*args, **kwds) Bases: :py:obj:`PROCESSModel` .. autoapi-inheritance-diagram:: bluemira.codes.process.model_mapping.CostModel :parts: 1 :private-bases: Switch to control the cost model used .. py:method:: switch_name() -> str PROCESS switch name .. py:attribute:: TETRA_1990 :value: 0 .. py:attribute:: KOVARI_2015 :value: 1 .. py:attribute:: CUSTOM :value: 2 .. py:class:: CapCostFracTetraModel(*args, **kwds) Bases: :py:obj:`PROCESSModel` .. autoapi-inheritance-diagram:: bluemira.codes.process.model_mapping.CapCostFracTetraModel :parts: 1 :private-bases: Switch for Tetra cost model. Decides whether blanket, divertor and first wall are capital or fuel costs .. py:method:: switch_name() -> str PROCESS switch name .. py:attribute:: ALL_CAPCOST :value: 0 .. py:attribute:: ALL_FUELCOST :value: (1, ('fcdfuel',)) .. py:attribute:: INIT_CAPCOST :value: (2, ('fcdfuel',)) .. py:class:: BuildingSizeModel(*args, **kwds) Bases: :py:obj:`PROCESSModel` .. autoapi-inheritance-diagram:: bluemira.codes.process.model_mapping.BuildingSizeModel :parts: 1 :private-bases: Switch for Building size estimation model .. py:method:: switch_name() -> str PROCESS switch name .. py:attribute:: DEFAULT :value: 0 .. py:attribute:: NEW :value: 1 .. py:class:: OutputCostsSwitch(*args, **kwds) Bases: :py:obj:`PROCESSModel` .. autoapi-inheritance-diagram:: bluemira.codes.process.model_mapping.OutputCostsSwitch :parts: 1 :private-bases: Switch to control whether or not cost information is output .. py:method:: switch_name() -> str PROCESS switch name .. py:attribute:: NO :value: (0, (), 'Do not print cost information to output') .. py:attribute:: YES :value: (1, (), 'Print cost information to output') .. py:class:: VacuumPumpSwitch(*args, **kwds) Bases: :py:obj:`PROCESSModel` .. autoapi-inheritance-diagram:: bluemira.codes.process.model_mapping.VacuumPumpSwitch :parts: 1 :private-bases: Switch for whether the FW and BB are on the same pump system i.e. do they have the same primary coolant or not .. py:method:: switch_name() -> str PROCESS switch name .. py:attribute:: SAME :value: (0, (), 'FW and BB have the same primary coolant') .. py:attribute:: DIFFERENT :value: (1, (), 'FW and BB have the different primary coolant and are on different pump systems') .. py:class:: FWCoolantSwitch(*args, **kwds) Bases: :py:obj:`PROCESSModel` .. autoapi-inheritance-diagram:: bluemira.codes.process.model_mapping.FWCoolantSwitch :parts: 1 :private-bases: Switch for first wall coolant (can be different from blanket coolant) .. py:method:: switch_name() -> str PROCESS switch name .. py:attribute:: HELIUM :value: 'helium' .. py:attribute:: WATER :value: 'water' .. py:class:: ModuleSegmentSwitch(*args, **kwds) Bases: :py:obj:`PROCESSModel` .. autoapi-inheritance-diagram:: bluemira.codes.process.model_mapping.ModuleSegmentSwitch :parts: 1 :private-bases: Switch for Multi Module Segment (MMS) or Single Modle Segment (SMS) .. py:method:: switch_name() -> str PROCESS switch name .. py:attribute:: MMS :value: (0, (), 'Multi Module Segment (MMS)') .. py:attribute:: SMS :value: (1, (), 'Single Modle Segment (SMS)') .. py:class:: LiquidMetalBreederMaterialSwitch(*args, **kwds) Bases: :py:obj:`PROCESSModel` .. autoapi-inheritance-diagram:: bluemira.codes.process.model_mapping.LiquidMetalBreederMaterialSwitch :parts: 1 :private-bases: Switch for Liquid Metal Breeder Material .. py:method:: switch_name() -> str PROCESS switch name .. py:attribute:: PBLI :value: (0, (), 'PbLi') .. py:attribute:: LI :value: (1, (), 'Li') .. py:class:: BBCoolantSwitch(*args, **kwds) Bases: :py:obj:`PROCESSModel` .. autoapi-inheritance-diagram:: bluemira.codes.process.model_mapping.BBCoolantSwitch :parts: 1 :private-bases: Switch to specify whether breeding blanket is single-cooled or dual-coolant .. py:method:: switch_name() -> str PROCESS switch name .. py:attribute:: SINGLE_FOR_SB :value: (0, (), 'Single coolant, Solid Breeder') .. py:attribute:: SINGLE_FOR_LB :value: (1, ('n_liq_recirc',), 'Single coolant, Liquid metal breeder') .. py:attribute:: DUAL :value: (2, (), 'Dual coolant') .. py:class:: FlowChannelInsertSwitch(*args, **kwds) Bases: :py:obj:`PROCESSModel` .. autoapi-inheritance-diagram:: bluemira.codes.process.model_mapping.FlowChannelInsertSwitch :parts: 1 :private-bases: Switch for Flow Channel Insert (FCI) type if liquid metal breeder blanket. .. py:method:: switch_name() -> str PROCESS switch name .. py:attribute:: THIN :value: (0, ('bz_channel_conduct_liq',), 'Thin conducting walls') .. py:attribute:: INS_PERFECT :value: (1, (), 'Insulating Material, perfect electrical insulator') .. py:attribute:: INS_INPUT :value: (2, ('bz_channel_conduct_liq',), 'Insulating Material, electrical conductivity is input')