Skip to content

DataFiQuSMultipole

Auto-generated documentation for DataFiQuSMultipole.

Classes

CCPostProc

Module: DataFiQuSMultipole

Fields

Field Type Default Description
variables_I Optional[list[Literal[str]]] [] Currents from the circuit that will be exported as csv

Available inputs: "I_PC"
"I_1"
"I_2"
"I_cpc"
"I_crowbar"
"I_3"
"I_c_r"
"I_EE"
"I_c"
"I_s"
"I_C"
"I_EE_n"
"I_c_n"
"I_s_n"
"I_QH"
"I_EQ"
"I_ESC"
"I_A"
"I_B"
"I_ESC_Diode"
"I_ESC_C"
variables_U Optional[list[Literal[str]]] [] Voltages from the circuit that will be exported as csv

Available inputs: "PS_currentsource"
"PS_R_1"
"PS_L_1"
"PS_C"
"PS_R_3"
"PS_L_3"
"PS_R_2"
"PS_L_2"
"PS_R_crowbar"
"PS_Ud_crowbar"
"PS_L_crowbar"
"PS_R_c_r"
"PS_Ud_c_r"
"PS_L_c_r"
"circ_R_circuit"
"EE_L"
"EE_V_EE"
"EE_Ud_snubber"
"EE_C"
"EE_R_c"
"EE_L_c"
"EE_Ud_switch"
"EE_R_s"
"EE_L_s"
"EE_L_n"
"EE_V_EE_n"
"EE_Ud_snubber_n"
"EE_C_n"
"EE_R_c_n"
"EE_L_c_n"
"EE_Ud_switch_n"
"EE_R_s_n"
"EE_L_s_n"
"EE_R_switch"
"EE_R_switch_n"
"CLIQ_R"
"CLIQ_L"
"CLIQ_C"
"ECLIQ_currentsource"
"ECLIQ_L_leads"
"ECLIQ_R_leads"
"ESC_C1"
"ESC_C2"
"ESC_R_leads"
"ESC_R_unit"
"ESC_L"
"ESC_L_Diode"
"ESC_Ud_Diode"
assemble_veusz Optional[bool] False It determines whether the post-processing data is assembled in a veusz file.

HomogenizedConductorFormulationparametersROHF

Module: DataFiQuSMultipole

Description: Level 4: Class for finite element formulation parameters

Fields

Field Type Default Description
enabled Optional[bool] False Use ROHF to homogenize the internal flux hysteresis in the cables.
parameter_csv_file Optional[str] null Name of the csv file containing the ROHF parameters within the inputs folder with expected row structure: [alpha,kappa,tau].
gather_cell_systems Optional[bool] False when true, it generates a single system to solve the ROHF cells instead of one system per cell to decrease generation time.

HomogenizedConductorFormulationparametersROHM

Module: DataFiQuSMultipole

Description: Level 4: Class for finite element formulation parameters

Fields

Field Type Default Description
enabled Optional[bool] False Use ROHM to homogenize the magnetization hysteresis in the cables.
parameter_csv_file Optional[str] null Name of the csv file containing the ROHM parameters within the inputs folder with expected row structure: [alpha,kappa,chi,gamma,lambda].
gather_cell_systems Optional[bool] False when true, it generates a single system to solve the ROHM cells instead of one system per cell to decrease generation time.
weight_scaling Optional[float] 1.0 Downscaling factor (s<1.0) which is applied to all weights except the first, which is scaled up to compensate.
tau_scaling Optional[float] 1.0 Scaling factor which is applied uniformly to all coupling time constants.

HomogenizedConductorRunType

Module: DataFiQuSMultipole

Description: Level 4: Class for runtype parameters

Fields

Field Type Default Description
mode Optional[Literal[str]] "ramp" Type of simulation to run with homogenized conductors (ramp - real cooling conditions, isothermal_ramp - unlimited cooling, quench - non-zero initial conditions)

Available inputs: "ramp", "isothermal_ramp", "quench"
ramp_file Optional[str] null Name of the ramp model from which to start the simulation

MultipleSolveCollarHeCooling

Module: DataFiQuSMultipole

Fields

Field Type Default Description
enabled Optional[bool] False It determines whether the helium cooling is enabled or not (adiabatic conditions).
which Optional[str | list] "all" It specifies the boundaries where the collar cooling is applied. If 'all', it applies to all boundaries. If a list, it applies to the specified boundaries numbered counter-clockwise.
heat_transfer_coefficient Optional[float | str] "CFUN_hHe_T_THe" It specifies the value or name of the function of the constant heat transfer coefficient.
ref_temperature Optional[float] 0.0 It specifies the reference temperature for the collar cooling. If not specified, it takes the value of the initial temperature.
move_cooling_holes Optional[str | int | list] null It specifies if and how cooling holes are to be moved. Either choose '1' or '2' for predefined positions or a list [[dx,dy], [dx2,dy2]].. to shift each hole manually

Multipole

Module: DataFiQuSMultipole

Description: Level 1: Class for FiQuS Multipole

Fields

Field Type Default Description
type str "multipole"
geometry MultipoleGeometry MultipoleGeometry() This dictionary contains the geometry information.
mesh MultipoleMesh MultipoleMesh() This dictionary contains the mesh information.
solve MultipoleSolve MultipoleSolve() This dictionary contains the solution information.
postproc MultipolePostProc MultipolePostProc() This dictionary contains the post-process information.

Nested Models

CCPostProc

Field Type Default Description
variables_I Optional[list[Literal[str]]] [] Currents from the circuit that will be exported as csv

Available inputs: "I_PC"
"I_1"
"I_2"
"I_cpc"
"I_crowbar"
"I_3"
"I_c_r"
"I_EE"
"I_c"
"I_s"
"I_C"
"I_EE_n"
"I_c_n"
"I_s_n"
"I_QH"
"I_EQ"
"I_ESC"
"I_A"
"I_B"
"I_ESC_Diode"
"I_ESC_C"
variables_U Optional[list[Literal[str]]] [] Voltages from the circuit that will be exported as csv

Available inputs: "PS_currentsource"
"PS_R_1"
"PS_L_1"
"PS_C"
"PS_R_3"
"PS_L_3"
"PS_R_2"
"PS_L_2"
"PS_R_crowbar"
"PS_Ud_crowbar"
"PS_L_crowbar"
"PS_R_c_r"
"PS_Ud_c_r"
"PS_L_c_r"
"circ_R_circuit"
"EE_L"
"EE_V_EE"
"EE_Ud_snubber"
"EE_C"
"EE_R_c"
"EE_L_c"
"EE_Ud_switch"
"EE_R_s"
"EE_L_s"
"EE_L_n"
"EE_V_EE_n"
"EE_Ud_snubber_n"
"EE_C_n"
"EE_R_c_n"
"EE_L_c_n"
"EE_Ud_switch_n"
"EE_R_s_n"
"EE_L_s_n"
"EE_R_switch"
"EE_R_switch_n"
"CLIQ_R"
"CLIQ_L"
"CLIQ_C"
"ECLIQ_currentsource"
"ECLIQ_L_leads"
"ECLIQ_R_leads"
"ESC_C1"
"ESC_C2"
"ESC_R_leads"
"ESC_R_unit"
"ESC_L"
"ESC_L_Diode"
"ESC_Ud_Diode"
assemble_veusz Optional[bool] False It determines whether the post-processing data is assembled in a veusz file.

HomogenizedConductorRunType

Description: Level 4: Class for runtype parameters

Field Type Default Description
mode Optional[Literal[str]] "ramp" Type of simulation to run with homogenized conductors (ramp - real cooling conditions, isothermal_ramp - unlimited cooling, quench - non-zero initial conditions)

Available inputs: "ramp", "isothermal_ramp", "quench"
ramp_file Optional[str] null Name of the ramp model from which to start the simulation

MultipleSolveCollarHeCooling

Field Type Default Description
enabled Optional[bool] False It determines whether the helium cooling is enabled or not (adiabatic conditions).
which Optional[str | list] "all" It specifies the boundaries where the collar cooling is applied. If 'all', it applies to all boundaries. If a list, it applies to the specified boundaries numbered counter-clockwise.
heat_transfer_coefficient Optional[float | str] "CFUN_hHe_T_THe" It specifies the value or name of the function of the constant heat transfer coefficient.
ref_temperature Optional[float] 0.0 It specifies the reference temperature for the collar cooling. If not specified, it takes the value of the initial temperature.
move_cooling_holes Optional[str | int | list] null It specifies if and how cooling holes are to be moved. Either choose '1' or '2' for predefined positions or a list [[dx,dy], [dx2,dy2]].. to shift each hole manually

MultipoleGeometry

Description: Level 2: Class for FiQuS Multipole

Field Type Default Description
geom_file_path Optional[str] null It contains the path to a .geom file. If null, the default .geom file produced by steam-sdk BuilderFiQuS will be used.
plot_preview Optional[bool] False If true, it displays matplotlib figures of the magnet geometry with relevant information (e.g., conductor and block numbers).
electromagnetics MultipoleGeometryElectromagnetics MultipoleGeometryElectromagnetics() This dictionary contains the geometry information for the electromagnetic solution.
thermal MultipoleGeometryThermal MultipoleGeometryThermal() This dictionary contains the geometry information for the thermal solution.

MultipoleGeometryElectromagnetics

Description: Level 2: Class for FiQuS Multipole

Field Type Default Description
create bool True It determines whether the geometry is built or not.
with_wedges Optional[bool] True It determines whether the wedge regions are built or not.
areas Optional[list[Literal[str]]] [] List with areas to build.

Available inputs: "iron_yoke", "collar", "poles"
symmetry Optional[Literal[str]] "none" It determines the model regions to build according to the specified axis/axes.

Available inputs: "none", "xy", "x", "y"

MultipoleGeometryThermal

Description: Level 2: Class for FiQuS Multipole

Field Type Default Description
create bool True It determines whether the geometry is built or not.
with_wedges Optional[bool] True It determines whether the wedge regions are built or not.
areas Optional[list[Literal[str]]] [] List with areas to build.

Available inputs: "iron_yoke", "collar", "poles"
use_TSA Optional[bool] False It determines whether the insulation regions are explicitly built or modeled via thin-shell approximation.
correct_block_coil_tsa_checkered_scheme Optional[bool] False There is a bug in the TSA naming scheme for block coils, this flag activates a simple (not clean) bug fix that will be replaced in a future version.
use_TSA_new Optional[bool] False It determines whether the regions between collar and coils are modeled via thin-shell approximation.

MultipoleMesh

Description: Level 2: Class for FiQuS Multipole

Field Type Default Description
electromagnetics MultipoleMeshElectromagnetics MultipoleMeshElectromagnetics() This dictionary contains the mesh information for the electromagnetic solution.
thermal MultipoleMeshThermal MultipoleMeshThermal() This dictionary contains the mesh information for the thermal solution.

MultipoleMeshElectromagnetics

Description: Level 2: Class for FiQuS Multipole

Field Type Default Description
create bool True It determines whether the mesh is built or not.
conductors Optional[MultipoleMeshTransfiniteOrField] {...} (2 fields) This dictionary contains the mesh information for the conductor regions.
wedges Optional[MultipoleMeshTransfiniteOrField] {...} (2 fields) This dictionary contains the mesh information for the wedge regions.
iron_field Optional[MultipoleMeshThreshold] {...} (5 fields) This dictionary contains the gmsh Field information for the iron yoke region.
collar Optional[MultipoleMeshThresholdCollar] {...} (6 fields) This dictionary contains the gmsh Field information for the collar region.
poles Optional[MultipoleMeshThreshold] {...} (5 fields) This dictionary contains the mesh information for the poles region.
bore_field Optional[MultipoleMeshThreshold] {...} (5 fields) This dictionary contains the gmsh Field information for the bore region.

MultipoleMeshThermal

Description: Level 2: Class for FiQuS Multipole

