diff --git a/process/models/tfcoil/base.py b/process/models/tfcoil/base.py index cba4e39506..b3ddf1fbe8 100644 --- a/process/models/tfcoil/base.py +++ b/process/models/tfcoil/base.py @@ -2217,8 +2217,6 @@ def stresscl( i_tf_bucking, r_tf_inboard_in, dr_bore, - z_tf_inside_half, - f_z_cs_tf_internal, dr_cs, i_tf_inside_cs, dr_tf_inboard, @@ -2278,6 +2276,7 @@ def stresscl( a_tf_coil_inboard_case, vforce, a_tf_turn_steel, + a_cs_poloidal: float, ): """TF coil stress routine @@ -2299,10 +2298,6 @@ def stresscl( dr_bore : - z_tf_inside_half : - - f_z_cs_tf_internal : - dr_cs : i_tf_inside_cs : @@ -2421,6 +2416,9 @@ def stresscl( a_tf_turn_steel : + a_cs_poloidal : float + Area of the CS poloidal cross-section [m²] + Raises ------ ProcessValueError @@ -2544,21 +2542,12 @@ def stresscl( # as the TF is called before CS in caller.f90 # -# - # CS vertical cross-section area [m2] - if i_tf_inside_cs == TFCSRadialConfiguration.TF_INSIDE_CS: - a_oh = ( - 2.0e0 - * z_tf_inside_half - * f_z_cs_tf_internal - * (dr_bore - dr_tf_inboard) - ) - else: - a_oh = 2.0e0 * z_tf_inside_half * f_z_cs_tf_internal * dr_cs - # Maximum current in Central Solenoid, at either BOP or EOF [MA-turns] # Absolute value curr_oh_max = ( - 1.0e-6 * np.maximum(j_cs_flat_top_end, j_cs_pulse_start) * a_oh + 1.0e-6 + * np.maximum(j_cs_flat_top_end, j_cs_pulse_start) + * a_cs_poloidal ) # Number of turns @@ -2569,7 +2558,7 @@ def stresscl( ) # CS Turn vertical cross-sectionnal area - a_cs_turn = a_oh / n_oh_turns + a_cs_turn = a_cs_poloidal / n_oh_turns # CS coil turn geometry calculation - stadium shape # Literature: https://doi.org/10.1016/j.fusengdes.2017.04.052 diff --git a/process/models/tfcoil/resistive.py b/process/models/tfcoil/resistive.py index 7132c7f79f..da5954a625 100644 --- a/process/models/tfcoil/resistive.py +++ b/process/models/tfcoil/resistive.py @@ -140,73 +140,72 @@ def run(self, output: bool = False): insstrain, sig_tf_wp_av_z, ) = self.stresscl( - int(self.data.tfcoil.n_tf_stress_layers), - int(self.data.tfcoil.n_rad_per_layer), - int(self.data.tfcoil.n_tf_wp_stress_layers), - int(self.data.tfcoil.i_tf_bucking), - float(self.data.build.r_tf_inboard_in), - self.data.build.dr_bore, - self.data.build.z_tf_inside_half, - self.data.pf_coil.f_z_cs_tf_internal, - self.data.build.dr_cs, - self.data.build.i_tf_inside_cs, - self.data.build.dr_tf_inboard, - self.data.build.dr_cs_tf_gap, - self.data.pf_coil.i_pf_conductor, - self.data.pf_coil.j_cs_flat_top_end, - self.data.pf_coil.j_cs_pulse_start, - self.data.pf_coil.c_pf_coil_turn_peak_input, - self.data.pf_coil.n_pf_coils_in_group, - self.data.pf_coil.f_dr_dz_cs_turn, - self.data.pf_coil.radius_cs_turn_corners, - self.data.pf_coil.f_a_cs_turn_steel, - self.data.tfcoil.eyoung_steel, - self.data.tfcoil.poisson_steel, - self.data.tfcoil.eyoung_cond_axial, - self.data.tfcoil.poisson_cond_axial, - self.data.tfcoil.eyoung_cond_trans, - self.data.tfcoil.poisson_cond_trans, - self.data.tfcoil.eyoung_ins, - self.data.tfcoil.poisson_ins, - self.data.tfcoil.dx_tf_turn_insulation, - self.data.tfcoil.eyoung_copper, - self.data.tfcoil.poisson_copper, - self.data.tfcoil.i_tf_sup, - self.data.tfcoil.eyoung_res_tf_buck, - self.data.superconducting_tfcoil.r_tf_wp_inboard_inner, - self.data.superconducting_tfcoil.tan_theta_coil, - self.data.superconducting_tfcoil.rad_tf_coil_inboard_toroidal_half, - self.data.superconducting_tfcoil.r_tf_wp_inboard_outer, - self.data.superconducting_tfcoil.a_tf_coil_inboard_steel, - self.data.superconducting_tfcoil.a_tf_plasma_case, - self.data.superconducting_tfcoil.a_tf_coil_nose_case, - self.data.tfcoil.dx_tf_wp_insertion_gap, - self.data.tfcoil.dx_tf_wp_insulation, - self.data.tfcoil.n_tf_coil_turns, - int(self.data.tfcoil.i_tf_turns_integer), - self.data.superconducting_tfcoil.dx_tf_turn_cable_space_average, - self.data.superconducting_tfcoil.dr_tf_turn_cable_space, - self.data.tfcoil.dia_tf_turn_coolant_channel, - self.data.tfcoil.f_a_tf_turn_cable_copper, - self.data.tfcoil.dx_tf_turn_steel, - self.data.superconducting_tfcoil.dx_tf_side_case_average, - self.data.superconducting_tfcoil.dx_tf_wp_toroidal_average, - self.data.superconducting_tfcoil.a_tf_coil_inboard_insulation, - self.data.tfcoil.a_tf_wp_steel, - self.data.tfcoil.a_tf_wp_conductor, - self.data.superconducting_tfcoil.a_tf_wp_with_insulation, - self.data.tfcoil.eyoung_al, - self.data.tfcoil.poisson_al, - self.data.tfcoil.fcoolcp, - self.data.tfcoil.n_tf_graded_layers, - self.data.tfcoil.c_tf_total, - self.data.tfcoil.dr_tf_plasma_case, - self.data.tfcoil.i_tf_stress_model, - self.data.superconducting_tfcoil.vforce_inboard_tot, - self.data.tfcoil.i_tf_tresca, - self.data.tfcoil.a_tf_coil_inboard_case, - self.data.tfcoil.vforce, - self.data.tfcoil.a_tf_turn_steel, + n_tf_layer=int(self.data.tfcoil.n_tf_stress_layers), + n_radial_array=int(self.data.tfcoil.n_rad_per_layer), + n_tf_wp_stress_layers=int(self.data.tfcoil.n_tf_wp_stress_layers), + i_tf_bucking=int(self.data.tfcoil.i_tf_bucking), + r_tf_inboard_in=float(self.data.build.r_tf_inboard_in), + dr_bore=self.data.build.dr_bore, + dr_cs=self.data.build.dr_cs, + i_tf_inside_cs=self.data.build.i_tf_inside_cs, + dr_tf_inboard=self.data.build.dr_tf_inboard, + dr_cs_tf_gap=self.data.build.dr_cs_tf_gap, + i_pf_conductor=self.data.pf_coil.i_pf_conductor, + j_cs_flat_top_end=self.data.pf_coil.j_cs_flat_top_end, + j_cs_pulse_start=self.data.pf_coil.j_cs_pulse_start, + c_pf_coil_turn_peak_input=self.data.pf_coil.c_pf_coil_turn_peak_input, + n_pf_coils_in_group=self.data.pf_coil.n_pf_coils_in_group, + f_dr_dz_cs_turn=self.data.pf_coil.f_dr_dz_cs_turn, + radius_cs_turn_corners=self.data.pf_coil.radius_cs_turn_corners, + f_a_cs_turn_steel=self.data.pf_coil.f_a_cs_turn_steel, + eyoung_steel=self.data.tfcoil.eyoung_steel, + poisson_steel=self.data.tfcoil.poisson_steel, + eyoung_cond_axial=self.data.tfcoil.eyoung_cond_axial, + poisson_cond_axial=self.data.tfcoil.poisson_cond_axial, + eyoung_cond_trans=self.data.tfcoil.eyoung_cond_trans, + poisson_cond_trans=self.data.tfcoil.poisson_cond_trans, + eyoung_ins=self.data.tfcoil.eyoung_ins, + poisson_ins=self.data.tfcoil.poisson_ins, + dx_tf_turn_insulation=self.data.tfcoil.dx_tf_turn_insulation, + eyoung_copper=self.data.tfcoil.eyoung_copper, + poisson_copper=self.data.tfcoil.poisson_copper, + i_tf_sup=self.data.tfcoil.i_tf_sup, + eyoung_res_tf_buck=self.data.tfcoil.eyoung_res_tf_buck, + r_tf_wp_inboard_inner=self.data.superconducting_tfcoil.r_tf_wp_inboard_inner, + tan_theta_coil=self.data.superconducting_tfcoil.tan_theta_coil, + rad_tf_coil_inboard_toroidal_half=self.data.superconducting_tfcoil.rad_tf_coil_inboard_toroidal_half, + r_tf_wp_inboard_outer=self.data.superconducting_tfcoil.r_tf_wp_inboard_outer, + a_tf_coil_inboard_steel=self.data.superconducting_tfcoil.a_tf_coil_inboard_steel, + a_tf_plasma_case=self.data.superconducting_tfcoil.a_tf_plasma_case, + a_tf_coil_nose_case=self.data.superconducting_tfcoil.a_tf_coil_nose_case, + dx_tf_wp_insertion_gap=self.data.tfcoil.dx_tf_wp_insertion_gap, + dx_tf_wp_insulation=self.data.tfcoil.dx_tf_wp_insulation, + n_tf_coil_turns=self.data.tfcoil.n_tf_coil_turns, + i_tf_turns_integer=int(self.data.tfcoil.i_tf_turns_integer), + dx_tf_turn_cable_space_average=self.data.superconducting_tfcoil.dx_tf_turn_cable_space_average, + dr_tf_turn_cable_space=self.data.superconducting_tfcoil.dr_tf_turn_cable_space, + dia_tf_turn_coolant_channel=self.data.tfcoil.dia_tf_turn_coolant_channel, + f_a_tf_turn_cable_copper=self.data.tfcoil.f_a_tf_turn_cable_copper, + dx_tf_turn_steel=self.data.tfcoil.dx_tf_turn_steel, + dx_tf_side_case_average=self.data.superconducting_tfcoil.dx_tf_side_case_average, + dx_tf_wp_toroidal_average=self.data.superconducting_tfcoil.dx_tf_wp_toroidal_average, + a_tf_coil_inboard_insulation=self.data.superconducting_tfcoil.a_tf_coil_inboard_insulation, + a_tf_wp_steel=self.data.tfcoil.a_tf_wp_steel, + a_tf_wp_conductor=self.data.tfcoil.a_tf_wp_conductor, + a_tf_wp_with_insulation=self.data.superconducting_tfcoil.a_tf_wp_with_insulation, + eyoung_al=self.data.tfcoil.eyoung_al, + poisson_al=self.data.tfcoil.poisson_al, + fcoolcp=self.data.tfcoil.fcoolcp, + n_tf_graded_layers=self.data.tfcoil.n_tf_graded_layers, + c_tf_total=self.data.tfcoil.c_tf_total, + dr_tf_plasma_case=self.data.tfcoil.dr_tf_plasma_case, + i_tf_stress_model=self.data.tfcoil.i_tf_stress_model, + vforce_inboard_tot=self.data.superconducting_tfcoil.vforce_inboard_tot, + i_tf_tresca=self.data.tfcoil.i_tf_tresca, + a_tf_coil_inboard_case=self.data.tfcoil.a_tf_coil_inboard_case, + vforce=self.data.tfcoil.vforce, + a_tf_turn_steel=self.data.tfcoil.a_tf_turn_steel, + a_cs_poloidal=self.data.pf_coil.a_cs_poloidal, ) self.data.tfcoil.sig_tf_case = ( diff --git a/process/models/tfcoil/superconducting.py b/process/models/tfcoil/superconducting.py index ce00a7b28a..b059cc7090 100644 --- a/process/models/tfcoil/superconducting.py +++ b/process/models/tfcoil/superconducting.py @@ -2062,73 +2062,72 @@ def run_and_output_stress(self) -> None: insstrain, sig_tf_wp_av_z, ) = self.stresscl( - int(self.data.tfcoil.n_tf_stress_layers), - int(self.data.tfcoil.n_rad_per_layer), - int(self.data.tfcoil.n_tf_wp_stress_layers), - int(self.data.tfcoil.i_tf_bucking), - float(self.data.build.r_tf_inboard_in), - self.data.build.dr_bore, - self.data.build.z_tf_inside_half, - self.data.pf_coil.f_z_cs_tf_internal, - self.data.build.dr_cs, - self.data.build.i_tf_inside_cs, - self.data.build.dr_tf_inboard, - self.data.build.dr_cs_tf_gap, - self.data.pf_coil.i_pf_conductor, - self.data.pf_coil.j_cs_flat_top_end, - self.data.pf_coil.j_cs_pulse_start, - self.data.pf_coil.c_pf_coil_turn_peak_input, - self.data.pf_coil.n_pf_coils_in_group, - self.data.pf_coil.f_dr_dz_cs_turn, - self.data.pf_coil.radius_cs_turn_corners, - self.data.pf_coil.f_a_cs_turn_steel, - self.data.tfcoil.eyoung_steel, - self.data.tfcoil.poisson_steel, - self.data.tfcoil.eyoung_cond_axial, - self.data.tfcoil.poisson_cond_axial, - self.data.tfcoil.eyoung_cond_trans, - self.data.tfcoil.poisson_cond_trans, - self.data.tfcoil.eyoung_ins, - self.data.tfcoil.poisson_ins, - self.data.tfcoil.dx_tf_turn_insulation, - self.data.tfcoil.eyoung_copper, - self.data.tfcoil.poisson_copper, - self.data.tfcoil.i_tf_sup, - self.data.tfcoil.eyoung_res_tf_buck, - self.data.superconducting_tfcoil.r_tf_wp_inboard_inner, - self.data.superconducting_tfcoil.tan_theta_coil, - self.data.superconducting_tfcoil.rad_tf_coil_inboard_toroidal_half, - self.data.superconducting_tfcoil.r_tf_wp_inboard_outer, - self.data.superconducting_tfcoil.a_tf_coil_inboard_steel, - self.data.superconducting_tfcoil.a_tf_plasma_case, - self.data.superconducting_tfcoil.a_tf_coil_nose_case, - self.data.tfcoil.dx_tf_wp_insertion_gap, - self.data.tfcoil.dx_tf_wp_insulation, - self.data.tfcoil.n_tf_coil_turns, - int(self.data.tfcoil.i_tf_turns_integer), - self.data.superconducting_tfcoil.dx_tf_turn_cable_space_average, - self.data.superconducting_tfcoil.dr_tf_turn_cable_space, - self.data.tfcoil.dia_tf_turn_coolant_channel, - self.data.tfcoil.f_a_tf_turn_cable_copper, - self.data.tfcoil.dx_tf_turn_steel, - self.data.superconducting_tfcoil.dx_tf_side_case_average, - self.data.superconducting_tfcoil.dx_tf_wp_toroidal_average, - self.data.superconducting_tfcoil.a_tf_coil_inboard_insulation, - self.data.tfcoil.a_tf_wp_steel, - self.data.tfcoil.a_tf_wp_conductor, - self.data.superconducting_tfcoil.a_tf_wp_with_insulation, - self.data.tfcoil.eyoung_al, - self.data.tfcoil.poisson_al, - self.data.tfcoil.fcoolcp, - self.data.tfcoil.n_tf_graded_layers, - self.data.tfcoil.c_tf_total, - self.data.tfcoil.dr_tf_plasma_case, - self.data.tfcoil.i_tf_stress_model, - self.data.superconducting_tfcoil.vforce_inboard_tot, - self.data.tfcoil.i_tf_tresca, - self.data.tfcoil.a_tf_coil_inboard_case, - self.data.tfcoil.vforce, - self.data.tfcoil.a_tf_turn_steel, + n_tf_layer=int(self.data.tfcoil.n_tf_stress_layers), + n_radial_array=int(self.data.tfcoil.n_rad_per_layer), + n_tf_wp_stress_layers=int(self.data.tfcoil.n_tf_wp_stress_layers), + i_tf_bucking=int(self.data.tfcoil.i_tf_bucking), + r_tf_inboard_in=float(self.data.build.r_tf_inboard_in), + dr_bore=self.data.build.dr_bore, + dr_cs=self.data.build.dr_cs, + i_tf_inside_cs=self.data.build.i_tf_inside_cs, + dr_tf_inboard=self.data.build.dr_tf_inboard, + dr_cs_tf_gap=self.data.build.dr_cs_tf_gap, + i_pf_conductor=self.data.pf_coil.i_pf_conductor, + j_cs_flat_top_end=self.data.pf_coil.j_cs_flat_top_end, + j_cs_pulse_start=self.data.pf_coil.j_cs_pulse_start, + c_pf_coil_turn_peak_input=self.data.pf_coil.c_pf_coil_turn_peak_input, + n_pf_coils_in_group=self.data.pf_coil.n_pf_coils_in_group, + f_dr_dz_cs_turn=self.data.pf_coil.f_dr_dz_cs_turn, + radius_cs_turn_corners=self.data.pf_coil.radius_cs_turn_corners, + f_a_cs_turn_steel=self.data.pf_coil.f_a_cs_turn_steel, + eyoung_steel=self.data.tfcoil.eyoung_steel, + poisson_steel=self.data.tfcoil.poisson_steel, + eyoung_cond_axial=self.data.tfcoil.eyoung_cond_axial, + poisson_cond_axial=self.data.tfcoil.poisson_cond_axial, + eyoung_cond_trans=self.data.tfcoil.eyoung_cond_trans, + poisson_cond_trans=self.data.tfcoil.poisson_cond_trans, + eyoung_ins=self.data.tfcoil.eyoung_ins, + poisson_ins=self.data.tfcoil.poisson_ins, + dx_tf_turn_insulation=self.data.tfcoil.dx_tf_turn_insulation, + eyoung_copper=self.data.tfcoil.eyoung_copper, + poisson_copper=self.data.tfcoil.poisson_copper, + i_tf_sup=self.data.tfcoil.i_tf_sup, + eyoung_res_tf_buck=self.data.tfcoil.eyoung_res_tf_buck, + r_tf_wp_inboard_inner=self.data.superconducting_tfcoil.r_tf_wp_inboard_inner, + tan_theta_coil=self.data.superconducting_tfcoil.tan_theta_coil, + rad_tf_coil_inboard_toroidal_half=self.data.superconducting_tfcoil.rad_tf_coil_inboard_toroidal_half, + r_tf_wp_inboard_outer=self.data.superconducting_tfcoil.r_tf_wp_inboard_outer, + a_tf_coil_inboard_steel=self.data.superconducting_tfcoil.a_tf_coil_inboard_steel, + a_tf_plasma_case=self.data.superconducting_tfcoil.a_tf_plasma_case, + a_tf_coil_nose_case=self.data.superconducting_tfcoil.a_tf_coil_nose_case, + dx_tf_wp_insertion_gap=self.data.tfcoil.dx_tf_wp_insertion_gap, + dx_tf_wp_insulation=self.data.tfcoil.dx_tf_wp_insulation, + n_tf_coil_turns=self.data.tfcoil.n_tf_coil_turns, + i_tf_turns_integer=int(self.data.tfcoil.i_tf_turns_integer), + dx_tf_turn_cable_space_average=self.data.superconducting_tfcoil.dx_tf_turn_cable_space_average, + dr_tf_turn_cable_space=self.data.superconducting_tfcoil.dr_tf_turn_cable_space, + dia_tf_turn_coolant_channel=self.data.tfcoil.dia_tf_turn_coolant_channel, + f_a_tf_turn_cable_copper=self.data.tfcoil.f_a_tf_turn_cable_copper, + dx_tf_turn_steel=self.data.tfcoil.dx_tf_turn_steel, + dx_tf_side_case_average=self.data.superconducting_tfcoil.dx_tf_side_case_average, + dx_tf_wp_toroidal_average=self.data.superconducting_tfcoil.dx_tf_wp_toroidal_average, + a_tf_coil_inboard_insulation=self.data.superconducting_tfcoil.a_tf_coil_inboard_insulation, + a_tf_wp_steel=self.data.tfcoil.a_tf_wp_steel, + a_tf_wp_conductor=self.data.tfcoil.a_tf_wp_conductor, + a_tf_wp_with_insulation=self.data.superconducting_tfcoil.a_tf_wp_with_insulation, + eyoung_al=self.data.tfcoil.eyoung_al, + poisson_al=self.data.tfcoil.poisson_al, + fcoolcp=self.data.tfcoil.fcoolcp, + n_tf_graded_layers=self.data.tfcoil.n_tf_graded_layers, + c_tf_total=self.data.tfcoil.c_tf_total, + dr_tf_plasma_case=self.data.tfcoil.dr_tf_plasma_case, + i_tf_stress_model=self.data.tfcoil.i_tf_stress_model, + vforce_inboard_tot=self.data.superconducting_tfcoil.vforce_inboard_tot, + i_tf_tresca=self.data.tfcoil.i_tf_tresca, + a_tf_coil_inboard_case=self.data.tfcoil.a_tf_coil_inboard_case, + vforce=self.data.tfcoil.vforce, + a_tf_turn_steel=self.data.tfcoil.a_tf_turn_steel, + a_cs_poloidal=self.data.pf_coil.a_cs_poloidal, ) self.data.tfcoil.sig_tf_case = ( @@ -2489,73 +2488,72 @@ def run(self, output: bool = False): insstrain, sig_tf_wp_av_z, ) = self.stresscl( - int(self.data.tfcoil.n_tf_stress_layers), - int(self.data.tfcoil.n_rad_per_layer), - int(self.data.tfcoil.n_tf_wp_stress_layers), - int(self.data.tfcoil.i_tf_bucking), - float(self.data.build.r_tf_inboard_in), - self.data.build.dr_bore, - self.data.build.z_tf_inside_half, - self.data.pf_coil.f_z_cs_tf_internal, - self.data.build.dr_cs, - self.data.build.i_tf_inside_cs, - self.data.build.dr_tf_inboard, - self.data.build.dr_cs_tf_gap, - self.data.pf_coil.i_pf_conductor, - self.data.pf_coil.j_cs_flat_top_end, - self.data.pf_coil.j_cs_pulse_start, - self.data.pf_coil.c_pf_coil_turn_peak_input, - self.data.pf_coil.n_pf_coils_in_group, - self.data.pf_coil.f_dr_dz_cs_turn, - self.data.pf_coil.radius_cs_turn_corners, - self.data.pf_coil.f_a_cs_turn_steel, - self.data.tfcoil.eyoung_steel, - self.data.tfcoil.poisson_steel, - self.data.tfcoil.eyoung_cond_axial, - self.data.tfcoil.poisson_cond_axial, - self.data.tfcoil.eyoung_cond_trans, - self.data.tfcoil.poisson_cond_trans, - self.data.tfcoil.eyoung_ins, - self.data.tfcoil.poisson_ins, - self.data.tfcoil.dx_tf_turn_insulation, - self.data.tfcoil.eyoung_copper, - self.data.tfcoil.poisson_copper, - self.data.tfcoil.i_tf_sup, - self.data.tfcoil.eyoung_res_tf_buck, - self.data.superconducting_tfcoil.r_tf_wp_inboard_inner, - self.data.superconducting_tfcoil.tan_theta_coil, - self.data.superconducting_tfcoil.rad_tf_coil_inboard_toroidal_half, - self.data.superconducting_tfcoil.r_tf_wp_inboard_outer, - self.data.superconducting_tfcoil.a_tf_coil_inboard_steel, - self.data.superconducting_tfcoil.a_tf_plasma_case, - self.data.superconducting_tfcoil.a_tf_coil_nose_case, - self.data.tfcoil.dx_tf_wp_insertion_gap, - self.data.tfcoil.dx_tf_wp_insulation, - self.data.tfcoil.n_tf_coil_turns, - int(self.data.tfcoil.i_tf_turns_integer), - self.data.superconducting_tfcoil.dx_tf_turn_cable_space_average, - self.data.superconducting_tfcoil.dr_tf_turn_cable_space, - self.data.tfcoil.dia_tf_turn_coolant_channel, - self.data.tfcoil.f_a_tf_turn_cable_copper, - self.data.tfcoil.dx_tf_turn_steel, - self.data.superconducting_tfcoil.dx_tf_side_case_average, - self.data.superconducting_tfcoil.dx_tf_wp_toroidal_average, - self.data.superconducting_tfcoil.a_tf_coil_inboard_insulation, - self.data.tfcoil.a_tf_wp_steel, - self.data.tfcoil.a_tf_wp_conductor, - self.data.superconducting_tfcoil.a_tf_wp_with_insulation, - self.data.tfcoil.eyoung_al, - self.data.tfcoil.poisson_al, - self.data.tfcoil.fcoolcp, - self.data.tfcoil.n_tf_graded_layers, - self.data.tfcoil.c_tf_total, - self.data.tfcoil.dr_tf_plasma_case, - self.data.tfcoil.i_tf_stress_model, - self.data.superconducting_tfcoil.vforce_inboard_tot, - self.data.tfcoil.i_tf_tresca, - self.data.tfcoil.a_tf_coil_inboard_case, - self.data.tfcoil.vforce, - self.data.tfcoil.a_tf_turn_steel, + n_tf_layer=int(self.data.tfcoil.n_tf_stress_layers), + n_radial_array=int(self.data.tfcoil.n_rad_per_layer), + n_tf_wp_stress_layers=int(self.data.tfcoil.n_tf_wp_stress_layers), + i_tf_bucking=int(self.data.tfcoil.i_tf_bucking), + r_tf_inboard_in=float(self.data.build.r_tf_inboard_in), + dr_bore=self.data.build.dr_bore, + dr_cs=self.data.build.dr_cs, + i_tf_inside_cs=self.data.build.i_tf_inside_cs, + dr_tf_inboard=self.data.build.dr_tf_inboard, + dr_cs_tf_gap=self.data.build.dr_cs_tf_gap, + i_pf_conductor=self.data.pf_coil.i_pf_conductor, + j_cs_flat_top_end=self.data.pf_coil.j_cs_flat_top_end, + j_cs_pulse_start=self.data.pf_coil.j_cs_pulse_start, + c_pf_coil_turn_peak_input=self.data.pf_coil.c_pf_coil_turn_peak_input, + n_pf_coils_in_group=self.data.pf_coil.n_pf_coils_in_group, + f_dr_dz_cs_turn=self.data.pf_coil.f_dr_dz_cs_turn, + radius_cs_turn_corners=self.data.pf_coil.radius_cs_turn_corners, + f_a_cs_turn_steel=self.data.pf_coil.f_a_cs_turn_steel, + eyoung_steel=self.data.tfcoil.eyoung_steel, + poisson_steel=self.data.tfcoil.poisson_steel, + eyoung_cond_axial=self.data.tfcoil.eyoung_cond_axial, + poisson_cond_axial=self.data.tfcoil.poisson_cond_axial, + eyoung_cond_trans=self.data.tfcoil.eyoung_cond_trans, + poisson_cond_trans=self.data.tfcoil.poisson_cond_trans, + eyoung_ins=self.data.tfcoil.eyoung_ins, + poisson_ins=self.data.tfcoil.poisson_ins, + dx_tf_turn_insulation=self.data.tfcoil.dx_tf_turn_insulation, + eyoung_copper=self.data.tfcoil.eyoung_copper, + poisson_copper=self.data.tfcoil.poisson_copper, + i_tf_sup=self.data.tfcoil.i_tf_sup, + eyoung_res_tf_buck=self.data.tfcoil.eyoung_res_tf_buck, + r_tf_wp_inboard_inner=self.data.superconducting_tfcoil.r_tf_wp_inboard_inner, + tan_theta_coil=self.data.superconducting_tfcoil.tan_theta_coil, + rad_tf_coil_inboard_toroidal_half=self.data.superconducting_tfcoil.rad_tf_coil_inboard_toroidal_half, + r_tf_wp_inboard_outer=self.data.superconducting_tfcoil.r_tf_wp_inboard_outer, + a_tf_coil_inboard_steel=self.data.superconducting_tfcoil.a_tf_coil_inboard_steel, + a_tf_plasma_case=self.data.superconducting_tfcoil.a_tf_plasma_case, + a_tf_coil_nose_case=self.data.superconducting_tfcoil.a_tf_coil_nose_case, + dx_tf_wp_insertion_gap=self.data.tfcoil.dx_tf_wp_insertion_gap, + dx_tf_wp_insulation=self.data.tfcoil.dx_tf_wp_insulation, + n_tf_coil_turns=self.data.tfcoil.n_tf_coil_turns, + i_tf_turns_integer=int(self.data.tfcoil.i_tf_turns_integer), + dx_tf_turn_cable_space_average=self.data.superconducting_tfcoil.dx_tf_turn_cable_space_average, + dr_tf_turn_cable_space=self.data.superconducting_tfcoil.dr_tf_turn_cable_space, + dia_tf_turn_coolant_channel=self.data.tfcoil.dia_tf_turn_coolant_channel, + f_a_tf_turn_cable_copper=self.data.tfcoil.f_a_tf_turn_cable_copper, + dx_tf_turn_steel=self.data.tfcoil.dx_tf_turn_steel, + dx_tf_side_case_average=self.data.superconducting_tfcoil.dx_tf_side_case_average, + dx_tf_wp_toroidal_average=self.data.superconducting_tfcoil.dx_tf_wp_toroidal_average, + a_tf_coil_inboard_insulation=self.data.superconducting_tfcoil.a_tf_coil_inboard_insulation, + a_tf_wp_steel=self.data.tfcoil.a_tf_wp_steel, + a_tf_wp_conductor=self.data.tfcoil.a_tf_wp_conductor, + a_tf_wp_with_insulation=self.data.superconducting_tfcoil.a_tf_wp_with_insulation, + eyoung_al=self.data.tfcoil.eyoung_al, + poisson_al=self.data.tfcoil.poisson_al, + fcoolcp=self.data.tfcoil.fcoolcp, + n_tf_graded_layers=self.data.tfcoil.n_tf_graded_layers, + c_tf_total=self.data.tfcoil.c_tf_total, + dr_tf_plasma_case=self.data.tfcoil.dr_tf_plasma_case, + i_tf_stress_model=self.data.tfcoil.i_tf_stress_model, + vforce_inboard_tot=self.data.superconducting_tfcoil.vforce_inboard_tot, + i_tf_tresca=self.data.tfcoil.i_tf_tresca, + a_tf_coil_inboard_case=self.data.tfcoil.a_tf_coil_inboard_case, + vforce=self.data.tfcoil.vforce, + a_tf_turn_steel=self.data.tfcoil.a_tf_turn_steel, + a_cs_poloidal=self.data.pf_coil.a_cs_poloidal, ) self.data.tfcoil.sig_tf_case = ( @@ -4198,73 +4196,72 @@ def run(self, output: bool = False): insstrain, sig_tf_wp_av_z, ) = self.stresscl( - int(self.data.tfcoil.n_tf_stress_layers), - int(self.data.tfcoil.n_rad_per_layer), - int(self.data.tfcoil.n_tf_wp_stress_layers), - int(self.data.tfcoil.i_tf_bucking), - float(self.data.build.r_tf_inboard_in), - self.data.build.dr_bore, - self.data.build.z_tf_inside_half, - self.data.pf_coil.f_z_cs_tf_internal, - self.data.build.dr_cs, - self.data.build.i_tf_inside_cs, - self.data.build.dr_tf_inboard, - self.data.build.dr_cs_tf_gap, - self.data.pf_coil.i_pf_conductor, - self.data.pf_coil.j_cs_flat_top_end, - self.data.pf_coil.j_cs_pulse_start, - self.data.pf_coil.c_pf_coil_turn_peak_input, - self.data.pf_coil.n_pf_coils_in_group, - self.data.pf_coil.f_dr_dz_cs_turn, - self.data.pf_coil.radius_cs_turn_corners, - self.data.pf_coil.f_a_cs_turn_steel, - self.data.tfcoil.eyoung_steel, - self.data.tfcoil.poisson_steel, - self.data.tfcoil.eyoung_cond_axial, - self.data.tfcoil.poisson_cond_axial, - self.data.tfcoil.eyoung_cond_trans, - self.data.tfcoil.poisson_cond_trans, - self.data.tfcoil.eyoung_ins, - self.data.tfcoil.poisson_ins, - self.data.tfcoil.dx_tf_turn_insulation, - self.data.tfcoil.eyoung_copper, - self.data.tfcoil.poisson_copper, - self.data.tfcoil.i_tf_sup, - self.data.tfcoil.eyoung_res_tf_buck, - self.data.superconducting_tfcoil.r_tf_wp_inboard_inner, - self.data.superconducting_tfcoil.tan_theta_coil, - self.data.superconducting_tfcoil.rad_tf_coil_inboard_toroidal_half, - self.data.superconducting_tfcoil.r_tf_wp_inboard_outer, - self.data.superconducting_tfcoil.a_tf_coil_inboard_steel, - self.data.superconducting_tfcoil.a_tf_plasma_case, - self.data.superconducting_tfcoil.a_tf_coil_nose_case, - self.data.tfcoil.dx_tf_wp_insertion_gap, - self.data.tfcoil.dx_tf_wp_insulation, - self.data.tfcoil.n_tf_coil_turns, - int(self.data.tfcoil.i_tf_turns_integer), - self.data.superconducting_tfcoil.dx_tf_turn_cable_space_average, - self.data.superconducting_tfcoil.dr_tf_turn_cable_space, - self.data.tfcoil.dia_tf_turn_coolant_channel, - self.data.tfcoil.f_a_tf_turn_cable_copper, - self.data.tfcoil.dx_tf_turn_steel, - self.data.superconducting_tfcoil.dx_tf_side_case_average, - self.data.superconducting_tfcoil.dx_tf_wp_toroidal_average, - self.data.superconducting_tfcoil.a_tf_coil_inboard_insulation, - self.data.tfcoil.a_tf_wp_steel, - self.data.tfcoil.a_tf_wp_conductor, - self.data.superconducting_tfcoil.a_tf_wp_with_insulation, - self.data.tfcoil.eyoung_al, - self.data.tfcoil.poisson_al, - self.data.tfcoil.fcoolcp, - self.data.tfcoil.n_tf_graded_layers, - self.data.tfcoil.c_tf_total, - self.data.tfcoil.dr_tf_plasma_case, - self.data.tfcoil.i_tf_stress_model, - self.data.superconducting_tfcoil.vforce_inboard_tot, - self.data.tfcoil.i_tf_tresca, - self.data.tfcoil.a_tf_coil_inboard_case, - self.data.tfcoil.vforce, - self.data.tfcoil.a_tf_turn_steel, + n_tf_layer=int(self.data.tfcoil.n_tf_stress_layers), + n_radial_array=int(self.data.tfcoil.n_rad_per_layer), + n_tf_wp_stress_layers=int(self.data.tfcoil.n_tf_wp_stress_layers), + i_tf_bucking=int(self.data.tfcoil.i_tf_bucking), + r_tf_inboard_in=float(self.data.build.r_tf_inboard_in), + dr_bore=self.data.build.dr_bore, + dr_cs=self.data.build.dr_cs, + i_tf_inside_cs=self.data.build.i_tf_inside_cs, + dr_tf_inboard=self.data.build.dr_tf_inboard, + dr_cs_tf_gap=self.data.build.dr_cs_tf_gap, + i_pf_conductor=self.data.pf_coil.i_pf_conductor, + j_cs_flat_top_end=self.data.pf_coil.j_cs_flat_top_end, + j_cs_pulse_start=self.data.pf_coil.j_cs_pulse_start, + c_pf_coil_turn_peak_input=self.data.pf_coil.c_pf_coil_turn_peak_input, + n_pf_coils_in_group=self.data.pf_coil.n_pf_coils_in_group, + f_dr_dz_cs_turn=self.data.pf_coil.f_dr_dz_cs_turn, + radius_cs_turn_corners=self.data.pf_coil.radius_cs_turn_corners, + f_a_cs_turn_steel=self.data.pf_coil.f_a_cs_turn_steel, + eyoung_steel=self.data.tfcoil.eyoung_steel, + poisson_steel=self.data.tfcoil.poisson_steel, + eyoung_cond_axial=self.data.tfcoil.eyoung_cond_axial, + poisson_cond_axial=self.data.tfcoil.poisson_cond_axial, + eyoung_cond_trans=self.data.tfcoil.eyoung_cond_trans, + poisson_cond_trans=self.data.tfcoil.poisson_cond_trans, + eyoung_ins=self.data.tfcoil.eyoung_ins, + poisson_ins=self.data.tfcoil.poisson_ins, + dx_tf_turn_insulation=self.data.tfcoil.dx_tf_turn_insulation, + eyoung_copper=self.data.tfcoil.eyoung_copper, + poisson_copper=self.data.tfcoil.poisson_copper, + i_tf_sup=self.data.tfcoil.i_tf_sup, + eyoung_res_tf_buck=self.data.tfcoil.eyoung_res_tf_buck, + r_tf_wp_inboard_inner=self.data.superconducting_tfcoil.r_tf_wp_inboard_inner, + tan_theta_coil=self.data.superconducting_tfcoil.tan_theta_coil, + rad_tf_coil_inboard_toroidal_half=self.data.superconducting_tfcoil.rad_tf_coil_inboard_toroidal_half, + r_tf_wp_inboard_outer=self.data.superconducting_tfcoil.r_tf_wp_inboard_outer, + a_tf_coil_inboard_steel=self.data.superconducting_tfcoil.a_tf_coil_inboard_steel, + a_tf_plasma_case=self.data.superconducting_tfcoil.a_tf_plasma_case, + a_tf_coil_nose_case=self.data.superconducting_tfcoil.a_tf_coil_nose_case, + dx_tf_wp_insertion_gap=self.data.tfcoil.dx_tf_wp_insertion_gap, + dx_tf_wp_insulation=self.data.tfcoil.dx_tf_wp_insulation, + n_tf_coil_turns=self.data.tfcoil.n_tf_coil_turns, + i_tf_turns_integer=int(self.data.tfcoil.i_tf_turns_integer), + dx_tf_turn_cable_space_average=self.data.superconducting_tfcoil.dx_tf_turn_cable_space_average, + dr_tf_turn_cable_space=self.data.superconducting_tfcoil.dr_tf_turn_cable_space, + dia_tf_turn_coolant_channel=self.data.tfcoil.dia_tf_turn_coolant_channel, + f_a_tf_turn_cable_copper=self.data.tfcoil.f_a_tf_turn_cable_copper, + dx_tf_turn_steel=self.data.tfcoil.dx_tf_turn_steel, + dx_tf_side_case_average=self.data.superconducting_tfcoil.dx_tf_side_case_average, + dx_tf_wp_toroidal_average=self.data.superconducting_tfcoil.dx_tf_wp_toroidal_average, + a_tf_coil_inboard_insulation=self.data.superconducting_tfcoil.a_tf_coil_inboard_insulation, + a_tf_wp_steel=self.data.tfcoil.a_tf_wp_steel, + a_tf_wp_conductor=self.data.tfcoil.a_tf_wp_conductor, + a_tf_wp_with_insulation=self.data.superconducting_tfcoil.a_tf_wp_with_insulation, + eyoung_al=self.data.tfcoil.eyoung_al, + poisson_al=self.data.tfcoil.poisson_al, + fcoolcp=self.data.tfcoil.fcoolcp, + n_tf_graded_layers=self.data.tfcoil.n_tf_graded_layers, + c_tf_total=self.data.tfcoil.c_tf_total, + dr_tf_plasma_case=self.data.tfcoil.dr_tf_plasma_case, + i_tf_stress_model=self.data.tfcoil.i_tf_stress_model, + vforce_inboard_tot=self.data.superconducting_tfcoil.vforce_inboard_tot, + i_tf_tresca=self.data.tfcoil.i_tf_tresca, + a_tf_coil_inboard_case=self.data.tfcoil.a_tf_coil_inboard_case, + vforce=self.data.tfcoil.vforce, + a_tf_turn_steel=self.data.tfcoil.a_tf_turn_steel, + a_cs_poloidal=self.data.pf_coil.a_cs_poloidal, ) self.data.tfcoil.sig_tf_case = ( diff --git a/tests/unit/models/tfcoil/test_tfcoil.py b/tests/unit/models/tfcoil/test_tfcoil.py index da98774ee6..96bf39bcca 100644 --- a/tests/unit/models/tfcoil/test_tfcoil.py +++ b/tests/unit/models/tfcoil/test_tfcoil.py @@ -799,8 +799,6 @@ class StressclParam(NamedTuple): dr_cs_tf_gap: Any = None - z_tf_inside_half: Any = None - r_tf_inboard_in: Any = None casestr: Any = None @@ -909,8 +907,6 @@ class StressclParam(NamedTuple): f_a_cs_turn_steel: Any = None - f_z_cs_tf_internal: Any = None - j_cs_flat_top_end: Any = None j_cs_pulse_start: Any = None @@ -949,6 +945,8 @@ class StressclParam(NamedTuple): vforce_inboard_tot: Any = None + a_cs_poloidal: Any = None + iprint: Any = None outfile: Any = None @@ -978,7 +976,7 @@ class StressclParam(NamedTuple): r_tf_inboard_mid=3.5979411851091103, dr_bore=2.3322000000000003, dr_cs=0.55242000000000002, - z_tf_inside_half=9.0730900215620327, + a_cs_poloidal=9.021881501, r_tf_inboard_in=2.9939411851091102, casestr=0, n_tf_coil_turns=200, @@ -1033,7 +1031,6 @@ class StressclParam(NamedTuple): n_tf_wp_stress_layers=5, i_pf_conductor=PFConductorModel.SUPERCONDUCTING, f_a_cs_turn_steel=0.57874999999999999, - f_z_cs_tf_internal=0.90000000000000002, j_cs_flat_top_end=20726000, j_cs_pulse_start=0, n_pf_coils_in_group=np.array((1, 1, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0)), @@ -1095,7 +1092,7 @@ class StressclParam(NamedTuple): r_tf_inboard_mid=3.5979411851091103, dr_bore=2.3322000000000003, dr_cs=0.55242000000000002, - z_tf_inside_half=9.0730900215620327, + a_cs_poloidal=9.021881501, r_tf_inboard_in=2.9939411851091102, casestr=0.00094360452596334093, n_tf_coil_turns=200, @@ -1150,7 +1147,6 @@ class StressclParam(NamedTuple): n_tf_wp_stress_layers=5, i_pf_conductor=PFConductorModel.SUPERCONDUCTING, f_a_cs_turn_steel=0.57874999999999999, - f_z_cs_tf_internal=0.90000000000000002, j_cs_flat_top_end=20726000, j_cs_pulse_start=19311657.760000002, n_pf_coils_in_group=np.array((1, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0)), @@ -1254,73 +1250,72 @@ def test_stresscl(stressclparam, monkeypatch, tfcoil): insstrain, _, ) = tfcoil.stresscl( - stressclparam.n_tf_layer, - stressclparam.n_radial_array, - stressclparam.n_tf_wp_stress_layers, - stressclparam.i_tf_bucking, - stressclparam.r_tf_inboard_in, - stressclparam.dr_bore, - stressclparam.z_tf_inside_half, - stressclparam.f_z_cs_tf_internal, - stressclparam.dr_cs, - stressclparam.i_tf_inside_cs, - stressclparam.dr_tf_inboard, - stressclparam.dr_cs_tf_gap, - stressclparam.i_pf_conductor, - stressclparam.j_cs_flat_top_end, - stressclparam.j_cs_pulse_start, - stressclparam.c_pf_coil_turn_peak_input, - stressclparam.n_pf_coils_in_group, - 70 / 22, - 3e-3, - stressclparam.f_a_cs_turn_steel, - stressclparam.eyoung_steel, - stressclparam.poisson_steel, - stressclparam.eyoung_cond_axial, - stressclparam.poisson_cond_axial, - stressclparam.eyoung_cond_trans, - stressclparam.poisson_cond_trans, - stressclparam.eyoung_ins, - stressclparam.poisson_ins, - stressclparam.dx_tf_turn_insulation, - stressclparam.eyoung_copper, - stressclparam.poisson_copper, - stressclparam.i_tf_sup, - stressclparam.eyoung_res_tf_buck, - stressclparam.r_tf_wp_inboard_inner, - stressclparam.tan_theta_coil, - stressclparam.rad_tf_coil_inboard_toroidal_half, - stressclparam.r_tf_wp_inboard_outer, - stressclparam.a_tf_coil_inboard_steel, - stressclparam.a_tf_plasma_case, - stressclparam.a_tf_coil_nose_case, - stressclparam.dx_tf_wp_insertion_gap, - stressclparam.dx_tf_wp_insulation, - stressclparam.n_tf_coil_turns, - stressclparam.i_tf_turns_integer, - stressclparam.dx_tf_turn_cable_space_average, - stressclparam.dr_tf_turn_cable_space, - stressclparam.dia_tf_turn_coolant_channel, - stressclparam.f_a_tf_turn_cable_copper, - stressclparam.dx_tf_turn_steel, - stressclparam.dx_tf_side_case_average, - stressclparam.dx_tf_wp_toroidal_average, - stressclparam.a_tf_coil_inboard_insulation, - stressclparam.a_tf_wp_steel, - stressclparam.a_tf_wp_conductor, - stressclparam.a_tf_wp_with_insulation, - stressclparam.eyoung_al, - stressclparam.poisson_al, - stressclparam.fcoolcp, - stressclparam.n_tf_graded_layers, - stressclparam.c_tf_total, - stressclparam.dr_tf_plasma_case, - stressclparam.i_tf_stress_model, - stressclparam.vforce_inboard_tot, - stressclparam.i_tf_tresca, - stressclparam.a_tf_coil_inboard_case, - stressclparam.vforce, - stressclparam.a_tf_turn_steel, + n_tf_layer=stressclparam.n_tf_layer, + n_radial_array=stressclparam.n_radial_array, + n_tf_wp_stress_layers=stressclparam.n_tf_wp_stress_layers, + i_tf_bucking=stressclparam.i_tf_bucking, + r_tf_inboard_in=stressclparam.r_tf_inboard_in, + dr_bore=stressclparam.dr_bore, + dr_cs=stressclparam.dr_cs, + i_tf_inside_cs=stressclparam.i_tf_inside_cs, + dr_tf_inboard=stressclparam.dr_tf_inboard, + dr_cs_tf_gap=stressclparam.dr_cs_tf_gap, + i_pf_conductor=stressclparam.i_pf_conductor, + j_cs_flat_top_end=stressclparam.j_cs_flat_top_end, + j_cs_pulse_start=stressclparam.j_cs_pulse_start, + c_pf_coil_turn_peak_input=stressclparam.c_pf_coil_turn_peak_input, + n_pf_coils_in_group=stressclparam.n_pf_coils_in_group, + f_dr_dz_cs_turn=70 / 22, + radius_cs_turn_corners=3e-3, + f_a_cs_turn_steel=stressclparam.f_a_cs_turn_steel, + eyoung_steel=stressclparam.eyoung_steel, + poisson_steel=stressclparam.poisson_steel, + eyoung_cond_axial=stressclparam.eyoung_cond_axial, + poisson_cond_axial=stressclparam.poisson_cond_axial, + eyoung_cond_trans=stressclparam.eyoung_cond_trans, + poisson_cond_trans=stressclparam.poisson_cond_trans, + eyoung_ins=stressclparam.eyoung_ins, + poisson_ins=stressclparam.poisson_ins, + dx_tf_turn_insulation=stressclparam.dx_tf_turn_insulation, + eyoung_copper=stressclparam.eyoung_copper, + poisson_copper=stressclparam.poisson_copper, + i_tf_sup=stressclparam.i_tf_sup, + eyoung_res_tf_buck=stressclparam.eyoung_res_tf_buck, + r_tf_wp_inboard_inner=stressclparam.r_tf_wp_inboard_inner, + tan_theta_coil=stressclparam.tan_theta_coil, + rad_tf_coil_inboard_toroidal_half=stressclparam.rad_tf_coil_inboard_toroidal_half, + r_tf_wp_inboard_outer=stressclparam.r_tf_wp_inboard_outer, + a_tf_coil_inboard_steel=stressclparam.a_tf_coil_inboard_steel, + a_tf_plasma_case=stressclparam.a_tf_plasma_case, + a_tf_coil_nose_case=stressclparam.a_tf_coil_nose_case, + dx_tf_wp_insertion_gap=stressclparam.dx_tf_wp_insertion_gap, + dx_tf_wp_insulation=stressclparam.dx_tf_wp_insulation, + n_tf_coil_turns=stressclparam.n_tf_coil_turns, + i_tf_turns_integer=stressclparam.i_tf_turns_integer, + dx_tf_turn_cable_space_average=stressclparam.dx_tf_turn_cable_space_average, + dr_tf_turn_cable_space=stressclparam.dr_tf_turn_cable_space, + dia_tf_turn_coolant_channel=stressclparam.dia_tf_turn_coolant_channel, + f_a_tf_turn_cable_copper=stressclparam.f_a_tf_turn_cable_copper, + dx_tf_turn_steel=stressclparam.dx_tf_turn_steel, + dx_tf_side_case_average=stressclparam.dx_tf_side_case_average, + dx_tf_wp_toroidal_average=stressclparam.dx_tf_wp_toroidal_average, + a_tf_coil_inboard_insulation=stressclparam.a_tf_coil_inboard_insulation, + a_tf_wp_steel=stressclparam.a_tf_wp_steel, + a_tf_wp_conductor=stressclparam.a_tf_wp_conductor, + a_tf_wp_with_insulation=stressclparam.a_tf_wp_with_insulation, + eyoung_al=stressclparam.eyoung_al, + poisson_al=stressclparam.poisson_al, + fcoolcp=stressclparam.fcoolcp, + n_tf_graded_layers=stressclparam.n_tf_graded_layers, + c_tf_total=stressclparam.c_tf_total, + dr_tf_plasma_case=stressclparam.dr_tf_plasma_case, + i_tf_stress_model=stressclparam.i_tf_stress_model, + vforce_inboard_tot=stressclparam.vforce_inboard_tot, + i_tf_tresca=stressclparam.i_tf_tresca, + a_tf_coil_inboard_case=stressclparam.a_tf_coil_inboard_case, + vforce=stressclparam.vforce, + a_tf_turn_steel=stressclparam.a_tf_turn_steel, + a_cs_poloidal=stressclparam.a_cs_poloidal, ) assert casestr == pytest.approx(stressclparam.expected_casestr, rel=0.01)