Field Type Default Description
create bool True It determines whether the mesh is built or not.
conductors Optional[MultipoleMeshTransfiniteOrField] {...} (2 fields) This dictionary contains the mesh information for the conductor regions.
wedges Optional[MultipoleMeshTransfiniteOrField] {...} (2 fields) This dictionary contains the mesh information for the wedge regions.
iron_field Optional[MultipoleMeshThreshold] {...} (5 fields) This dictionary contains the gmsh Field information for the iron yoke region.
collar Optional[MultipoleMeshThresholdCollar] {...} (6 fields) This dictionary contains the gmsh Field information for the collar region.
poles Optional[MultipoleMeshThreshold] {...} (5 fields) This dictionary contains the mesh information for the poles region.
reference Optional[MultipoleMeshThreshold] {...} (5 fields) It determines whether the reference mesh is built or not. If True, an additional layer between the insulation and collar is meshed
insulation Optional[MultipoleThermalInsulationMesh] {...} (2 fields) This dictionary contains the mesh information for the insulation regions.
isothermal_conductors Optional[bool] False It determines whether the conductors are considered isothermal or not using getDP constraints.
isothermal_wedges Optional[bool] False It determines whether the wedges are considered isothermal or not using getDP Link constraints.

MultipoleMeshThinShellApproximationParameters

Description: Level 4: Class for FiQuS Multipole

Field Type Default Description
minimum_discretizations Optional[int] 1 It specifies the number of minimum spacial discretizations across a thin-shell.
global_size_QH Optional[float] 0.0001 The thickness of the quench heater region is divided by this parameter to determine the number of spacial discretizations across the thin-shell.
minimum_discretizations_QH Optional[int] 1 It specifies the number of minimum spacial discretizations across a thin-shell.
global_size_COL Optional[float] 0.0001 The thickness of the region between ht and collar is divided by this parameter to determine the number of spacial discretizations across the thin-shell.
minimum_discretizations_COL Optional[int] 1 It specifies the number of minimum spacial discretizations across a thin-shell.
scale_factor_radial Optional[float] -1.0 Scaling factor for radially directed thin-shells (e.g. halfturns to collar). Set to -1.0 to use default scaling. Wedge scalings are always ignored.
scale_factor_azimuthal Optional[float] -1.0 Scaling factor for azimuthally directed thin-shells (e.g. halfturns to pole). Set to -1.0 to use default scaling. Wedge scalings are always ignored.

MultipoleMeshThreshold

Description: Level 3: Class for FiQuS Multipole

Field Type Default Description
enabled Optional[bool] False It determines whether the gmsh Field is enabled or not.
SizeMin Optional[float] null It sets gmsh Mesh.MeshSizeMin.
SizeMax Optional[float] null It sets gmsh Mesh.MeshSizeMax.
DistMin Optional[float] null It sets gmsh Mesh.MeshDistMin.
DistMax Optional[float] null It sets gmsh Mesh.MeshDistMax.

MultipoleMeshThresholdCollar

Description: Level 3: Class for FiQuS Multipole

Field Type Default Description
enabled Optional[bool] False It determines whether the gmsh Field is enabled or not.
SizeMin Optional[float] null It sets gmsh Mesh.MeshSizeMin.
SizeMax Optional[float] null It sets gmsh Mesh.MeshSizeMax.
DistMin Optional[float] null It sets gmsh Mesh.MeshDistMin.
DistMax Optional[float] null It sets gmsh Mesh.MeshDistMax.
Enforce_TSA_mapping Optional[bool] False Enfocres matching nodes for the TSA layer. Uses SizeMin to determine the size of the nodes.

MultipoleMeshTransfinite

Description: Level 3: Class for FiQuS Multipole

Field Type Default Description
enabled_for Literal null It determines on what entities the transfinite algorithm is applied.

Available inputs: None, "curves", "curves_and_surfaces"
curve_target_size_height Optional[float] 1.0 The height of the region (short side) is divided by this parameter to determine the number of elements to apply via transfinite curves.
curve_target_size_width Optional[float] 1.0 The width of the region (long side) is divided by this parameter to determine the number of elements to apply via transfinite curves.

MultipoleMeshTransfiniteOrField

Description: Level 3: Class for FiQuS Multipole

Field Type Default Description
transfinite MultipoleMeshTransfinite MultipoleMeshTransfinite() This dictionary contains the mesh information for transfinite curves.
field MultipoleMeshThreshold MultipoleMeshThreshold() This dictionary contains the gmsh Field information.

MultipolePostProc

Description: Level 2: Class for FiQuS Multipole

Field Type Default Description
electromagnetics MultipolePostProcElectromagnetics MultipolePostProcElectromagnetics() This dictionary contains the post-processing information for the electromagnetic solution.
thermal MultipolePostProcThermal MultipolePostProcThermal() This dictionary contains the post-processing information for the thermal solution.
circuit_coupling CCPostProc CCPostProc() This dictionary contains the post-processing information for the circuit variables calculated in the solution.

MultipolePostProcElectromagnetics

Description: Level 2: Class for FiQuS Multipole

Field Type Default Description
output_time_steps_pos Optional[bool | int] True It determines whether the solution for the .pos file is saved for all time steps (True), none (False), or equidistant time steps (int).
output_time_steps_txt Optional[bool | int] True It determines whether the solution for the .txt file is saved for all time steps (True), none (False), or equidistant time steps (int).
save_pos_at_the_end Optional[bool] True It determines whether the solution for the .pos file is saved at the end of the simulation or during run time.
save_txt_at_the_end Optional[bool] False It determines whether the solution for the .txt file is saved at the end of the simulation or during run time.
plot_all Optional[bool] False It determines whether the figures are generated and shown (true), generated only (null), or not generated (false). Useful for tests.
compare_to_ROXIE Optional[str] null It contains the absolute path to a reference ROXIE map2d file. If provided, comparative plots with respect to the reference are generated.
variables Optional[list[Literal[str]]] [] It specifies the physical quantity to be output.

Available inputs: "a", "az", "b", "h", "js", "jOverJc", "sigma_collar", "is"
volumes Optional[list[Literal[str]]] [] It specifies the regions associated with the physical quantity to be output.

Available inputs: "omega", "powered", "induced", "air", "air_far_field", "iron", "conducting", "insulator"

MultipolePostProcThermal

Description: Level 2: Class for FiQuS Multipole

Field Type Default Description
output_time_steps_pos Optional[bool | int] True It determines whether the solution for the .pos file is saved for all time steps (True), none (False), or equidistant time steps (int).
output_time_steps_txt Optional[bool | int] True It determines whether the solution for the .txt file is saved for all time steps (True), none (False), or equidistant time steps (int).
save_pos_at_the_end Optional[bool] True It determines whether the solution for the .pos file is saved at the end of the simulation or during run time.
save_txt_at_the_end Optional[bool] False It determines whether the solution for the .txt file is saved at the end of the simulation or during run time.
plot_all Optional[bool] False It determines whether the figures are generated and shown (true), generated only (null), or not generated (false). Useful for tests.
take_average_conductor_temperature Optional[bool] True It determines whether the output files are based on the average conductor temperature or not (map2d).
variables Optional[list[Literal[str]]] [...] (1 items) It specifies the physical quantity to be output.

Available inputs: "T", "jOverJc", "rho", "az_thermal", "ac_loss"
volumes Optional[list[Literal[str]]] [...] (1 items) It specifies the regions associated with the physical quantity to be output.

Available inputs: "omega", "powered", "induced", "iron", "conducting", "insulator"

MultipoleSolve

Description: Level 2: Class for FiQuS Multipole

Field Type Default Description
coil_windings Optional[MultipoleSolveCoilWindings] {...} (5 fields) This dictionary contains the information pertaining the number of coils and electrical order necessary to generate the associated electrical circuit
electromagnetics MultipoleSolveElectromagnetics MultipoleSolveElectromagnetics() This dictionary contains the solver information for the electromagnetic solution.
thermal MultipoleSolveThermal MultipoleSolveThermal() This dictionary contains the solver information for the thermal solution.
wedges MultipoleSolveSpecificMaterial MultipoleSolveSpecificMaterial() This dictionary contains the material information of wedges.
collar MultipoleSolveSpecificMaterial MultipoleSolveSpecificMaterial() This dictionary contains the material information of the collar region.
iron_yoke MultipoleSolveSpecificMaterial MultipoleSolveSpecificMaterial() This dictionary contains the material information of the iron yoke region.
poles MultipoleSolveSpecificMaterial MultipoleSolveSpecificMaterial() This dictionary contains the material information of the pole region.
noOfMPITasks Optional[bool | int] False If integer, GetDP will be run in parallel using MPI. This is only valid if MPI is installed on the system and an MPI-enabled GetDP is used. If False, GetDP will be run in serial without invoking mpiexec.
time_stepping Optional[MultipoleSolveTransientCoupled] {...} (12 fields) This dictionary contains the information about the parameters for the transient solver.
cable_homogenization Optional[HomogenizedConductor] {...} (4 fields) This dictionary contains the information about the homogenized conductor properties.

MultipoleSolveBoundaryConditionsThermal

Description: Level 4: Class for FiQuS Multipole

Field Type Default Description
temperature Optional[dict] {} This dictionary contains the information about the Dirichlet boundary conditions.The keys are chosen names for each boundary condition.
heat_flux Optional[dict] {} This dictionary contains the information about the Neumann boundary conditions.The keys are chosen names for each boundary condition.
cooling Optional[dict] {} This dictionary contains the information about the Robin boundary conditions.The keys are chosen names for each boundary condition.

MultipoleSolveCoilWindings

Description: Level 1: Class for winding information

Field Type Default Description
conductor_to_group Optional[list] []
group_to_coil_section Optional[list] []
polarities_in_group Optional[list] []
half_turn_length Optional[list] []
electrical_pairs Optional[MultipoleSolveCoilWindingsElectricalOrder] {...} (3 fields)

MultipoleSolveCoilWindingsElectricalOrder

Description: Level 2: Class for the order of the electrical pairs

Field Type Default Description
group_together Optional[list] []
reversed Optional[list] []
overwrite_electrical_order Optional[list] []

MultipoleSolveConvectionBoundaryCondition

Description: Level 5: Class for FiQuS Multipole

Field Type Default Description
boundaries Optional[list] [] It specifies the list of boundaries where the condition is applied.Each boundary is identified by a string of the form ,where the accepted sides are i, o, l, h which correspond respectively to inner, outer, lower (angle), higher (angle): e.g., 1o
heat_transfer_coefficient Optional[float | str] null It specifies the value or function name of the heat transfer coefficient for this boundary condition.

MultipoleSolveElectromagnetics

Description: Level 3: Class for FiQuS Multipole

Field Type Default Description
non_linear_solver MultipoleSolveNonLinearSolver MultipoleSolveNonLinearSolver() This dictionary contains the information about the parameters for the non-linear solver.
solve_type Optional[Mixed] null It determines whether the magneto-static problem is solved ('stationary') or not ('null').

Available inputs: None, "stationary", "transient"
time_stepping Optional[MultipoleSolveTransientElectromagnetics] {...} (11 fields) This dictionary contains the information about the parameters for the transient solver.

MultipoleSolveHeCooling

Description: Level 4: Class for FiQuS Multipole

Field Type Default Description
enabled Optional[bool] False It determines whether the helium cooling is enabled or not (adiabatic conditions).
sides Optional[Literal[str]] "outer" It specifies the general grouping of the boundaries where to apply cooling:'external': all external boundaries; 'inner': only inner boundaries; 'outer': only outer boundaries; 'inner_outer': inner and outer boundaries.

Available inputs: "external", "inner", "outer", "inner_outer"
heat_transfer_coefficient Optional[float | str] 0.0 It specifies the value or name of the function of the constant heat transfer coefficient.

MultipoleSolveHeatFluxBoundaryCondition

Description: Level 5: Class for FiQuS Multipole

Field Type Default Description
boundaries Optional[list] [] It specifies the list of boundaries where the condition is applied.Each boundary is identified by a string of the form ,where the accepted sides are i, o, l, h which correspond respectively to inner, outer, lower (angle), higher (angle): e.g., 1o
const_heat_flux Optional[float] null It specifies the value of the heat flux for this boundary condition.

MultipoleSolveInsulationBlockToBlock

Description: Level 4: Class for FiQuS Multipole It contains the information about the materials and thicknesses of the inner insulation regions (between blocks) modeled via thin-shell approximation.

Field Type Default Description
material Optional[str] null It specifies the default material of the insulation regions between the blocks insulation regions.
blocks_connection_overwrite list [] It specifies the blocks couples adjacent to the insulation region.The blocks must be ordered from inner to outer block for mid-layer insulation regions and from lower to higher angle block for mid-pole and mid-winding insulation regions.
materials_overwrite Optional[list] [] It specifies the list of materials making up the layered insulation region to be placed between the specified blocks.The materials must be ordered from inner to outer layers and lower to higher angle layers.
thicknesses_overwrite Optional[list] [] It specifies the list of thicknesses of the specified insulation layers. The order must match the one of the materials list.

MultipoleSolveInsulationExterior

Description: Level 4: Class for FiQuS Multipole It contains the information about the materials and thicknesses of the outer insulation regions (exterior boundaries) modeled via thin-shell approximation.

Field Type Default Description
blocks Optional[list] [] It specifies the reference numbers of the blocks adjacent to the exterior insulation regions to modify.
materials_append Optional[list] [] It specifies the list of materials making up the layered insulation region to be appended to the block insulation.The materials must be ordered from the block outward.
thicknesses_append Optional[list] [] It specifies the list of thicknesses of the specified insulation layers. The order must match the one of the materials list.

MultipoleSolveInsulationTSA

Description: Level 3: Class for FiQuS Multipole

Field Type Default Description
block_to_block MultipoleSolveInsulationBlockToBlock MultipoleSolveInsulationBlockToBlock() This dictionary contains the information about the materials and thicknesses of the inner insulation regions (between blocks) modeled via thin-shell approximation.
exterior Optional[MultipoleSolveInsulationExterior] {...} (3 fields) This dictionary contains the information about the materials and thicknesses of the outer insulation regions (exterior boundaries) modeled via thin-shell approximation.
between_collar Optional[MultipoleSolveInsulationBlockToBlock] {...} (1 fields) This dictionary contains the information about the materials and thicknesses of the insulation regions between the collar and the outer insulation regions for thin-shell approximation.

MultipoleSolveNonLinearSolver

Description: Level 4: Class for FiQuS Multipole

Field Type Default Description
rel_tolerance Optional[float] 0.0001 It specifies the relative tolerance.
abs_tolerance Optional[float] 0.1 It specifies the absolute tolerance.
relaxation_factor Optional[float] 0.7 It specifies the relaxation factor.
max_iterations Optional[int] 20 It specifies the maximum number of iterations if no convergence is reached.
norm_type Literal[str] "LinfNorm" It specifies the type of norm to be calculated for convergence assessment.

Available inputs: "L1Norm", "MeanL1Norm", "L2Norm", "MeanL2Norm", "LinfNorm"

MultipoleSolveQuenchInitiation

Description: Level 4: Class for FiQuS Multipole

Field Type Default Description
turns Optional[list] [] It specifies the list of reference numbers of half-turns whose critical currents are set to zero.
t_trigger Optional[list] [] It specifies the list of time instants at which the critical current is set to zero.

MultipoleSolveSpecificMaterial

Description: Level 3: Class for FiQuS Multipole

Field Type Default Description
material Optional[str] null It specifies the material of the region.
RRR Optional[float] null It specifies the RRR of the region.
T_ref_RRR_high Optional[float] null It specifies the reference temperature associated with the RRR.
transient_effects_enabled Optional[bool] False It determines whether the transient effects are enabled or not.

MultipoleSolveTemperatureBoundaryCondition

Description: Level 5: Class for FiQuS Multipole

Field Type Default Description
boundaries Optional[list] [] It specifies the list of boundaries where the condition is applied.Each boundary is identified by a string of the form ,where the accepted sides are i, o, l, h which correspond respectively to inner, outer, lower (angle), higher (angle): e.g., 1o
const_temperature Optional[float] null It specifies the value of the temperature for this boundary condition.

MultipoleSolveThermal

Description: Level 3: Class for FiQuS Multipole

Field Type Default Description
non_linear_solver MultipoleSolveNonLinearSolver MultipoleSolveNonLinearSolver() This dictionary contains the information about the parameters for the non-linear solver.
solve_type Optional[Mixed] null It determines whether the thermal transient problem is solved ('transient') or not ('null').

Available inputs: None, "transient"
insulation_TSA Optional[MultipoleSolveInsulationTSA] {...} (3 fields) This dictionary contains the information about the materials and thicknesses of the insulation regions modeled via thin-shell approximation.
He_cooling MultipoleSolveHeCooling MultipoleSolveHeCooling() This dictionary contains the information about the Robin boundary condition for generic groups of boundaries.
collar_cooling MultipleSolveCollarHeCooling MultipleSolveCollarHeCooling() This dictionary contains the information about the cooling for the collar region.
overwrite_boundary_conditions Optional[MultipoleSolveBoundaryConditionsThermal] {...} (3 fields) This dictionary contains the information about boundary conditions for explicitly specified boundaries.
time_stepping MultipoleSolveTransientThermal MultipoleSolveTransientThermal() This dictionary contains the information about the parameters for the transient solver.
jc_degradation_to_zero Optional[MultipoleSolveQuenchInitiation] {...} (2 fields) This dictionary contains the information about half turns with zero critical current.
init_temperature Optional[float] 1.9 It specifies the initial temperature of the simulation.
enforce_init_temperature_as_minimum Optional[bool] False It determines whether the initial temperature is enforced as the minimum temperature of the simulation.

MultipoleSolveTransientCoupled

Description: Level 4: Class for FiQuS Multipole

Field Type Default Description
initial_time Optional[float] 0.0 It specifies the initial time of the simulation.
final_time Optional[float] 0.0 It specifies the final time of the simulation.
initial_time_step Optional[float] 1e-10 It specifies the initial time step used at the beginning of the transient simulation.
min_time_step Optional[float] 1e-12 It specifies the minimum possible value of the time step.
max_time_step Optional[float] 10 It specifies the maximum possible value of the time step.
breakpoints Optional[list] [] It forces the transient simulation to hit the time instants contained in this list.
integration_method Optional[Literal[str]] "Euler" It specifies the type of integration method to be used.

Available inputs: "Euler", "Gear_2", "Gear_3", "Gear_4", "Gear_5", "Gear_6"
rel_tol_time Optional[list] [...] (2 items) It specifies the relative tolerance.
abs_tol_time Optional[list] [...] (2 items) It specifies the absolute tolerance.
norm_type list[Literal[str]] [...] (2 items) It specifies the type of norm to be calculated for convergence assessment.

Available inputs: "L1Norm", "MeanL1Norm", "L2Norm", "MeanL2Norm", "LinfNorm"
stop_temperature Optional[float] 300 If one half turn reaches this temperature, the simulation is stopped.
seq_NL Optional[bool] True The non-linear solver is sequential Mag->Thermal, or its fully coupled.

MultipoleSolveTransientElectromagnetics

Description: Level 4: Class for FiQuS Multipole

Field Type Default Description
initial_time Optional[float] 0.0 It specifies the initial time of the simulation.
final_time Optional[float] 0.0 It specifies the final time of the simulation.
initial_time_step Optional[float] 1e-10 It specifies the initial time step used at the beginning of the transient simulation.
min_time_step Optional[float] 1e-12 It specifies the minimum possible value of the time step.
max_time_step Optional[float] 10 It specifies the maximum possible value of the time step.
breakpoints Optional[list] [] It forces the transient simulation to hit the time instants contained in this list.
integration_method Optional[Literal[str]] "Euler" It specifies the type of integration method to be used.

Available inputs: "Euler", "Gear_2", "Gear_3", "Gear_4", "Gear_5", "Gear_6"
rel_tol_time Optional[float] 0.0001 It specifies the relative tolerance.
abs_tol_time Optional[float] 0.0001 It specifies the absolute tolerance.
norm_type Optional[Literal[str]] "LinfNorm" It specifies the type of norm to be calculated for convergence assessment.

Available inputs: "L1Norm", "MeanL1Norm", "L2Norm", "MeanL2Norm", "LinfNorm"
T_sim Optional[float] 1.9 It specifies the temperature used to calculate the resistivity of the superconductor during the transient sim.

MultipoleSolveTransientThermal

Description: Level 4: Class for FiQuS Multipole

Field Type Default Description
initial_time Optional[float] 0.0 It specifies the initial time of the simulation.
final_time Optional[float] 0.0 It specifies the final time of the simulation.
initial_time_step Optional[float] 1e-10 It specifies the initial time step used at the beginning of the transient simulation.
min_time_step Optional[float] 1e-12 It specifies the minimum possible value of the time step.
max_time_step Optional[float] 10 It specifies the maximum possible value of the time step.
breakpoints Optional[list] [] It forces the transient simulation to hit the time instants contained in this list.
integration_method Optional[Literal[str]] "Euler" It specifies the type of integration method to be used.

Available inputs: "Euler", "Gear_2", "Gear_3", "Gear_4", "Gear_5", "Gear_6"
rel_tol_time Optional[float] 0.0001 It specifies the relative tolerance.
abs_tol_time Optional[float] 0.0001 It specifies the absolute tolerance.
norm_type Optional[Literal[str]] "LinfNorm" It specifies the type of norm to be calculated for convergence assessment.

Available inputs: "L1Norm", "MeanL1Norm", "L2Norm", "MeanL2Norm", "LinfNorm"
stop_temperature Optional[float] 300 If one half turn reaches this temperature, the simulation is stopped.

MultipoleThermalInsulationMesh

Description: Level 3: Class for FiQuS Multipole

Field Type Default Description
global_size float 0.0001 It specifies the global size of the mesh for the insulation regions. It is enforced as a constant mesh field for surface insulation and by fixing the number of TSA layers for thin-shell approximation.
TSA Optional[MultipoleMeshThinShellApproximationParameters] {...} (7 fields) This dictionary contains the mesh information for thin-shells.

MultipoleGeoElement

Module: DataFiQuSMultipole

Description: Level 5: Class for FiQuS Multipole

Fields

Field Type Default Description
lines Optional[int] 3 It specifies the number of Gaussian points for lines.
triangles Optional[Literal[int]] 3 It specifies the number of Gaussian points for triangles.

Available inputs: 1, 3, 4, 6, 7, 12, 13, 16
quadrangles Optional[Literal[int]] 4 It specifies the number of Gaussian points for quadrangles.

Available inputs: 1, 3, 4, 7

MultipoleGeometry

Module: DataFiQuSMultipole

Description: Level 2: Class for FiQuS Multipole

Fields

Field Type Default Description
geom_file_path Optional[str] null It contains the path to a .geom file. If null, the default .geom file produced by steam-sdk BuilderFiQuS will be used.
plot_preview Optional[bool] False If true, it displays matplotlib figures of the magnet geometry with relevant information (e.g., conductor and block numbers).
electromagnetics MultipoleGeometryElectromagnetics MultipoleGeometryElectromagnetics() This dictionary contains the geometry information for the electromagnetic solution.
thermal MultipoleGeometryThermal MultipoleGeometryThermal() This dictionary contains the geometry information for the thermal solution.

Nested Models

MultipoleGeometryElectromagnetics

Description: Level 2: Class for FiQuS Multipole

Field Type Default Description
create bool True It determines whether the geometry is built or not.
with_wedges Optional[bool] True It determines whether the wedge regions are built or not.
areas Optional[list[Literal[str]]] [] List with areas to build.

Available inputs: "iron_yoke", "collar", "poles"
symmetry Optional[Literal[str]] "none" It determines the model regions to build according to the specified axis/axes.

Available inputs: "none", "xy", "x", "y"

MultipoleGeometryThermal

Description: Level 2: Class for FiQuS Multipole

Field Type Default Description
create bool True It determines whether the geometry is built or not.
with_wedges Optional[bool] True It determines whether the wedge regions are built or not.
areas Optional[list[Literal[str]]] [] List with areas to build.

Available inputs: "iron_yoke", "collar", "poles"
use_TSA Optional[bool] False It determines whether the insulation regions are explicitly built or modeled via thin-shell approximation.
correct_block_coil_tsa_checkered_scheme Optional[bool] False There is a bug in the TSA naming scheme for block coils, this flag activates a simple (not clean) bug fix that will be replaced in a future version.
use_TSA_new Optional[bool] False It determines whether the regions between collar and coils are modeled via thin-shell approximation.

MultipoleGeometryElectromagnetics

Module: DataFiQuSMultipole

Description: Level 2: Class for FiQuS Multipole

Fields

Field Type Default Description
create bool True It determines whether the geometry is built or not.
with_wedges Optional[bool] True It determines whether the wedge regions are built or not.
areas Optional[list[Literal[str]]] [] List with areas to build.

Available inputs: "iron_yoke", "collar", "poles"
symmetry Optional[Literal[str]] "none" It determines the model regions to build according to the specified axis/axes.

Available inputs: "none", "xy", "x", "y"

MultipoleGeometryThermal

Module: DataFiQuSMultipole

Description: Level 2: Class for FiQuS Multipole

Fields

Field Type Default Description
create bool True It determines whether the geometry is built or not.
with_wedges Optional[bool] True It determines whether the wedge regions are built or not.
areas Optional[list[Literal[str]]] [] List with areas to build.

Available inputs: "iron_yoke", "collar", "poles"
use_TSA Optional[bool] False It determines whether the insulation regions are explicitly built or modeled via thin-shell approximation.
correct_block_coil_tsa_checkered_scheme Optional[bool] False There is a bug in the TSA naming scheme for block coils, this flag activates a simple (not clean) bug fix that will be replaced in a future version.
use_TSA_new Optional[bool] False It determines whether the regions between collar and coils are modeled via thin-shell approximation.

MultipoleGeometry_parent

Module: DataFiQuSMultipole

Fields

Field Type Default Description
create bool True It determines whether the geometry is built or not.
with_wedges Optional[bool] True It determines whether the wedge regions are built or not.
areas Optional[list[Literal[str]]] [] List with areas to build.

Available inputs: "iron_yoke", "collar", "poles"

MultipoleMesh

Module: DataFiQuSMultipole

Description: Level 2: Class for FiQuS Multipole

Fields

Field Type Default Description
electromagnetics MultipoleMeshElectromagnetics MultipoleMeshElectromagnetics() This dictionary contains the mesh information for the electromagnetic solution.
thermal MultipoleMeshThermal MultipoleMeshThermal() This dictionary contains the mesh information for the thermal solution.

Nested Models

MultipoleMeshElectromagnetics

Description: Level 2: Class for FiQuS Multipole

Field Type Default Description
create bool True It determines whether the mesh is built or not.
conductors Optional[MultipoleMeshTransfiniteOrField] {...} (2 fields) This dictionary contains the mesh information for the conductor regions.
wedges Optional[MultipoleMeshTransfiniteOrField] {...} (2 fields) This dictionary contains the mesh information for the wedge regions.
iron_field Optional[MultipoleMeshThreshold] {...} (5 fields) This dictionary contains the gmsh Field information for the iron yoke region.
collar Optional[MultipoleMeshThresholdCollar] {...} (6 fields) This dictionary contains the gmsh Field information for the collar region.
poles Optional[MultipoleMeshThreshold] {...} (5 fields) This dictionary contains the mesh information for the poles region.
bore_field Optional[MultipoleMeshThreshold] {...} (5 fields) This dictionary contains the gmsh Field information for the bore region.

MultipoleMeshThermal

Description: Level 2: Class for FiQuS Multipole

Field Type Default Description
create bool True It determines whether the mesh is built or not.
conductors Optional[MultipoleMeshTransfiniteOrField] {...} (2 fields) This dictionary contains the mesh information for the conductor regions.
wedges Optional[MultipoleMeshTransfiniteOrField] {...} (2 fields) This dictionary contains the mesh information for the wedge regions.
iron_field Optional[MultipoleMeshThreshold] {...} (5 fields) This dictionary contains the gmsh Field information for the iron yoke region.
collar Optional[MultipoleMeshThresholdCollar] {...} (6 fields) This dictionary contains the gmsh Field information for the collar region.
poles Optional[MultipoleMeshThreshold] {...} (5 fields) This dictionary contains the mesh information for the poles region.
reference Optional[MultipoleMeshThreshold] {...} (5 fields) It determines whether the reference mesh is built or not. If True, an additional layer between the insulation and collar is meshed
insulation Optional[MultipoleThermalInsulationMesh] {...} (2 fields) This dictionary contains the mesh information for the insulation regions.
isothermal_conductors Optional[bool] False It determines whether the conductors are considered isothermal or not using getDP constraints.
isothermal_wedges Optional[bool] False It determines whether the wedges are considered isothermal or not using getDP Link constraints.

MultipoleMeshThinShellApproximationParameters

Description: Level 4: Class for FiQuS Multipole

Field Type Default Description
minimum_discretizations Optional[int] 1 It specifies the number of minimum spacial discretizations across a thin-shell.
global_size_QH Optional[float] 0.0001 The thickness of the quench heater region is divided by this parameter to determine the number of spacial discretizations across the thin-shell.
minimum_discretizations_QH Optional[int] 1 It specifies the number of minimum spacial discretizations across a thin-shell.
global_size_COL Optional[float] 0.0001 The thickness of the region between ht and collar is divided by this parameter to determine the number of spacial discretizations across the thin-shell.
minimum_discretizations_COL Optional[int] 1 It specifies the number of minimum spacial discretizations across a thin-shell.
scale_factor_radial Optional[float] -1.0 Scaling factor for radially directed thin-shells (e.g. halfturns to collar). Set to -1.0 to use default scaling. Wedge scalings are always ignored.
scale_factor_azimuthal Optional[float] -1.0 Scaling factor for azimuthally directed thin-shells (e.g. halfturns to pole). Set to -1.0 to use default scaling. Wedge scalings are always ignored.

MultipoleMeshThreshold

Description: Level 3: Class for FiQuS Multipole

Field Type Default Description
enabled Optional[bool] False It determines whether the gmsh Field is enabled or not.
SizeMin Optional[float] null It sets gmsh Mesh.MeshSizeMin.
SizeMax Optional[float] null It sets gmsh Mesh.MeshSizeMax.
DistMin Optional[float] null It sets gmsh Mesh.MeshDistMin.
DistMax Optional[float] null It sets gmsh Mesh.MeshDistMax.

MultipoleMeshThresholdCollar

Description: Level 3: Class for FiQuS Multipole

Field Type Default Description
enabled Optional[bool] False It determines whether the gmsh Field is enabled or not.
SizeMin Optional[float] null It sets gmsh Mesh.MeshSizeMin.
SizeMax Optional[float] null It sets gmsh Mesh.MeshSizeMax.
DistMin Optional[float] null It sets gmsh Mesh.MeshDistMin.
DistMax Optional[float] null It sets gmsh Mesh.MeshDistMax.
Enforce_TSA_mapping Optional[bool] False Enfocres matching nodes for the TSA layer. Uses SizeMin to determine the size of the nodes.

MultipoleMeshTransfinite

Description: Level 3: Class for FiQuS Multipole

Field Type Default Description
enabled_for Literal null It determines on what entities the transfinite algorithm is applied.

Available inputs: None, "curves", "curves_and_surfaces"
curve_target_size_height Optional[float] 1.0 The height of the region (short side) is divided by this parameter to determine the number of elements to apply via transfinite curves.
curve_target_size_width Optional[float] 1.0 The width of the region (long side) is divided by this parameter to determine the number of elements to apply via transfinite curves.

MultipoleMeshTransfiniteOrField

Description: Level 3: Class for FiQuS Multipole

Field Type Default Description
transfinite MultipoleMeshTransfinite MultipoleMeshTransfinite() This dictionary contains the mesh information for transfinite curves.
field MultipoleMeshThreshold MultipoleMeshThreshold() This dictionary contains the gmsh Field information.

MultipoleThermalInsulationMesh

Description: Level 3: Class for FiQuS Multipole

Field Type Default Description
global_size float 0.0001 It specifies the global size of the mesh for the insulation regions. It is enforced as a constant mesh field for surface insulation and by fixing the number of TSA layers for thin-shell approximation.
TSA Optional[MultipoleMeshThinShellApproximationParameters] {...} (7 fields) This dictionary contains the mesh information for thin-shells.

MultipoleMeshElectromagnetics

Module: DataFiQuSMultipole

Description: Level 2: Class for FiQuS Multipole

Fields

Field Type Default Description
create bool True It determines whether the mesh is built or not.
conductors Optional[MultipoleMeshTransfiniteOrField] {...} (2 fields) This dictionary contains the mesh information for the conductor regions.
wedges Optional[MultipoleMeshTransfiniteOrField] {...} (2 fields) This dictionary contains the mesh information for the wedge regions.
iron_field Optional[MultipoleMeshThreshold] {...} (5 fields) This dictionary contains the gmsh Field information for the iron yoke region.
collar Optional[MultipoleMeshThresholdCollar] {...} (6 fields) This dictionary contains the gmsh Field information for the collar region.
poles Optional[MultipoleMeshThreshold] {...} (5 fields) This dictionary contains the mesh information for the poles region.
bore_field Optional[MultipoleMeshThreshold] {...} (5 fields) This dictionary contains the gmsh Field information for the bore region.

Nested Models

MultipoleMeshThreshold

Description: Level 3: Class for FiQuS Multipole

Field Type Default Description
enabled Optional[bool] False It determines whether the gmsh Field is enabled or not.
SizeMin Optional[float] null It sets gmsh Mesh.MeshSizeMin.
SizeMax Optional[float] null It sets gmsh Mesh.MeshSizeMax.
DistMin Optional[float] null It sets gmsh Mesh.MeshDistMin.
DistMax Optional[float] null It sets gmsh Mesh.MeshDistMax.

MultipoleMeshThresholdCollar

Description: Level 3: Class for FiQuS Multipole

Field Type Default Description
enabled Optional[bool] False It determines whether the gmsh Field is enabled or not.
SizeMin Optional[float] null It sets gmsh Mesh.MeshSizeMin.
SizeMax Optional[float] null It sets gmsh Mesh.MeshSizeMax.
DistMin Optional[float] null It sets gmsh Mesh.MeshDistMin.
DistMax Optional[float] null It sets gmsh Mesh.MeshDistMax.
Enforce_TSA_mapping Optional[bool] False Enfocres matching nodes for the TSA layer. Uses SizeMin to determine the size of the nodes.

MultipoleMeshTransfinite

Description: Level 3: Class for FiQuS Multipole

Field Type Default Description
enabled_for Literal null It determines on what entities the transfinite algorithm is applied.

Available inputs: None, "curves", "curves_and_surfaces"
curve_target_size_height Optional[float] 1.0 The height of the region (short side) is divided by this parameter to determine the number of elements to apply via transfinite curves.
curve_target_size_width Optional[float] 1.0 The width of the region (long side) is divided by this parameter to determine the number of elements to apply via transfinite curves.

MultipoleMeshTransfiniteOrField

Description: Level 3: Class for FiQuS Multipole

Field Type Default Description
transfinite MultipoleMeshTransfinite MultipoleMeshTransfinite() This dictionary contains the mesh information for transfinite curves.
field MultipoleMeshThreshold MultipoleMeshThreshold() This dictionary contains the gmsh Field information.

MultipoleMeshThermal

Module: DataFiQuSMultipole

Description: Level 2: Class for FiQuS Multipole

Fields

Field Type Default Description
create bool True It determines whether the mesh is built or not.
conductors Optional[MultipoleMeshTransfiniteOrField] {...} (2 fields) This dictionary contains the mesh information for the conductor regions.
wedges Optional[MultipoleMeshTransfiniteOrField] {...} (2 fields) This dictionary contains the mesh information for the wedge regions.
iron_field Optional[MultipoleMeshThreshold] {...} (5 fields) This dictionary contains the gmsh Field information for the iron yoke region.
collar Optional[MultipoleMeshThresholdCollar] {...} (6 fields) This dictionary contains the gmsh Field information for the collar region.
poles Optional[MultipoleMeshThreshold] {...} (5 fields) This dictionary contains the mesh information for the poles region.
reference Optional[MultipoleMeshThreshold] {...} (5 fields) It determines whether the reference mesh is built or not. If True, an additional layer between the insulation and collar is meshed
insulation Optional[MultipoleThermalInsulationMesh] {...} (2 fields) This dictionary contains the mesh information for the insulation regions.
isothermal_conductors Optional[bool] False It determines whether the conductors are considered isothermal or not using getDP constraints.
isothermal_wedges Optional[bool] False It determines whether the wedges are considered isothermal or not using getDP Link constraints.

Nested Models

MultipoleMeshThinShellApproximationParameters

Description: Level 4: Class for FiQuS Multipole

Field Type Default Description
minimum_discretizations Optional[int] 1 It specifies the number of minimum spacial discretizations across a thin-shell.
global_size_QH Optional[float] 0.0001 The thickness of the quench heater region is divided by this parameter to determine the number of spacial discretizations across the thin-shell.
minimum_discretizations_QH Optional[int] 1 It specifies the number of minimum spacial discretizations across a thin-shell.
global_size_COL Optional[float] 0.0001 The thickness of the region between ht and collar is divided by this parameter to determine the number of spacial discretizations across the thin-shell.
minimum_discretizations_COL Optional[int] 1 It specifies the number of minimum spacial discretizations across a thin-shell.
scale_factor_radial Optional[float] -1.0 Scaling factor for radially directed thin-shells (e.g. halfturns to collar). Set to -1.0 to use default scaling. Wedge scalings are always ignored.
scale_factor_azimuthal Optional[float] -1.0 Scaling factor for azimuthally directed thin-shells (e.g. halfturns to pole). Set to -1.0 to use default scaling. Wedge scalings are always ignored.

MultipoleMeshThreshold

Description: Level 3: Class for FiQuS Multipole

Field Type Default Description
enabled Optional[bool] False It determines whether the gmsh Field is enabled or not.
SizeMin Optional[float] null It sets gmsh Mesh.MeshSizeMin.
SizeMax Optional[float] null It sets gmsh Mesh.MeshSizeMax.
DistMin Optional[float] null It sets gmsh Mesh.MeshDistMin.
DistMax Optional[float] null It sets gmsh Mesh.MeshDistMax.

MultipoleMeshThresholdCollar

Description: Level 3: Class for FiQuS Multipole

Field Type Default Description
enabled Optional[bool] False It determines whether the gmsh Field is enabled or not.
SizeMin Optional[float] null It sets gmsh Mesh.MeshSizeMin.
SizeMax Optional[float] null It sets gmsh Mesh.MeshSizeMax.
DistMin Optional[float] null It sets gmsh Mesh.MeshDistMin.
DistMax Optional[float] null It sets gmsh Mesh.MeshDistMax.
Enforce_TSA_mapping Optional[bool] False Enfocres matching nodes for the TSA layer. Uses SizeMin to determine the size of the nodes.

MultipoleMeshTransfinite

Description: Level 3: Class for FiQuS Multipole

Field Type Default Description
enabled_for Literal null It determines on what entities the transfinite algorithm is applied.

Available inputs: None, "curves", "curves_and_surfaces"
curve_target_size_height Optional[float] 1.0 The height of the region (short side) is divided by this parameter to determine the number of elements to apply via transfinite curves.
curve_target_size_width Optional[float] 1.0 The width of the region (long side) is divided by this parameter to determine the number of elements to apply via transfinite curves.

MultipoleMeshTransfiniteOrField

Description: Level 3: Class for FiQuS Multipole

Field Type Default Description
transfinite MultipoleMeshTransfinite MultipoleMeshTransfinite() This dictionary contains the mesh information for transfinite curves.
field MultipoleMeshThreshold MultipoleMeshThreshold() This dictionary contains the gmsh Field information.

MultipoleThermalInsulationMesh

Description: Level 3: Class for FiQuS Multipole

Field Type Default Description
global_size float 0.0001 It specifies the global size of the mesh for the insulation regions. It is enforced as a constant mesh field for surface insulation and by fixing the number of TSA layers for thin-shell approximation.
TSA Optional[MultipoleMeshThinShellApproximationParameters] {...} (7 fields) This dictionary contains the mesh information for thin-shells.

MultipoleMeshThreshold

Module: DataFiQuSMultipole

Description: Level 3: Class for FiQuS Multipole

Fields

Field Type Default Description
enabled Optional[bool] False It determines whether the gmsh Field is enabled or not.
SizeMin Optional[float] null It sets gmsh Mesh.MeshSizeMin.
SizeMax Optional[float] null It sets gmsh Mesh.MeshSizeMax.
DistMin Optional[float] null It sets gmsh Mesh.MeshDistMin.
DistMax Optional[float] null It sets gmsh Mesh.MeshDistMax.

MultipoleMeshTransfinite

Module: DataFiQuSMultipole

Description: Level 3: Class for FiQuS Multipole

Fields

Field Type Default Description
enabled_for Literal null It determines on what entities the transfinite algorithm is applied.

Available inputs: None, "curves", "curves_and_surfaces"
curve_target_size_height Optional[float] 1.0 The height of the region (short side) is divided by this parameter to determine the number of elements to apply via transfinite curves.
curve_target_size_width Optional[float] 1.0 The width of the region (long side) is divided by this parameter to determine the number of elements to apply via transfinite curves.

MultipoleMesh_parent

Module: DataFiQuSMultipole

Description: Level 2: Class for FiQuS Multipole

Fields

Field Type Default Description
create bool True It determines whether the mesh is built or not.
conductors Optional[MultipoleMeshTransfiniteOrField] {...} (2 fields) This dictionary contains the mesh information for the conductor regions.
wedges Optional[MultipoleMeshTransfiniteOrField] {...} (2 fields) This dictionary contains the mesh information for the wedge regions.
iron_field Optional[MultipoleMeshThreshold] {...} (5 fields) This dictionary contains the gmsh Field information for the iron yoke region.
collar Optional[MultipoleMeshThresholdCollar] {...} (6 fields) This dictionary contains the gmsh Field information for the collar region.
poles Optional[MultipoleMeshThreshold] {...} (5 fields) This dictionary contains the mesh information for the poles region.

Nested Models

MultipoleMeshThreshold

Description: Level 3: Class for FiQuS Multipole

Field Type Default Description
enabled Optional[bool] False It determines whether the gmsh Field is enabled or not.
SizeMin Optional[float] null It sets gmsh Mesh.MeshSizeMin.
SizeMax Optional[float] null It sets gmsh Mesh.MeshSizeMax.
DistMin Optional[float] null It sets gmsh Mesh.MeshDistMin.
DistMax Optional[float] null It sets gmsh Mesh.MeshDistMax.

MultipoleMeshThresholdCollar

Description: Level 3: Class for FiQuS Multipole

Field Type Default Description
enabled Optional[bool] False It determines whether the gmsh Field is enabled or not.
SizeMin Optional[float] null It sets gmsh Mesh.MeshSizeMin.
SizeMax Optional[float] null It sets gmsh Mesh.MeshSizeMax.
DistMin Optional[float] null It sets gmsh Mesh.MeshDistMin.
DistMax Optional[float] null It sets gmsh Mesh.MeshDistMax.
Enforce_TSA_mapping Optional[bool] False Enfocres matching nodes for the TSA layer. Uses SizeMin to determine the size of the nodes.

MultipoleMeshTransfinite

Description: Level 3: Class for FiQuS Multipole

Field Type Default Description
enabled_for Literal null It determines on what entities the transfinite algorithm is applied.

Available inputs: None, "curves", "curves_and_surfaces"
curve_target_size_height Optional[float] 1.0 The height of the region (short side) is divided by this parameter to determine the number of elements to apply via transfinite curves.
curve_target_size_width Optional[float] 1.0 The width of the region (long side) is divided by this parameter to determine the number of elements to apply via transfinite curves.

MultipoleMeshTransfiniteOrField

Description: Level 3: Class for FiQuS Multipole

Field Type Default Description
transfinite MultipoleMeshTransfinite MultipoleMeshTransfinite() This dictionary contains the mesh information for transfinite curves.
field MultipoleMeshThreshold MultipoleMeshThreshold() This dictionary contains the gmsh Field information.

MultipolePostProc

Module: DataFiQuSMultipole

Description: Level 2: Class for FiQuS Multipole

Fields

Field Type Default Description
electromagnetics MultipolePostProcElectromagnetics MultipolePostProcElectromagnetics() This dictionary contains the post-processing information for the electromagnetic solution.
thermal MultipolePostProcThermal MultipolePostProcThermal() This dictionary contains the post-processing information for the thermal solution.
circuit_coupling CCPostProc CCPostProc() This dictionary contains the post-processing information for the circuit variables calculated in the solution.

Nested Models

CCPostProc

Field Type Default Description
variables_I Optional[list[Literal[str]]] [] Currents from the circuit that will be exported as csv

Available inputs: "I_PC"
"I_1"
"I_2"
"I_cpc"
"I_crowbar"
"I_3"
"I_c_r"
"I_EE"
"I_c"
"I_s"
"I_C"
"I_EE_n"
"I_c_n"
"I_s_n"
"I_QH"
"I_EQ"
"I_ESC"
"I_A"
"I_B"
"I_ESC_Diode"
"I_ESC_C"
variables_U Optional[list[Literal[str]]] [] Voltages from the circuit that will be exported as csv

Available inputs: "PS_currentsource"
"PS_R_1"
"PS_L_1"
"PS_C"
"PS_R_3"
"PS_L_3"
"PS_R_2"
"PS_L_2"
"PS_R_crowbar"
"PS_Ud_crowbar"
"PS_L_crowbar"
"PS_R_c_r"
"PS_Ud_c_r"
"PS_L_c_r"
"circ_R_circuit"
"EE_L"
"EE_V_EE"
"EE_Ud_snubber"
"EE_C"
"EE_R_c"
"EE_L_c"
"EE_Ud_switch"
"EE_R_s"
"EE_L_s"
"EE_L_n"
"EE_V_EE_n"
"EE_Ud_snubber_n"
"EE_C_n"
"EE_R_c_n"
"EE_L_c_n"
"EE_Ud_switch_n"
"EE_R_s_n"
"EE_L_s_n"
"EE_R_switch"
"EE_R_switch_n"
"CLIQ_R"
"CLIQ_L"
"CLIQ_C"
"ECLIQ_currentsource"
"ECLIQ_L_leads"
"ECLIQ_R_leads"
"ESC_C1"
"ESC_C2"
"ESC_R_leads"
"ESC_R_unit"
"ESC_L"
"ESC_L_Diode"
"ESC_Ud_Diode"
assemble_veusz Optional[bool] False It determines whether the post-processing data is assembled in a veusz file.

MultipolePostProcElectromagnetics

Description: Level 2: Class for FiQuS Multipole

Field Type Default Description
output_time_steps_pos Optional[bool | int] True It determines whether the solution for the .pos file is saved for all time steps (True), none (False), or equidistant time steps (int).
output_time_steps_txt Optional[bool | int] True It determines whether the solution for the .txt file is saved for all time steps (True), none (False), or equidistant time steps (int).
save_pos_at_the_end Optional[bool] True It determines whether the solution for the .pos file is saved at the end of the simulation or during run time.
save_txt_at_the_end Optional[bool] False It determines whether the solution for the .txt file is saved at the end of the simulation or during run time.
plot_all Optional[bool] False It determines whether the figures are generated and shown (true), generated only (null), or not generated (false). Useful for tests.
compare_to_ROXIE Optional[str] null It contains the absolute path to a reference ROXIE map2d file. If provided, comparative plots with respect to the reference are generated.
variables Optional[list[Literal[str]]] [] It specifies the physical quantity to be output.

Available inputs: "a", "az", "b", "h", "js", "jOverJc", "sigma_collar", "is"
volumes Optional[list[Literal[str]]] [] It specifies the regions associated with the physical quantity to be output.

Available inputs: "omega", "powered", "induced", "air", "air_far_field", "iron", "conducting", "insulator"

MultipolePostProcThermal

Description: Level 2: Class for FiQuS Multipole

Field Type Default Description
output_time_steps_pos Optional[bool | int] True It determines whether the solution for the .pos file is saved for all time steps (True), none (False), or equidistant time steps (int).
output_time_steps_txt Optional[bool | int] True It determines whether the solution for the .txt file is saved for all time steps (True), none (False), or equidistant time steps (int).
save_pos_at_the_end Optional[bool] True It determines whether the solution for the .pos file is saved at the end of the simulation or during run time.
save_txt_at_the_end Optional[bool] False It determines whether the solution for the .txt file is saved at the end of the simulation or during run time.
plot_all Optional[bool] False It determines whether the figures are generated and shown (true), generated only (null), or not generated (false). Useful for tests.
take_average_conductor_temperature Optional[bool] True It determines whether the output files are based on the average conductor temperature or not (map2d).
variables Optional[list[Literal[str]]] [...] (1 items) It specifies the physical quantity to be output.

Available inputs: "T", "jOverJc", "rho", "az_thermal", "ac_loss"
volumes Optional[list[Literal[str]]] [...] (1 items) It specifies the regions associated with the physical quantity to be output.

Available inputs: "omega", "powered", "induced", "iron", "conducting", "insulator"

MultipolePostProcElectromagnetics

Module: DataFiQuSMultipole

Description: Level 2: Class for FiQuS Multipole

Fields

Field Type Default Description
output_time_steps_pos Optional[bool | int] True It determines whether the solution for the .pos file is saved for all time steps (True), none (False), or equidistant time steps (int).
output_time_steps_txt Optional[bool | int] True It determines whether the solution for the .txt file is saved for all time steps (True), none (False), or equidistant time steps (int).
save_pos_at_the_end Optional[bool] True It determines whether the solution for the .pos file is saved at the end of the simulation or during run time.
save_txt_at_the_end Optional[bool] False It determines whether the solution for the .txt file is saved at the end of the simulation or during run time.
plot_all Optional[bool] False It determines whether the figures are generated and shown (true), generated only (null), or not generated (false). Useful for tests.
compare_to_ROXIE Optional[str] null It contains the absolute path to a reference ROXIE map2d file. If provided, comparative plots with respect to the reference are generated.
variables Optional[list[Literal[str]]] [] It specifies the physical quantity to be output.

Available inputs: "a", "az", "b", "h", "js", "jOverJc", "sigma_collar", "is"
volumes Optional[list[Literal[str]]] [] It specifies the regions associated with the physical quantity to be output.

Available inputs: "omega", "powered", "induced", "air", "air_far_field", "iron", "conducting", "insulator"

MultipolePostProcThermal

Module: DataFiQuSMultipole

Description: Level 2: Class for FiQuS Multipole

Fields

Field Type Default Description
output_time_steps_pos Optional[bool | int] True It determines whether the solution for the .pos file is saved for all time steps (True), none (False), or equidistant time steps (int).
output_time_steps_txt Optional[bool | int] True It determines whether the solution for the .txt file is saved for all time steps (True), none (False), or equidistant time steps (int).
save_pos_at_the_end Optional[bool] True It determines whether the solution for the .pos file is saved at the end of the simulation or during run time.
save_txt_at_the_end Optional[bool] False It determines whether the solution for the .txt file is saved at the end of the simulation or during run time.
plot_all Optional[bool] False It determines whether the figures are generated and shown (true), generated only (null), or not generated (false). Useful for tests.
take_average_conductor_temperature Optional[bool] True It determines whether the output files are based on the average conductor temperature or not (map2d).
variables Optional[list[Literal[str]]] [...] (1 items) It specifies the physical quantity to be output.

Available inputs: "T", "jOverJc", "rho", "az_thermal", "ac_loss"
volumes Optional[list[Literal[str]]] [...] (1 items) It specifies the regions associated with the physical quantity to be output.

Available inputs: "omega", "powered", "induced", "iron", "conducting", "insulator"

MultipolePostProc_parent

Module: DataFiQuSMultipole

Description: Level 2: Class for FiQuS Multipole

Fields

Field Type Default Description
output_time_steps_pos Optional[bool | int] True It determines whether the solution for the .pos file is saved for all time steps (True), none (False), or equidistant time steps (int).
output_time_steps_txt Optional[bool | int] True It determines whether the solution for the .txt file is saved for all time steps (True), none (False), or equidistant time steps (int).
save_pos_at_the_end Optional[bool] True It determines whether the solution for the .pos file is saved at the end of the simulation or during run time.
save_txt_at_the_end Optional[bool] False It determines whether the solution for the .txt file is saved at the end of the simulation or during run time.
plot_all Optional[bool] False It determines whether the figures are generated and shown (true), generated only (null), or not generated (false). Useful for tests.

MultipoleSolve

Module: DataFiQuSMultipole

Description: Level 2: Class for FiQuS Multipole

Fields

Field Type Default Description
coil_windings Optional[MultipoleSolveCoilWindings] {...} (5 fields) This dictionary contains the information pertaining the number of coils and electrical order necessary to generate the associated electrical circuit
electromagnetics MultipoleSolveElectromagnetics MultipoleSolveElectromagnetics() This dictionary contains the solver information for the electromagnetic solution.
thermal MultipoleSolveThermal MultipoleSolveThermal() This dictionary contains the solver information for the thermal solution.
wedges MultipoleSolveSpecificMaterial MultipoleSolveSpecificMaterial() This dictionary contains the material information of wedges.
collar MultipoleSolveSpecificMaterial MultipoleSolveSpecificMaterial() This dictionary contains the material information of the collar region.
iron_yoke MultipoleSolveSpecificMaterial MultipoleSolveSpecificMaterial() This dictionary contains the material information of the iron yoke region.
poles MultipoleSolveSpecificMaterial MultipoleSolveSpecificMaterial() This dictionary contains the material information of the pole region.
noOfMPITasks Optional[bool | int] False If integer, GetDP will be run in parallel using MPI. This is only valid if MPI is installed on the system and an MPI-enabled GetDP is used. If False, GetDP will be run in serial without invoking mpiexec.
time_stepping Optional[MultipoleSolveTransientCoupled] {...} (12 fields) This dictionary contains the information about the parameters for the transient solver.
cable_homogenization Optional[HomogenizedConductor] {...} (4 fields) This dictionary contains the information about the homogenized conductor properties.

Nested Models

HomogenizedConductorRunType

Description: Level 4: Class for runtype parameters

Field Type Default Description
mode Optional[Literal[str]] "ramp" Type of simulation to run with homogenized conductors (ramp - real cooling conditions, isothermal_ramp - unlimited cooling, quench - non-zero initial conditions)

Available inputs: "ramp", "isothermal_ramp", "quench"
ramp_file Optional[str] null Name of the ramp model from which to start the simulation

MultipleSolveCollarHeCooling

Field Type Default Description
enabled Optional[bool] False It determines whether the helium cooling is enabled or not (adiabatic conditions).
which Optional[str | list] "all" It specifies the boundaries where the collar cooling is applied. If 'all', it applies to all boundaries. If a list, it applies to the specified boundaries numbered counter-clockwise.
heat_transfer_coefficient Optional[float | str] "CFUN_hHe_T_THe" It specifies the value or name of the function of the constant heat transfer coefficient.
ref_temperature Optional[float] 0.0 It specifies the reference temperature for the collar cooling. If not specified, it takes the value of the initial temperature.
move_cooling_holes Optional[str | int | list] null It specifies if and how cooling holes are to be moved. Either choose '1' or '2' for predefined positions or a list [[dx,dy], [dx2,dy2]].. to shift each hole manually

MultipoleSolveBoundaryConditionsThermal

Description: Level 4: Class for FiQuS Multipole

Field Type Default Description
temperature Optional[dict] {} This dictionary contains the information about the Dirichlet boundary conditions.The keys are chosen names for each boundary condition.
heat_flux Optional[dict] {} This dictionary contains the information about the Neumann boundary conditions.The keys are chosen names for each boundary condition.
cooling Optional[dict] {} This dictionary contains the information about the Robin boundary conditions.The keys are chosen names for each boundary condition.

MultipoleSolveCoilWindings

Description: Level 1: Class for winding information

Field Type Default Description
conductor_to_group Optional[list] []
group_to_coil_section Optional[list] []
polarities_in_group Optional[list] []
half_turn_length Optional[list] []
electrical_pairs Optional[MultipoleSolveCoilWindingsElectricalOrder] {...} (3 fields)

MultipoleSolveCoilWindingsElectricalOrder

Description: Level 2: Class for the order of the electrical pairs

Field Type Default Description
group_together Optional[list] []
reversed Optional[list] []
overwrite_electrical_order Optional[list] []

MultipoleSolveConvectionBoundaryCondition

Description: Level 5: Class for FiQuS Multipole

Field Type Default Description
boundaries Optional[list] [] It specifies the list of boundaries where the condition is applied.Each boundary is identified by a string of the form ,where the accepted sides are i, o, l, h which correspond respectively to inner, outer, lower (angle), higher (angle): e.g., 1o
heat_transfer_coefficient Optional[float | str] null It specifies the value or function name of the heat transfer coefficient for this boundary condition.

MultipoleSolveElectromagnetics

Description: Level 3: Class for FiQuS Multipole

Field Type Default Description
non_linear_solver MultipoleSolveNonLinearSolver MultipoleSolveNonLinearSolver() This dictionary contains the information about the parameters for the non-linear solver.
solve_type Optional[Mixed] null It determines whether the magneto-static problem is solved ('stationary') or not ('null').

Available inputs: None, "stationary", "transient"
time_stepping Optional[MultipoleSolveTransientElectromagnetics] {...} (11 fields) This dictionary contains the information about the parameters for the transient solver.

MultipoleSolveHeCooling

Description: Level 4: Class for FiQuS Multipole

Field Type Default Description
enabled Optional[bool] False It determines whether the helium cooling is enabled or not (adiabatic conditions).
sides Optional[Literal[str]] "outer" It specifies the general grouping of the boundaries where to apply cooling:'external': all external boundaries; 'inner': only inner boundaries; 'outer': only outer boundaries; 'inner_outer': inner and outer boundaries.

Available inputs: "external", "inner", "outer", "inner_outer"
heat_transfer_coefficient Optional[float | str] 0.0 It specifies the value or name of the function of the constant heat transfer coefficient.

MultipoleSolveHeatFluxBoundaryCondition

Description: Level 5: Class for FiQuS Multipole

Field Type Default Description
boundaries Optional[list] [] It specifies the list of boundaries where the condition is applied.Each boundary is identified by a string of the form ,where the accepted sides are i, o, l, h which correspond respectively to inner, outer, lower (angle), higher (angle): e.g., 1o
const_heat_flux Optional[float] null It specifies the value of the heat flux for this boundary condition.

MultipoleSolveInsulationBlockToBlock

Description: Level 4: Class for FiQuS Multipole It contains the information about the materials and thicknesses of the inner insulation regions (between blocks) modeled via thin-shell approximation.

Field Type Default Description
material Optional[str] null It specifies the default material of the insulation regions between the blocks insulation regions.
blocks_connection_overwrite list [] It specifies the blocks couples adjacent to the insulation region.The blocks must be ordered from inner to outer block for mid-layer insulation regions and from lower to higher angle block for mid-pole and mid-winding insulation regions.
materials_overwrite Optional[list] [] It specifies the list of materials making up the layered insulation region to be placed between the specified blocks.The materials must be ordered from inner to outer layers and lower to higher angle layers.
thicknesses_overwrite Optional[list] [] It specifies the list of thicknesses of the specified insulation layers. The order must match the one of the materials list.

MultipoleSolveInsulationExterior

Description: Level 4: Class for FiQuS Multipole It contains the information about the materials and thicknesses of the outer insulation regions (exterior boundaries) modeled via thin-shell approximation.

Field Type Default Description
blocks Optional[list] [] It specifies the reference numbers of the blocks adjacent to the exterior insulation regions to modify.
materials_append Optional[list] [] It specifies the list of materials making up the layered insulation region to be appended to the block insulation.The materials must be ordered from the block outward.
thicknesses_append Optional[list] [] It specifies the list of thicknesses of the specified insulation layers. The order must match the one of the materials list.

MultipoleSolveInsulationTSA

Description: Level 3: Class for FiQuS Multipole

Field Type Default Description
block_to_block MultipoleSolveInsulationBlockToBlock MultipoleSolveInsulationBlockToBlock() This dictionary contains the information about the materials and thicknesses of the inner insulation regions (between blocks) modeled via thin-shell approximation.
exterior Optional[MultipoleSolveInsulationExterior] {...} (3 fields) This dictionary contains the information about the materials and thicknesses of the outer insulation regions (exterior boundaries) modeled via thin-shell approximation.
between_collar Optional[MultipoleSolveInsulationBlockToBlock] {...} (1 fields) This dictionary contains the information about the materials and thicknesses of the insulation regions between the collar and the outer insulation regions for thin-shell approximation.

MultipoleSolveNonLinearSolver

Description: Level 4: Class for FiQuS Multipole

Field Type Default Description
rel_tolerance Optional[float] 0.0001 It specifies the relative tolerance.
abs_tolerance Optional[float] 0.1 It specifies the absolute tolerance.
relaxation_factor Optional[float] 0.7 It specifies the relaxation factor.
max_iterations Optional[int] 20 It specifies the maximum number of iterations if no convergence is reached.
norm_type Literal[str] "LinfNorm" It specifies the type of norm to be calculated for convergence assessment.

Available inputs: "L1Norm", "MeanL1Norm", "L2Norm", "MeanL2Norm", "LinfNorm"

MultipoleSolveQuenchInitiation

Description: Level 4: Class for FiQuS Multipole

Field Type Default Description
turns Optional[list] [] It specifies the list of reference numbers of half-turns whose critical currents are set to zero.
t_trigger Optional[list] [] It specifies the list of time instants at which the critical current is set to zero.

MultipoleSolveSpecificMaterial

Description: Level 3: Class for FiQuS Multipole

Field Type Default Description
material Optional[str] null It specifies the material of the region.
RRR Optional[float] null It specifies the RRR of the region.
T_ref_RRR_high Optional[float] null It specifies the reference temperature associated with the RRR.
transient_effects_enabled Optional[bool] False It determines whether the transient effects are enabled or not.

MultipoleSolveTemperatureBoundaryCondition

Description: Level 5: Class for FiQuS Multipole

Field Type Default Description
boundaries Optional[list] [] It specifies the list of boundaries where the condition is applied.Each boundary is identified by a string of the form ,where the accepted sides are i, o, l, h which correspond respectively to inner, outer, lower (angle), higher (angle): e.g., 1o
const_temperature Optional[float] null It specifies the value of the temperature for this boundary condition.

MultipoleSolveThermal

Description: Level 3: Class for FiQuS Multipole

Field Type Default Description
non_linear_solver MultipoleSolveNonLinearSolver MultipoleSolveNonLinearSolver() This dictionary contains the information about the parameters for the non-linear solver.
solve_type Optional[Mixed] null It determines whether the thermal transient problem is solved ('transient') or not ('null').

Available inputs: None, "transient"
insulation_TSA Optional[MultipoleSolveInsulationTSA] {...} (3 fields) This dictionary contains the information about the materials and thicknesses of the insulation regions modeled via thin-shell approximation.
He_cooling MultipoleSolveHeCooling MultipoleSolveHeCooling() This dictionary contains the information about the Robin boundary condition for generic groups of boundaries.
collar_cooling MultipleSolveCollarHeCooling MultipleSolveCollarHeCooling() This dictionary contains the information about the cooling for the collar region.
overwrite_boundary_conditions Optional[MultipoleSolveBoundaryConditionsThermal] {...} (3 fields) This dictionary contains the information about boundary conditions for explicitly specified boundaries.
time_stepping MultipoleSolveTransientThermal MultipoleSolveTransientThermal() This dictionary contains the information about the parameters for the transient solver.
jc_degradation_to_zero Optional[MultipoleSolveQuenchInitiation] {...} (2 fields) This dictionary contains the information about half turns with zero critical current.
init_temperature Optional[float] 1.9 It specifies the initial temperature of the simulation.
enforce_init_temperature_as_minimum Optional[bool] False It determines whether the initial temperature is enforced as the minimum temperature of the simulation.

MultipoleSolveTransientCoupled

Description: Level 4: Class for FiQuS Multipole

Field Type Default Description
initial_time Optional[float] 0.0 It specifies the initial time of the simulation.
final_time Optional[float] 0.0 It specifies the final time of the simulation.
initial_time_step Optional[float] 1e-10 It specifies the initial time step used at the beginning of the transient simulation.
min_time_step Optional[float] 1e-12 It specifies the minimum possible value of the time step.
max_time_step Optional[float] 10 It specifies the maximum possible value of the time step.
breakpoints Optional[list] [] It forces the transient simulation to hit the time instants contained in this list.
integration_method Optional[Literal[str]] "Euler" It specifies the type of integration method to be used.

Available inputs: "Euler", "Gear_2", "Gear_3", "Gear_4", "Gear_5", "Gear_6"
rel_tol_time Optional[list] [...] (2 items) It specifies the relative tolerance.
abs_tol_time Optional[list] [...] (2 items) It specifies the absolute tolerance.
norm_type list[Literal[str]] [...] (2 items) It specifies the type of norm to be calculated for convergence assessment.

Available inputs: "L1Norm", "MeanL1Norm", "L2Norm", "MeanL2Norm", "LinfNorm"
stop_temperature Optional[float] 300 If one half turn reaches this temperature, the simulation is stopped.
seq_NL Optional[bool] True The non-linear solver is sequential Mag->Thermal, or its fully coupled.

MultipoleSolveTransientElectromagnetics

Description: Level 4: Class for FiQuS Multipole

Field Type Default Description
initial_time Optional[float] 0.0 It specifies the initial time of the simulation.
final_time Optional[float] 0.0 It specifies the final time of the simulation.
initial_time_step Optional[float] 1e-10 It specifies the initial time step used at the beginning of the transient simulation.
min_time_step Optional[float] 1e-12 It specifies the minimum possible value of the time step.
max_time_step Optional[float] 10 It specifies the maximum possible value of the time step.
breakpoints Optional[list] [] It forces the transient simulation to hit the time instants contained in this list.
integration_method Optional[Literal[str]] "Euler" It specifies the type of integration method to be used.

Available inputs: "Euler", "Gear_2", "Gear_3", "Gear_4", "Gear_5", "Gear_6"
rel_tol_time Optional[float] 0.0001 It specifies the relative tolerance.
abs_tol_time Optional[float] 0.0001 It specifies the absolute tolerance.
norm_type Optional[Literal[str]] "LinfNorm" It specifies the type of norm to be calculated for convergence assessment.

Available inputs: "L1Norm", "MeanL1Norm", "L2Norm", "MeanL2Norm", "LinfNorm"
T_sim Optional[float] 1.9 It specifies the temperature used to calculate the resistivity of the superconductor during the transient sim.

MultipoleSolveTransientThermal

Description: Level 4: Class for FiQuS Multipole

Field Type Default Description
initial_time Optional[float] 0.0 It specifies the initial time of the simulation.
final_time Optional[float] 0.0 It specifies the final time of the simulation.
initial_time_step Optional[float] 1e-10 It specifies the initial time step used at the beginning of the transient simulation.
min_time_step Optional[float] 1e-12 It specifies the minimum possible value of the time step.
max_time_step Optional[float] 10 It specifies the maximum possible value of the time step.
breakpoints Optional[list] [] It forces the transient simulation to hit the time instants contained in this list.
integration_method Optional[Literal[str]] "Euler" It specifies the type of integration method to be used.

Available inputs: "Euler", "Gear_2", "Gear_3", "Gear_4", "Gear_5", "Gear_6"
rel_tol_time Optional[float] 0.0001 It specifies the relative tolerance.
abs_tol_time Optional[float] 0.0001 It specifies the absolute tolerance.
norm_type Optional[Literal[str]] "LinfNorm" It specifies the type of norm to be calculated for convergence assessment.

Available inputs: "L1Norm", "MeanL1Norm", "L2Norm", "MeanL2Norm", "LinfNorm"
stop_temperature Optional[float] 300 If one half turn reaches this temperature, the simulation is stopped.

MultipoleSolveElectromagnetics

Module: DataFiQuSMultipole

Description: Level 3: Class for FiQuS Multipole

Fields

Field Type Default Description
non_linear_solver MultipoleSolveNonLinearSolver MultipoleSolveNonLinearSolver() This dictionary contains the information about the parameters for the non-linear solver.
solve_type Optional[Mixed] null It determines whether the magneto-static problem is solved ('stationary') or not ('null').

Available inputs: None, "stationary", "transient"
time_stepping Optional[MultipoleSolveTransientElectromagnetics] {...} (11 fields) This dictionary contains the information about the parameters for the transient solver.

Nested Models

MultipoleSolveNonLinearSolver

Description: Level 4: Class for FiQuS Multipole

Field Type Default Description
rel_tolerance Optional[float] 0.0001 It specifies the relative tolerance.
abs_tolerance Optional[float] 0.1 It specifies the absolute tolerance.
relaxation_factor Optional[float] 0.7 It specifies the relaxation factor.
max_iterations Optional[int] 20 It specifies the maximum number of iterations if no convergence is reached.
norm_type Literal[str] "LinfNorm" It specifies the type of norm to be calculated for convergence assessment.

Available inputs: "L1Norm", "MeanL1Norm", "L2Norm", "MeanL2Norm", "LinfNorm"

MultipoleSolveTransientElectromagnetics

Description: Level 4: Class for FiQuS Multipole

Field Type Default Description
initial_time Optional[float] 0.0 It specifies the initial time of the simulation.
final_time Optional[float] 0.0 It specifies the final time of the simulation.
initial_time_step Optional[float] 1e-10 It specifies the initial time step used at the beginning of the transient simulation.
min_time_step Optional[float] 1e-12 It specifies the minimum possible value of the time step.
max_time_step Optional[float] 10 It specifies the maximum possible value of the time step.
breakpoints Optional[list] [] It forces the transient simulation to hit the time instants contained in this list.
integration_method Optional[Literal[str]] "Euler" It specifies the type of integration method to be used.

Available inputs: "Euler", "Gear_2", "Gear_3", "Gear_4", "Gear_5", "Gear_6"
rel_tol_time Optional[float] 0.0001 It specifies the relative tolerance.
abs_tol_time Optional[float] 0.0001 It specifies the absolute tolerance.
norm_type Optional[Literal[str]] "LinfNorm" It specifies the type of norm to be calculated for convergence assessment.

Available inputs: "L1Norm", "MeanL1Norm", "L2Norm", "MeanL2Norm", "LinfNorm"
T_sim Optional[float] 1.9 It specifies the temperature used to calculate the resistivity of the superconductor during the transient sim.

MultipoleSolveHeCooling

Module: DataFiQuSMultipole

Description: Level 4: Class for FiQuS Multipole

Fields

Field Type Default Description
enabled Optional[bool] False It determines whether the helium cooling is enabled or not (adiabatic conditions).
sides Optional[Literal[str]] "outer" It specifies the general grouping of the boundaries where to apply cooling:'external': all external boundaries; 'inner': only inner boundaries; 'outer': only outer boundaries; 'inner_outer': inner and outer boundaries.

Available inputs: "external", "inner", "outer", "inner_outer"
heat_transfer_coefficient Optional[float | str] 0.0 It specifies the value or name of the function of the constant heat transfer coefficient.

MultipoleSolveInsulationBlockToBlock

Module: DataFiQuSMultipole

Description: Level 4: Class for FiQuS Multipole It contains the information about the materials and thicknesses of the inner insulation regions (between blocks) modeled via thin-shell approximation.

Fields

Field Type Default Description
material Optional[str] null It specifies the default material of the insulation regions between the blocks insulation regions.
blocks_connection_overwrite list [] It specifies the blocks couples adjacent to the insulation region.The blocks must be ordered from inner to outer block for mid-layer insulation regions and from lower to higher angle block for mid-pole and mid-winding insulation regions.
materials_overwrite Optional[list] [] It specifies the list of materials making up the layered insulation region to be placed between the specified blocks.The materials must be ordered from inner to outer layers and lower to higher angle layers.
thicknesses_overwrite Optional[list] [] It specifies the list of thicknesses of the specified insulation layers. The order must match the one of the materials list.

MultipoleSolveInsulationCollar

Module: DataFiQuSMultipole

Fields

Field Type Default Description
material Optional[str] null It specifies the default material of the insulation regions between collar and outer insulation.

MultipoleSolveNonLinearSolver

Module: DataFiQuSMultipole

Description: Level 4: Class for FiQuS Multipole

Fields

Field Type Default Description
rel_tolerance Optional[float] 0.0001 It specifies the relative tolerance.
abs_tolerance Optional[float] 0.1 It specifies the absolute tolerance.
relaxation_factor Optional[float] 0.7 It specifies the relaxation factor.
max_iterations Optional[int] 20 It specifies the maximum number of iterations if no convergence is reached.
norm_type Literal[str] "LinfNorm" It specifies the type of norm to be calculated for convergence assessment.

Available inputs: "L1Norm", "MeanL1Norm", "L2Norm", "MeanL2Norm", "LinfNorm"

MultipoleSolveSpecificMaterial

Module: DataFiQuSMultipole

Description: Level 3: Class for FiQuS Multipole

Fields

Field Type Default Description
material Optional[str] null It specifies the material of the region.
RRR Optional[float] null It specifies the RRR of the region.
T_ref_RRR_high Optional[float] null It specifies the reference temperature associated with the RRR.
transient_effects_enabled Optional[bool] False It determines whether the transient effects are enabled or not.

MultipoleSolveThermal

Module: DataFiQuSMultipole

Description: Level 3: Class for FiQuS Multipole

Fields

Field Type Default Description
non_linear_solver MultipoleSolveNonLinearSolver MultipoleSolveNonLinearSolver() This dictionary contains the information about the parameters for the non-linear solver.
solve_type Optional[Mixed] null It determines whether the thermal transient problem is solved ('transient') or not ('null').

Available inputs: None, "transient"
insulation_TSA Optional[MultipoleSolveInsulationTSA] {...} (3 fields) This dictionary contains the information about the materials and thicknesses of the insulation regions modeled via thin-shell approximation.
He_cooling MultipoleSolveHeCooling MultipoleSolveHeCooling() This dictionary contains the information about the Robin boundary condition for generic groups of boundaries.
collar_cooling MultipleSolveCollarHeCooling MultipleSolveCollarHeCooling() This dictionary contains the information about the cooling for the collar region.
overwrite_boundary_conditions Optional[MultipoleSolveBoundaryConditionsThermal] {...} (3 fields) This dictionary contains the information about boundary conditions for explicitly specified boundaries.
time_stepping MultipoleSolveTransientThermal MultipoleSolveTransientThermal() This dictionary contains the information about the parameters for the transient solver.
jc_degradation_to_zero Optional[MultipoleSolveQuenchInitiation] {...} (2 fields) This dictionary contains the information about half turns with zero critical current.
init_temperature Optional[float] 1.9 It specifies the initial temperature of the simulation.
enforce_init_temperature_as_minimum Optional[bool] False It determines whether the initial temperature is enforced as the minimum temperature of the simulation.

Nested Models

MultipleSolveCollarHeCooling

Field Type Default Description
enabled Optional[bool] False It determines whether the helium cooling is enabled or not (adiabatic conditions).
which Optional[str | list] "all" It specifies the boundaries where the collar cooling is applied. If 'all', it applies to all boundaries. If a list, it applies to the specified boundaries numbered counter-clockwise.
heat_transfer_coefficient Optional[float | str] "CFUN_hHe_T_THe" It specifies the value or name of the function of the constant heat transfer coefficient.
ref_temperature Optional[float] 0.0 It specifies the reference temperature for the collar cooling. If not specified, it takes the value of the initial temperature.
move_cooling_holes Optional[str | int | list] null It specifies if and how cooling holes are to be moved. Either choose '1' or '2' for predefined positions or a list [[dx,dy], [dx2,dy2]].. to shift each hole manually

MultipoleSolveBoundaryConditionsThermal

Description: Level 4: Class for FiQuS Multipole

Field Type Default Description
temperature Optional[dict] {} This dictionary contains the information about the Dirichlet boundary conditions.The keys are chosen names for each boundary condition.
heat_flux Optional[dict] {} This dictionary contains the information about the Neumann boundary conditions.The keys are chosen names for each boundary condition.
cooling Optional[dict] {} This dictionary contains the information about the Robin boundary conditions.The keys are chosen names for each boundary condition.

MultipoleSolveConvectionBoundaryCondition

Description: Level 5: Class for FiQuS Multipole

Field Type Default Description
boundaries Optional[list] [] It specifies the list of boundaries where the condition is applied.Each boundary is identified by a string of the form ,where the accepted sides are i, o, l, h which correspond respectively to inner, outer, lower (angle), higher (angle): e.g., 1o
heat_transfer_coefficient Optional[float | str] null It specifies the value or function name of the heat transfer coefficient for this boundary condition.

MultipoleSolveHeCooling

Description: Level 4: Class for FiQuS Multipole

Field Type Default Description
enabled Optional[bool] False It determines whether the helium cooling is enabled or not (adiabatic conditions).
sides Optional[Literal[str]] "outer" It specifies the general grouping of the boundaries where to apply cooling:'external': all external boundaries; 'inner': only inner boundaries; 'outer': only outer boundaries; 'inner_outer': inner and outer boundaries.

Available inputs: "external", "inner", "outer", "inner_outer"
heat_transfer_coefficient Optional[float | str] 0.0 It specifies the value or name of the function of the constant heat transfer coefficient.

MultipoleSolveHeatFluxBoundaryCondition

Description: Level 5: Class for FiQuS Multipole

Field Type Default Description
boundaries Optional[list] [] It specifies the list of boundaries where the condition is applied.Each boundary is identified by a string of the form ,where the accepted sides are i, o, l, h which correspond respectively to inner, outer, lower (angle), higher (angle): e.g., 1o
const_heat_flux Optional[float] null It specifies the value of the heat flux for this boundary condition.

MultipoleSolveInsulationBlockToBlock

Description: Level 4: Class for FiQuS Multipole It contains the information about the materials and thicknesses of the inner insulation regions (between blocks) modeled via thin-shell approximation.

Field Type Default Description
material Optional[str] null It specifies the default material of the insulation regions between the blocks insulation regions.
blocks_connection_overwrite list [] It specifies the blocks couples adjacent to the insulation region.The blocks must be ordered from inner to outer block for mid-layer insulation regions and from lower to higher angle block for mid-pole and mid-winding insulation regions.
materials_overwrite Optional[list] [] It specifies the list of materials making up the layered insulation region to be placed between the specified blocks.The materials must be ordered from inner to outer layers and lower to higher angle layers.
thicknesses_overwrite Optional[list] [] It specifies the list of thicknesses of the specified insulation layers. The order must match the one of the materials list.

MultipoleSolveInsulationExterior

Description: Level 4: Class for FiQuS Multipole It contains the information about the materials and thicknesses of the outer insulation regions (exterior boundaries) modeled via thin-shell approximation.

Field Type Default Description
blocks Optional[list] [] It specifies the reference numbers of the blocks adjacent to the exterior insulation regions to modify.
materials_append Optional[list] [] It specifies the list of materials making up the layered insulation region to be appended to the block insulation.The materials must be ordered from the block outward.
thicknesses_append Optional[list] [] It specifies the list of thicknesses of the specified insulation layers. The order must match the one of the materials list.

MultipoleSolveInsulationTSA

Description: Level 3: Class for FiQuS Multipole

Field Type Default Description
block_to_block MultipoleSolveInsulationBlockToBlock MultipoleSolveInsulationBlockToBlock() This dictionary contains the information about the materials and thicknesses of the inner insulation regions (between blocks) modeled via thin-shell approximation.
exterior Optional[MultipoleSolveInsulationExterior] {...} (3 fields) This dictionary contains the information about the materials and thicknesses of the outer insulation regions (exterior boundaries) modeled via thin-shell approximation.
between_collar Optional[MultipoleSolveInsulationBlockToBlock] {...} (1 fields) This dictionary contains the information about the materials and thicknesses of the insulation regions between the collar and the outer insulation regions for thin-shell approximation.

MultipoleSolveNonLinearSolver

Description: Level 4: Class for FiQuS Multipole

Field Type Default Description
rel_tolerance Optional[float] 0.0001 It specifies the relative tolerance.
abs_tolerance Optional[float] 0.1 It specifies the absolute tolerance.
relaxation_factor Optional[float] 0.7 It specifies the relaxation factor.
max_iterations Optional[int] 20 It specifies the maximum number of iterations if no convergence is reached.
norm_type Literal[str] "LinfNorm" It specifies the type of norm to be calculated for convergence assessment.

Available inputs: "L1Norm", "MeanL1Norm", "L2Norm", "MeanL2Norm", "LinfNorm"

MultipoleSolveQuenchInitiation

Description: Level 4: Class for FiQuS Multipole

Field Type Default Description
turns Optional[list] [] It specifies the list of reference numbers of half-turns whose critical currents are set to zero.
t_trigger Optional[list] [] It specifies the list of time instants at which the critical current is set to zero.

MultipoleSolveTemperatureBoundaryCondition

Description: Level 5: Class for FiQuS Multipole

Field Type Default Description
boundaries Optional[list] [] It specifies the list of boundaries where the condition is applied.Each boundary is identified by a string of the form ,where the accepted sides are i, o, l, h which correspond respectively to inner, outer, lower (angle), higher (angle): e.g., 1o
const_temperature Optional[float] null It specifies the value of the temperature for this boundary condition.

MultipoleSolveTransientThermal

Description: Level 4: Class for FiQuS Multipole

Field Type Default Description
initial_time Optional[float] 0.0 It specifies the initial time of the simulation.
final_time Optional[float] 0.0 It specifies the final time of the simulation.
initial_time_step Optional[float] 1e-10 It specifies the initial time step used at the beginning of the transient simulation.
min_time_step Optional[float] 1e-12 It specifies the minimum possible value of the time step.
max_time_step Optional[float] 10 It specifies the maximum possible value of the time step.
breakpoints Optional[list] [] It forces the transient simulation to hit the time instants contained in this list.
integration_method Optional[Literal[str]] "Euler" It specifies the type of integration method to be used.

Available inputs: "Euler", "Gear_2", "Gear_3", "Gear_4", "Gear_5", "Gear_6"
rel_tol_time Optional[float] 0.0001 It specifies the relative tolerance.
abs_tol_time Optional[float] 0.0001 It specifies the absolute tolerance.
norm_type Optional[Literal[str]] "LinfNorm" It specifies the type of norm to be calculated for convergence assessment.

Available inputs: "L1Norm", "MeanL1Norm", "L2Norm", "MeanL2Norm", "LinfNorm"
stop_temperature Optional[float] 300 If one half turn reaches this temperature, the simulation is stopped.

MultipoleSolveTransientThermal

Module: DataFiQuSMultipole

Description: Level 4: Class for FiQuS Multipole

Fields

Field Type Default Description
initial_time Optional[float] 0.0 It specifies the initial time of the simulation.
final_time Optional[float] 0.0 It specifies the final time of the simulation.
initial_time_step Optional[float] 1e-10 It specifies the initial time step used at the beginning of the transient simulation.
min_time_step Optional[float] 1e-12 It specifies the minimum possible value of the time step.
max_time_step Optional[float] 10 It specifies the maximum possible value of the time step.
breakpoints Optional[list] [] It forces the transient simulation to hit the time instants contained in this list.
integration_method Optional[Literal[str]] "Euler" It specifies the type of integration method to be used.

Available inputs: "Euler", "Gear_2", "Gear_3", "Gear_4", "Gear_5", "Gear_6"
rel_tol_time Optional[float] 0.0001 It specifies the relative tolerance.
abs_tol_time Optional[float] 0.0001 It specifies the absolute tolerance.
norm_type Optional[Literal[str]] "LinfNorm" It specifies the type of norm to be calculated for convergence assessment.

Available inputs: "L1Norm", "MeanL1Norm", "L2Norm", "MeanL2Norm", "LinfNorm"
stop_temperature Optional[float] 300 If one half turn reaches this temperature, the simulation is stopped.

MultipoleSolveTransient_parent

Module: DataFiQuSMultipole

Description: Level 4: Class for FiQuS Multipole

Fields

Field Type Default Description
initial_time Optional[float] 0.0 It specifies the initial time of the simulation.
final_time Optional[float] 0.0 It specifies the final time of the simulation.
initial_time_step Optional[float] 1e-10 It specifies the initial time step used at the beginning of the transient simulation.
min_time_step Optional[float] 1e-12 It specifies the minimum possible value of the time step.
max_time_step Optional[float] 10 It specifies the maximum possible value of the time step.
breakpoints Optional[list] [] It forces the transient simulation to hit the time instants contained in this list.
integration_method Optional[Literal[str]] "Euler" It specifies the type of integration method to be used.

Available inputs: "Euler", "Gear_2", "Gear_3", "Gear_4", "Gear_5", "Gear_6"
rel_tol_time Optional[float] 0.0001 It specifies the relative tolerance.
abs_tol_time Optional[float] 0.0001 It specifies the absolute tolerance.
norm_type Optional[Literal[str]] "LinfNorm" It specifies the type of norm to be calculated for convergence assessment.

Available inputs: "L1Norm", "MeanL1Norm", "L2Norm", "MeanL2Norm", "LinfNorm"

MultipoleSolve_parent

Module: DataFiQuSMultipole

Description: Level 3: Class for FiQuS Multipole

Fields

Field Type Default Description
non_linear_solver MultipoleSolveNonLinearSolver MultipoleSolveNonLinearSolver() This dictionary contains the information about the parameters for the non-linear solver.

Nested Models

MultipoleSolveNonLinearSolver

Description: Level 4: Class for FiQuS Multipole

Field Type Default Description
rel_tolerance Optional[float] 0.0001 It specifies the relative tolerance.
abs_tolerance Optional[float] 0.1 It specifies the absolute tolerance.
relaxation_factor Optional[float] 0.7 It specifies the relaxation factor.
max_iterations Optional[int] 20 It specifies the maximum number of iterations if no convergence is reached.
norm_type Literal[str] "LinfNorm" It specifies the type of norm to be calculated for convergence assessment.

Available inputs: "L1Norm", "MeanL1Norm", "L2Norm", "MeanL2Norm", "LinfNorm"