From b2210141358fff9a3c25f94b5354d24c6cb1f2f1 Mon Sep 17 00:00:00 2001 From: mn3981 Date: Tue, 17 Jun 2025 10:26:52 +0100 Subject: [PATCH 1/8] =?UTF-8?q?=E2=9C=A8=20Add=20function=20to=20plot=20ce?= =?UTF-8?q?ntral=20solenoid=20coil=20structure=20in=20`plot=5Fproc.py`?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- process/io/plot_proc.py | 66 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) diff --git a/process/io/plot_proc.py b/process/io/plot_proc.py index 4e56ce1a97..951e515310 100644 --- a/process/io/plot_proc.py +++ b/process/io/plot_proc.py @@ -4344,6 +4344,64 @@ def plot_density_limit_comparison( axis.set_facecolor("#f0f0f0") +def plot_cs_coil_structure(axis, mfile_data, scan, colour_scheme=1): + """Function to plot the coil structure of the CS. + + Arguments: + axis --> axis object to plot to + mfile_data --> MFILE.DAT object + scan --> scan number to use + demo_ranges --> whether to use demo ranges for the plot + colour_scheme --> colour scheme to use for the plot + """ + # Get CS coil parameters + dr_cs = mfile_data.data["dr_cs"].get_scan(scan) + dz_cs = mfile_data.data["ohdz"].get_scan(scan) + dr_bore = mfile_data.data["dr_bore"].get_scan(scan) + + # Plot the right side of the CS + right_cs = patches.Rectangle( + (dr_bore, -dz_cs / 2), + dr_cs, + dz_cs, + edgecolor="black", + facecolor=SOLENOID_COLOUR[colour_scheme - 1], + lw=1.5, + label="CS Coil", + ) + axis.add_patch(right_cs) + + # Plot the bore of the machine + bore_rect = patches.Rectangle( + (-dr_bore, -dz_cs / 2), + dr_bore * 2, + dz_cs, + edgecolor="black", + facecolor="lightgrey", + lw=1.0, + label="Bore", + ) + axis.add_patch(bore_rect) + + left_cs = patches.Rectangle( + (-dr_bore - dr_cs, -dz_cs / 2), + dr_cs, + dz_cs, + edgecolor="black", + facecolor=SOLENOID_COLOUR[colour_scheme - 1], + lw=1.5, + label="CS Coil", + ) + axis.add_patch(left_cs) + + axis.set_xlabel("R [m]") + axis.set_ylabel("Z [m]") + axis.set_title("Central Solenoid Cross-Section") + axis.grid(True, linestyle="--", alpha=0.3) + axis.set_xlim(-(dr_bore + dr_cs + 0.1), (dr_bore + dr_cs + 0.1)) + axis.set_ylim(-dz_cs / 2 - 0.1, dz_cs / 2 + 0.1) + + def main_plot( fig1, fig2, @@ -4354,6 +4412,7 @@ def main_plot( fig7, fig8, fig9, + fig10, m_file_data, scan, imp="../data/lz_non_corona_14_elements/", @@ -4487,6 +4546,9 @@ def main_plot( plot_23 = fig9.add_subplot(122) plot_first_wall_poloidal_cross_section(plot_23, m_file_data, scan) + plot_24 = fig10.add_subplot(121, aspect="equal") + plot_cs_coil_structure(plot_24, m_file_data, scan) + def main(args=None): # TODO The use of globals here isn't ideal, but is required to get main() @@ -4758,6 +4820,7 @@ def main(args=None): page7 = plt.figure(figsize=(12, 9), dpi=80) page8 = plt.figure(figsize=(12, 9), dpi=80) page9 = plt.figure(figsize=(12, 9), dpi=80) + page10 = plt.figure(figsize=(12, 9), dpi=80) # run main_plot main_plot( @@ -4770,6 +4833,7 @@ def main(args=None): page7, page8, page9, + page10, m_file, scan=scan, demo_ranges=demo_ranges, @@ -4787,6 +4851,7 @@ def main(args=None): pdf.savefig(page7) pdf.savefig(page8) pdf.savefig(page9) + pdf.savefig(page10) # show fig if option used if args.show: @@ -4801,6 +4866,7 @@ def main(args=None): plt.close(page7) plt.close(page8) plt.close(page9) + plt.close(page10) if __name__ == "__main__": From 36404600ce52ca691d1a3d5355772d621f8fdd40 Mon Sep 17 00:00:00 2001 From: mn3981 Date: Tue, 17 Jun 2025 13:42:50 +0100 Subject: [PATCH 2/8] =?UTF-8?q?=E2=9C=A8=20Add=20functions=20to=20output?= =?UTF-8?q?=20and=20plot=20central=20solenoid=20structure=20in=20`pfcoil.p?= =?UTF-8?q?y`=20and=20`plot=5Fproc.py`?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- process/io/plot_proc.py | 130 +++++++++++++++++++++++++++++++++++++++- process/pfcoil.py | 45 ++++++++++++-- 2 files changed, 169 insertions(+), 6 deletions(-) diff --git a/process/io/plot_proc.py b/process/io/plot_proc.py index 951e515310..df02589a71 100644 --- a/process/io/plot_proc.py +++ b/process/io/plot_proc.py @@ -4344,7 +4344,7 @@ def plot_density_limit_comparison( axis.set_facecolor("#f0f0f0") -def plot_cs_coil_structure(axis, mfile_data, scan, colour_scheme=1): +def plot_cs_coil_structure(axis, fig, mfile_data, scan, colour_scheme=1): """Function to plot the coil structure of the CS. Arguments: @@ -4394,6 +4394,30 @@ def plot_cs_coil_structure(axis, mfile_data, scan, colour_scheme=1): ) axis.add_patch(left_cs) + textstr_cs = ( + f"$\\mathbf{{Shaping:}}$\n \n" + f"$A:$ {mfile_data.data['a_cs_poloidal'].get_scan(scan):.2f}$ \\ m$\n" + f"$N_{{\\text{{turns}}}}:$ {mfile_data.data['n_pf_coil_turns[n_cs_pf_coils-1]'].get_scan(scan):.2f}\n" + f"$I_{{\\text{{peak}}}}:$ {mfile_data.data['c_pf_cs_coils_peak_ma[n_cs_pf_coils-1]'].get_scan(scan):.2f}$ \\ MA$\n" + f"$B_{{\\text{{peak}}}}:$ {mfile_data.data['b_pf_coil_peak[n_cs_pf_coils-1]'].get_scan(scan):.2f}$ \\ T$\n" + ) + + axis.text( + 0.6, + 0.825, + textstr_cs, + fontsize=9, + verticalalignment="bottom", + horizontalalignment="left", + transform=fig.transFigure, + bbox={ + "boxstyle": "round", + "facecolor": "lightyellow", + "alpha": 1.0, + "linewidth": 2, + }, + ) + axis.set_xlabel("R [m]") axis.set_ylabel("Z [m]") axis.set_title("Central Solenoid Cross-Section") @@ -4402,6 +4426,103 @@ def plot_cs_coil_structure(axis, mfile_data, scan, colour_scheme=1): axis.set_ylim(-dz_cs / 2 - 0.1, dz_cs / 2 + 0.1) +def plot_cs_turn_structure(axis, fig, mfile_data, scan): + a_cs_turn = mfile_data.data["a_cs_turn"].get_scan(scan) + d_cond_cst = mfile_data.data["d_cond_cst"].get_scan(scan) + l_cond_cst = mfile_data.data["l_cond_cst"].get_scan(scan) + + ld_ratio_cst = mfile_data.data["ld_ratio_cst"].get_scan(scan) + + # Plot the CS turn as a rectangle representing the conductor cross-section + # Assume d_cond_cst is the diameter and l_cond_cst is the length of the conductor cross-section + + # Draw the conductor cross-section as a rectangle + axis.add_patch( + patches.Rectangle( + (0, 0), + l_cond_cst, + d_cond_cst, + edgecolor="black", + facecolor="grey", + lw=1.5, + label="CS Turn Steel conduit", + ) + ) + + # Draw the aspect ratio line (L/D) + axis.annotate( + "", + xy=(l_cond_cst, d_cond_cst + d_cond_cst * 0.1), + xytext=(0, d_cond_cst + d_cond_cst * 0.1), + arrowprops={"arrowstyle": "<->", "color": "black"}, + ) + axis.text( + l_cond_cst / 2, + d_cond_cst + d_cond_cst * 0.15, + f"L = {l_cond_cst:.3f} m", + ha="center", + va="bottom", + fontsize=10, + ) + + axis.annotate( + "", + xy=(l_cond_cst + l_cond_cst * 0.05, d_cond_cst), + xytext=(l_cond_cst + l_cond_cst * 0.05, 0), + arrowprops={"arrowstyle": "<->", "color": "black"}, + ) + axis.text( + l_cond_cst + l_cond_cst * 0.08, + d_cond_cst / 2, + f"D = {d_cond_cst:.3f} m", + ha="left", + va="center", + fontsize=10, + rotation=90, + ) + + # Show L/D ratio + axis.text( + l_cond_cst / 2, + -d_cond_cst * 0.2, + f"L/D = {ld_ratio_cst:.2f}", + ha="center", + va="top", + fontsize=12, + bbox={"boxstyle": "round", "facecolor": "wheat", "alpha": 0.5}, + ) + + # Add plasma volume, areas and shaping information + textstr_turn = ( + f"$\\mathbf{{Turn \\ structure:}}$\n$A:$ {a_cs_turn:.4e}$ \\ \\text{{m}}^2$\n" + ) + + axis.text( + 0.6, + 0.5, + textstr_turn, + fontsize=9, + verticalalignment="bottom", + horizontalalignment="left", + transform=fig.transFigure, + bbox={ + "boxstyle": "round", + "facecolor": "lightyellow", + "alpha": 1.0, + "linewidth": 2, + }, + ) + + axis.set_xlim(-l_cond_cst * 0.2, l_cond_cst * 1.2) + axis.set_ylim(-d_cond_cst * 0.3, d_cond_cst * 1.3) + axis.set_aspect("equal") + axis.set_xlabel("Length [m]") + axis.set_ylabel("Height [m]") + axis.set_title("CS Turn Conductor Cross-Section") + axis.legend() + axis.grid(True, linestyle="--", alpha=0.3) + + def main_plot( fig1, fig2, @@ -4547,7 +4668,12 @@ def main_plot( plot_first_wall_poloidal_cross_section(plot_23, m_file_data, scan) plot_24 = fig10.add_subplot(121, aspect="equal") - plot_cs_coil_structure(plot_24, m_file_data, scan) + plot_cs_coil_structure(plot_24, fig10, m_file_data, scan) + + plot_25 = fig10.add_subplot(224, aspect="equal") + plot_cs_turn_structure( + plot_25, fig10, m_file_data, scan, colour_scheme=colour_scheme + ) def main(args=None): diff --git a/process/pfcoil.py b/process/pfcoil.py index dd7d90c9d3..1e40ff1850 100644 --- a/process/pfcoil.py +++ b/process/pfcoil.py @@ -52,6 +52,7 @@ def run(self): def output(self): """Output results to output file.""" + self.output_cs_structure() self.outpf() self.outvolt() @@ -2050,6 +2051,41 @@ def induct(self, output): f"Plasma\t{pfv.ind_pf_cs_plasma_mutual[: pfv.n_pf_cs_plasma_circuits, pfv.n_pf_cs_plasma_circuits - 1]}", ) + def output_cs_structure(self): + op.oheadr(self.outfile, "Central Solenoid Structure") + + op.ocmmnt(self.outfile, "CS turn structure") + op.oblnkl(self.outfile) + + op.ovarre( + self.outfile, + "Poloidal area of a CS turn [m^2]", + "(a_cs_turn)", + pfv.a_cs_turn, + "OP ", + ) + op.ovarre( + self.outfile, + "Radial width a CS turn [m^2]", + "(d_cond_cst)", + pfv.d_cond_cst, + "OP ", + ) + op.ovarre( + self.outfile, + "Length of a CS turn [m]", + "(l_cond_cst)", + pfv.l_cond_cst, + "OP ", + ) + op.ovarre( + self.outfile, + "Length to diameter ratio of a CS turn", + "(ld_ratio_cst)", + pfv.ld_ratio_cst, + "OP ", + ) + def outpf(self): """Routine to write output from PF coil module to file. @@ -2692,10 +2728,11 @@ def outpf(self): f"CS\t\t{pfv.c_pf_cs_coils_peak_ma[pfv.n_cs_pf_coils - 1]:.2e}\t{pfv.j_pf_wp_critical[pfv.n_cs_pf_coils - 1]:.2e}\t{max(abs(pfv.j_cs_pulse_start), abs(pfv.j_cs_flat_top_end)):.2e}\t{max(abs(pfv.j_cs_pulse_start), abs(pfv.j_cs_flat_top_end)) / pfv.j_pf_wp_critical[pfv.n_cs_pf_coils - 1]:.2e}\t{pfv.m_pf_coil_conductor[pfv.n_cs_pf_coils - 1]:.2e}\t{pfv.m_pf_coil_structure[pfv.n_cs_pf_coils - 1]:.2e}\t{pfv.b_pf_coil_peak[pfv.n_cs_pf_coils - 1]:.2e}", ) else: - op.write( - self.outfile, - f"CS\t\t{pfv.c_pf_cs_coils_peak_ma[pfv.n_cs_pf_coils - 1]:.2e}\t-1.0e0\t{max(abs(pfv.j_cs_pulse_start)):.2e}\t{abs(pfv.j_cs_flat_top_end):.2e}\t1.0e0\t{pfv.m_pf_coil_conductor[pfv.n_cs_pf_coils - 1]:.2e}\t{pfv.m_pf_coil_structure[pfv.n_cs_pf_coils - 1]:.2e}\t{pfv.b_pf_coil_peak[pfv.n_cs_pf_coils - 1]:.2e}", - ) + # op.write( + # self.outfile, + # f"CS\t\t{pfv.c_pf_cs_coils_peak_ma[pfv.n_cs_pf_coils - 1]:.2e}\t-1.0e0\t{max(abs(pfv.j_cs_pulse_start)):.2e}\t{abs(pfv.j_cs_flat_top_end):.2e}\t1.0e0\t{pfv.m_pf_coil_conductor[pfv.n_cs_pf_coils - 1]:.2e}\t{pfv.m_pf_coil_structure[pfv.n_cs_pf_coils - 1]:.2e}\t{pfv.b_pf_coil_peak[pfv.n_cs_pf_coils - 1]:.2e}", + # ) + pass # Miscellaneous totals op.write( From 2e419e6c987bb61a02f39dbf91e8bb41e72a8d76 Mon Sep 17 00:00:00 2001 From: mn3981 Date: Tue, 17 Jun 2025 13:47:01 +0100 Subject: [PATCH 3/8] =?UTF-8?q?=F0=9F=94=84=20Changed=20variable=20name=20?= =?UTF-8?q?from=20d=5Fcond=5Fcst=20to=20dz=5Fcs=5Fturn=20across=20multiple?= =?UTF-8?q?=20files=20for=20consistency.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../proc-pages/eng-models/central-solenoid.md | 2 +- .../data/csv_output_large_tokamak_MFILE.DAT | 2 +- examples/data/large_tokamak_1_MFILE.DAT | 2 +- examples/data/large_tokamak_2_MFILE.DAT | 2 +- examples/data/large_tokamak_3_MFILE.DAT | 2 +- examples/data/large_tokamak_4_MFILE.DAT | 2 +- examples/data/large_tokamak_nof_2_MFILE.DAT | 2 +- examples/data/large_tokamak_nof_MFILE.DAT | 2 +- process/io/plot_proc.py | 22 +++++++------- process/pfcoil.py | 22 +++++++------- process/tf_coil.py | 12 ++++---- source/fortran/pfcoil_variables.f90 | 2 +- .../data/large_tokamak_1_MFILE.DAT | 2 +- .../data/large_tokamak_2_MFILE.DAT | 2 +- .../data/large_tokamak_3_MFILE.DAT | 2 +- .../data/large_tokamak_4_MFILE.DAT | 2 +- .../integration/data/large_tokamak_MFILE.DAT | 2 +- tests/integration/data/scan_2D_MFILE.DAT | 30 +++++++++---------- tests/unit/data/large_tokamak_MFILE.DAT | 2 +- 19 files changed, 58 insertions(+), 58 deletions(-) diff --git a/documentation/proc-pages/eng-models/central-solenoid.md b/documentation/proc-pages/eng-models/central-solenoid.md index 87964276cc..fefe9ecfaf 100644 --- a/documentation/proc-pages/eng-models/central-solenoid.md +++ b/documentation/proc-pages/eng-models/central-solenoid.md @@ -99,7 +99,7 @@ An example output follows. Note that in this example the cycle life is *not* su CS turn area (m) (a_cs_turn) 1.904E-03 CS turn length (m) (l_cond_cst) 7.557E-02 CS turn internal cable space radius (m) (r_in_cst) 6.732E-03 - CS turn width (m) (d_cond_cst) 2.519E-02 + CS turn width (m) (dz_cs_turn) 2.519E-02 CS structural vertical thickness (m) (t_structural_vertical) 5.863E-03 CS structural radial thickness (m) (t_structural_radial) 5.863E-03 Allowable number of cycles till CS fracture (n_cycle) 7.529E+02 OP diff --git a/examples/data/csv_output_large_tokamak_MFILE.DAT b/examples/data/csv_output_large_tokamak_MFILE.DAT index 0192bb0f9b..943957bde5 100644 --- a/examples/data/csv_output_large_tokamak_MFILE.DAT +++ b/examples/data/csv_output_large_tokamak_MFILE.DAT @@ -812,7 +812,7 @@ CS_turn_area_(m)________________________________________________________ (a_cs_turn)___________________ 1.9935E-03 CS_turn_length_(m)______________________________________________________ (l_cond_cst)__________________ 7.7333E-02 CS_turn_internal_cable_space_radius_(m)_________________________________ (r_in_cst)____________________ 7.3195E-03 - CS_turn_width_(m)_______________________________________________________ (d_cond_cst)__________________ 2.5778E-02 + CS_turn_width_(m)_______________________________________________________ (dz_cs_turn)__________________ 2.5778E-02 CS_structural_vertical_thickness_(m)____________________________________ (t_structural_vertical)_______ 5.5693E-03 CS_structural_radial_thickness_(m)______________________________________ (t_structural_radial)_________ 5.5693E-03 Allowable_number_of_cycles_till_CS_fracture_____________________________ (n_cycle)_____________________ 4.2524E+02 OP diff --git a/examples/data/large_tokamak_1_MFILE.DAT b/examples/data/large_tokamak_1_MFILE.DAT index 315d68e052..8e2241b833 100644 --- a/examples/data/large_tokamak_1_MFILE.DAT +++ b/examples/data/large_tokamak_1_MFILE.DAT @@ -807,7 +807,7 @@ CS_turn_area_(m)________________________________________________________ (a_cs_turn)___________________ 1.9739E-03 CS_turn_length_(m)______________________________________________________ (l_cond_cst)__________________ 7.6953E-02 CS_turn_internal_cable_space_radius_(m)_________________________________ (r_in_cst)____________________ 7.4740E-03 - CS_turn_width_(m)_______________________________________________________ (d_cond_cst)__________________ 2.5651E-02 + CS_turn_width_(m)_______________________________________________________ (dz_cs_turn)__________________ 2.5651E-02 CS_structural_vertical_thickness_(m)____________________________________ (t_structural_vertical)_______ 5.3514E-03 CS_structural_radial_thickness_(m)______________________________________ (t_structural_radial)_________ 5.3514E-03 Allowable_number_of_cycles_till_CS_fracture_____________________________ (n_cycle)_____________________ 1.3378E+02 OP diff --git a/examples/data/large_tokamak_2_MFILE.DAT b/examples/data/large_tokamak_2_MFILE.DAT index 6e2130f3ac..944056871e 100644 --- a/examples/data/large_tokamak_2_MFILE.DAT +++ b/examples/data/large_tokamak_2_MFILE.DAT @@ -807,7 +807,7 @@ CS_turn_area_(m)________________________________________________________ (a_cs_turn)___________________ 1.9739E-03 CS_turn_length_(m)______________________________________________________ (l_cond_cst)__________________ 7.6953E-02 CS_turn_internal_cable_space_radius_(m)_________________________________ (r_in_cst)____________________ 7.4740E-03 - CS_turn_width_(m)_______________________________________________________ (d_cond_cst)__________________ 2.5651E-02 + CS_turn_width_(m)_______________________________________________________ (dz_cs_turn)__________________ 2.5651E-02 CS_structural_vertical_thickness_(m)____________________________________ (t_structural_vertical)_______ 5.3514E-03 CS_structural_radial_thickness_(m)______________________________________ (t_structural_radial)_________ 5.3514E-03 Allowable_number_of_cycles_till_CS_fracture_____________________________ (n_cycle)_____________________ 1.3378E+02 OP diff --git a/examples/data/large_tokamak_3_MFILE.DAT b/examples/data/large_tokamak_3_MFILE.DAT index 1b6e095253..b2c983f232 100644 --- a/examples/data/large_tokamak_3_MFILE.DAT +++ b/examples/data/large_tokamak_3_MFILE.DAT @@ -807,7 +807,7 @@ CS_turn_area_(m)________________________________________________________ (a_cs_turn)___________________ 1.9739E-03 CS_turn_length_(m)______________________________________________________ (l_cond_cst)__________________ 7.6953E-02 CS_turn_internal_cable_space_radius_(m)_________________________________ (r_in_cst)____________________ 7.4740E-03 - CS_turn_width_(m)_______________________________________________________ (d_cond_cst)__________________ 2.5651E-02 + CS_turn_width_(m)_______________________________________________________ (dz_cs_turn)__________________ 2.5651E-02 CS_structural_vertical_thickness_(m)____________________________________ (t_structural_vertical)_______ 5.3514E-03 CS_structural_radial_thickness_(m)______________________________________ (t_structural_radial)_________ 5.3514E-03 Allowable_number_of_cycles_till_CS_fracture_____________________________ (n_cycle)_____________________ 1.3378E+02 OP diff --git a/examples/data/large_tokamak_4_MFILE.DAT b/examples/data/large_tokamak_4_MFILE.DAT index 93f7c38ff0..55ca74aaf5 100644 --- a/examples/data/large_tokamak_4_MFILE.DAT +++ b/examples/data/large_tokamak_4_MFILE.DAT @@ -807,7 +807,7 @@ CS_turn_area_(m)________________________________________________________ (a_cs_turn)___________________ 1.9739E-03 CS_turn_length_(m)______________________________________________________ (l_cond_cst)__________________ 7.6953E-02 CS_turn_internal_cable_space_radius_(m)_________________________________ (r_in_cst)____________________ 7.4740E-03 - CS_turn_width_(m)_______________________________________________________ (d_cond_cst)__________________ 2.5651E-02 + CS_turn_width_(m)_______________________________________________________ (dz_cs_turn)__________________ 2.5651E-02 CS_structural_vertical_thickness_(m)____________________________________ (t_structural_vertical)_______ 5.3514E-03 CS_structural_radial_thickness_(m)______________________________________ (t_structural_radial)_________ 5.3514E-03 Allowable_number_of_cycles_till_CS_fracture_____________________________ (n_cycle)_____________________ 1.3378E+02 OP diff --git a/examples/data/large_tokamak_nof_2_MFILE.DAT b/examples/data/large_tokamak_nof_2_MFILE.DAT index 3ba3d71a8c..b6b0ee3373 100644 --- a/examples/data/large_tokamak_nof_2_MFILE.DAT +++ b/examples/data/large_tokamak_nof_2_MFILE.DAT @@ -769,7 +769,7 @@ CS_turn_area_(m)_________________________________________________________ (a_oh_turn)____________________ 1.86535883128814976e-03 CS_turn_length_(m)_______________________________________________________ (l_cond_cst)___________________ 7.48069281140754244e-02 CS_turn_internal_cable_space_radius_(m)__________________________________ (r_in_cst)_____________________ 7.68214749060300642e-03 - CS_turn_width_(m)________________________________________________________ (d_cond_cst)___________________ 2.49356427046918093e-02 + CS_turn_width_(m)________________________________________________________ (dz_cs_turn)___________________ 2.49356427046918093e-02 CS_structural_vertical_thickness_(m)_____________________________________ (t_structural_vertical)________ 4.78567386174289823e-03 CS_structural_radial_thickness_(m)_______________________________________ (t_structural_radial)__________ 4.78567386174289823e-03 Allowable_number_of_cycles_till_CS_fracture______________________________ (n_cycle)______________________ 0.00000000000000000e+00 OP diff --git a/examples/data/large_tokamak_nof_MFILE.DAT b/examples/data/large_tokamak_nof_MFILE.DAT index 1f0a7fe9c0..ea07a907e6 100644 --- a/examples/data/large_tokamak_nof_MFILE.DAT +++ b/examples/data/large_tokamak_nof_MFILE.DAT @@ -843,7 +843,7 @@ CS_turn_area_(m)_________________________________________________________ (a_oh_turn)____________________ 2.03407534401044230e-03 CS_turn_length_(m)_______________________________________________________ (l_cond_cst)___________________ 7.81167461689958459e-02 CS_turn_internal_cable_space_radius_(m)__________________________________ (r_in_cst)_____________________ 7.90457985893884552e-03 - CS_turn_width_(m)________________________________________________________ (d_cond_cst)___________________ 2.60389153896652820e-02 + CS_turn_width_(m)________________________________________________________ (dz_cs_turn)___________________ 2.60389153896652820e-02 CS_structural_vertical_thickness_(m)_____________________________________ (t_structural_vertical)________ 5.11487783589379547e-03 CS_structural_radial_thickness_(m)_______________________________________ (t_structural_radial)__________ 5.11487783589379547e-03 Allowable_number_of_cycles_till_CS_fracture______________________________ (n_cycle)______________________ 0.00000000000000000e+00 OP diff --git a/process/io/plot_proc.py b/process/io/plot_proc.py index df02589a71..091900cf75 100644 --- a/process/io/plot_proc.py +++ b/process/io/plot_proc.py @@ -4428,20 +4428,20 @@ def plot_cs_coil_structure(axis, fig, mfile_data, scan, colour_scheme=1): def plot_cs_turn_structure(axis, fig, mfile_data, scan): a_cs_turn = mfile_data.data["a_cs_turn"].get_scan(scan) - d_cond_cst = mfile_data.data["d_cond_cst"].get_scan(scan) + dz_cs_turn = mfile_data.data["dz_cs_turn"].get_scan(scan) l_cond_cst = mfile_data.data["l_cond_cst"].get_scan(scan) ld_ratio_cst = mfile_data.data["ld_ratio_cst"].get_scan(scan) # Plot the CS turn as a rectangle representing the conductor cross-section - # Assume d_cond_cst is the diameter and l_cond_cst is the length of the conductor cross-section + # Assume dz_cs_turn is the diameter and l_cond_cst is the length of the conductor cross-section # Draw the conductor cross-section as a rectangle axis.add_patch( patches.Rectangle( (0, 0), l_cond_cst, - d_cond_cst, + dz_cs_turn, edgecolor="black", facecolor="grey", lw=1.5, @@ -4452,13 +4452,13 @@ def plot_cs_turn_structure(axis, fig, mfile_data, scan): # Draw the aspect ratio line (L/D) axis.annotate( "", - xy=(l_cond_cst, d_cond_cst + d_cond_cst * 0.1), - xytext=(0, d_cond_cst + d_cond_cst * 0.1), + xy=(l_cond_cst, dz_cs_turn + dz_cs_turn * 0.1), + xytext=(0, dz_cs_turn + dz_cs_turn * 0.1), arrowprops={"arrowstyle": "<->", "color": "black"}, ) axis.text( l_cond_cst / 2, - d_cond_cst + d_cond_cst * 0.15, + dz_cs_turn + dz_cs_turn * 0.15, f"L = {l_cond_cst:.3f} m", ha="center", va="bottom", @@ -4467,14 +4467,14 @@ def plot_cs_turn_structure(axis, fig, mfile_data, scan): axis.annotate( "", - xy=(l_cond_cst + l_cond_cst * 0.05, d_cond_cst), + xy=(l_cond_cst + l_cond_cst * 0.05, dz_cs_turn), xytext=(l_cond_cst + l_cond_cst * 0.05, 0), arrowprops={"arrowstyle": "<->", "color": "black"}, ) axis.text( l_cond_cst + l_cond_cst * 0.08, - d_cond_cst / 2, - f"D = {d_cond_cst:.3f} m", + dz_cs_turn / 2, + f"D = {dz_cs_turn:.3f} m", ha="left", va="center", fontsize=10, @@ -4484,7 +4484,7 @@ def plot_cs_turn_structure(axis, fig, mfile_data, scan): # Show L/D ratio axis.text( l_cond_cst / 2, - -d_cond_cst * 0.2, + -dz_cs_turn * 0.2, f"L/D = {ld_ratio_cst:.2f}", ha="center", va="top", @@ -4514,7 +4514,7 @@ def plot_cs_turn_structure(axis, fig, mfile_data, scan): ) axis.set_xlim(-l_cond_cst * 0.2, l_cond_cst * 1.2) - axis.set_ylim(-d_cond_cst * 0.3, d_cond_cst * 1.3) + axis.set_ylim(-dz_cs_turn * 0.3, dz_cs_turn * 1.3) axis.set_aspect("equal") axis.set_xlabel("Length [m]") axis.set_ylabel("Height [m]") diff --git a/process/pfcoil.py b/process/pfcoil.py index 1e40ff1850..bf6a9d0738 100644 --- a/process/pfcoil.py +++ b/process/pfcoil.py @@ -1133,25 +1133,25 @@ def ohcalc(self): pfv.a_cs_turn = pfv.a_cs_poloidal / pfv.n_pf_coil_turns[pfv.n_cs_pf_coils - 1] # Depth/width of cs turn conduit - pfv.d_cond_cst = (pfv.a_cs_turn / pfv.ld_ratio_cst) ** 0.5 + pfv.dz_cs_turn = (pfv.a_cs_turn / pfv.ld_ratio_cst) ** 0.5 # length of cs turn conduit - pfv.l_cond_cst = pfv.ld_ratio_cst * pfv.d_cond_cst + pfv.l_cond_cst = pfv.ld_ratio_cst * pfv.dz_cs_turn # Radius of turn space = pfv.r_in_cst # Radius of curved outer corrner pfv.r_out_cst = 3mm from literature # pfv.ld_ratio_cst = 70 / 22 from literature - p1_cst = ((pfv.l_cond_cst - pfv.d_cond_cst) / constants.pi) ** 2 + p1_cst = ((pfv.l_cond_cst - pfv.dz_cs_turn) / constants.pi) ** 2 p2_cst = ( - (pfv.l_cond_cst * pfv.d_cond_cst) + (pfv.l_cond_cst * pfv.dz_cs_turn) - (4 - constants.pi) * (pfv.r_out_cst**2) - (pfv.a_cs_turn * pfv.f_a_cs_steel) ) / constants.pi # CS coil turn geometry calculation - stadium shape # Literature: https://doi.org/10.1016/j.fusengdes.2017.04.052 - pfv.r_in_cst = -((pfv.l_cond_cst - pfv.d_cond_cst) / constants.pi) + math.sqrt( + pfv.r_in_cst = -((pfv.l_cond_cst - pfv.dz_cs_turn) / constants.pi) + math.sqrt( p1_cst + p2_cst ) # Thickness of steel conduit in cs turn - csfv.t_structural_radial = (pfv.d_cond_cst / 2) - pfv.r_in_cst + csfv.t_structural_radial = (pfv.dz_cs_turn / 2) - pfv.r_in_cst # In this model the vertical and radial have the same thickness csfv.t_structural_vertical = csfv.t_structural_radial # add a check for negative conduit thickness @@ -2067,8 +2067,8 @@ def output_cs_structure(self): op.ovarre( self.outfile, "Radial width a CS turn [m^2]", - "(d_cond_cst)", - pfv.d_cond_cst, + "(dz_cs_turn)", + pfv.dz_cs_turn, "OP ", ) op.ovarre( @@ -2412,8 +2412,8 @@ def outpf(self): op.ovarre( self.outfile, "CS turn width (m)", - "(d_cond_cst)", - pfv.d_cond_cst, + "(dz_cs_turn)", + pfv.dz_cs_turn, ) op.ovarre( self.outfile, @@ -3657,6 +3657,6 @@ def init_pfcoil_variables(): pfv.fb_cs_limit_max = 1.0 pfv.ld_ratio_cst = 70.0 / 22.0 pfv.l_cond_cst = 0.0 - pfv.d_cond_cst = 0.0 + pfv.dz_cs_turn = 0.0 pfv.r_in_cst = 0.0 pfv.r_out_cst = 3.0e-3 diff --git a/process/tf_coil.py b/process/tf_coil.py index 0e040a31c9..765d78d6d1 100644 --- a/process/tf_coil.py +++ b/process/tf_coil.py @@ -3308,22 +3308,22 @@ def stresscl( # CS coil turn geometry calculation - stadium shape # Literature: https://doi.org/10.1016/j.fusengdes.2017.04.052 - d_cond_cst = ( + dz_cs_turn = ( a_cs_turn / ld_ratio_cst ) ** 0.5 # width of cs turn conduit - l_cond_cst = ld_ratio_cst * d_cond_cst # length of cs turn conduit + l_cond_cst = ld_ratio_cst * dz_cs_turn # length of cs turn conduit # Radius of turn space = r_in_cst # Radius of curved outer corrner r_out_cst = 3mm from literature # ld_ratio_cst = 70 / 22 from literature - p1 = ((l_cond_cst - d_cond_cst) / np.pi) ** 2 + p1 = ((l_cond_cst - dz_cs_turn) / np.pi) ** 2 p2 = ( - (l_cond_cst * d_cond_cst) + (l_cond_cst * dz_cs_turn) - (4 - np.pi) * (r_out_cst**2) - (a_cs_turn * f_a_cs_steel) ) / np.pi - r_in_cst = -((l_cond_cst - d_cond_cst) / np.pi) + np.sqrt(p1 + p2) + r_in_cst = -((l_cond_cst - dz_cs_turn) / np.pi) + np.sqrt(p1 + p2) t_cond_oh = ( - d_cond_cst / 2 + dz_cs_turn / 2 ) - r_in_cst # thickness of steel conduit in cs turn # OH/CS conduit thickness calculated assuming square conduit [m] diff --git a/source/fortran/pfcoil_variables.f90 b/source/fortran/pfcoil_variables.f90 index 8f37449e87..6ed1f50bc5 100644 --- a/source/fortran/pfcoil_variables.f90 +++ b/source/fortran/pfcoil_variables.f90 @@ -399,7 +399,7 @@ module pfcoil_variables real(dp) :: l_cond_cst !! Length of CS of CS coil turn conduit - real(dp) :: d_cond_cst + real(dp) :: dz_cs_turn !! Depth/width of CS of CS coil turn conduit real(dp) :: r_out_cst diff --git a/tests/integration/data/large_tokamak_1_MFILE.DAT b/tests/integration/data/large_tokamak_1_MFILE.DAT index 9ed407a6f3..2753fffb88 100644 --- a/tests/integration/data/large_tokamak_1_MFILE.DAT +++ b/tests/integration/data/large_tokamak_1_MFILE.DAT @@ -806,7 +806,7 @@ CS_turn_area_(m)________________________________________________________ (a_cs_turn)___________________ 1.9739E-03 CS_turn_length_(m)______________________________________________________ (l_cond_cst)__________________ 7.6953E-02 CS_turn_internal_cable_space_radius_(m)_________________________________ (r_in_cst)____________________ 7.4740E-03 - CS_turn_width_(m)_______________________________________________________ (d_cond_cst)__________________ 2.5651E-02 + CS_turn_width_(m)_______________________________________________________ (dz_cs_turn)__________________ 2.5651E-02 CS_structural_vertical_thickness_(m)____________________________________ (t_structural_vertical)_______ 5.3514E-03 CS_structural_radial_thickness_(m)______________________________________ (t_structural_radial)_________ 5.3514E-03 Allowable_number_of_cycles_till_CS_fracture_____________________________ (n_cycle)_____________________ 1.3378E+02 OP diff --git a/tests/integration/data/large_tokamak_2_MFILE.DAT b/tests/integration/data/large_tokamak_2_MFILE.DAT index a7013d1321..9158621bf6 100644 --- a/tests/integration/data/large_tokamak_2_MFILE.DAT +++ b/tests/integration/data/large_tokamak_2_MFILE.DAT @@ -807,7 +807,7 @@ CS_turn_area_(m)________________________________________________________ (a_cs_turn)___________________ 1.9739E-03 CS_turn_length_(m)______________________________________________________ (l_cond_cst)__________________ 7.6953E-02 CS_turn_internal_cable_space_radius_(m)_________________________________ (r_in_cst)____________________ 7.4740E-03 - CS_turn_width_(m)_______________________________________________________ (d_cond_cst)__________________ 2.5651E-02 + CS_turn_width_(m)_______________________________________________________ (dz_cs_turn)__________________ 2.5651E-02 CS_structural_vertical_thickness_(m)____________________________________ (t_structural_vertical)_______ 5.3514E-03 CS_structural_radial_thickness_(m)______________________________________ (t_structural_radial)_________ 5.3514E-03 Allowable_number_of_cycles_till_CS_fracture_____________________________ (n_cycle)_____________________ 1.3378E+02 OP diff --git a/tests/integration/data/large_tokamak_3_MFILE.DAT b/tests/integration/data/large_tokamak_3_MFILE.DAT index a2966c55f2..0f1efdc9aa 100644 --- a/tests/integration/data/large_tokamak_3_MFILE.DAT +++ b/tests/integration/data/large_tokamak_3_MFILE.DAT @@ -807,7 +807,7 @@ CS_turn_area_(m)________________________________________________________ (a_cs_turn)___________________ 1.9739E-03 CS_turn_length_(m)______________________________________________________ (l_cond_cst)__________________ 7.6953E-02 CS_turn_internal_cable_space_radius_(m)_________________________________ (r_in_cst)____________________ 7.4740E-03 - CS_turn_width_(m)_______________________________________________________ (d_cond_cst)__________________ 2.5651E-02 + CS_turn_width_(m)_______________________________________________________ (dz_cs_turn)__________________ 2.5651E-02 CS_structural_vertical_thickness_(m)____________________________________ (t_structural_vertical)_______ 5.3514E-03 CS_structural_radial_thickness_(m)______________________________________ (t_structural_radial)_________ 5.3514E-03 Allowable_number_of_cycles_till_CS_fracture_____________________________ (n_cycle)_____________________ 1.3378E+02 OP diff --git a/tests/integration/data/large_tokamak_4_MFILE.DAT b/tests/integration/data/large_tokamak_4_MFILE.DAT index 488ad1e1f3..21cd5cd8b5 100644 --- a/tests/integration/data/large_tokamak_4_MFILE.DAT +++ b/tests/integration/data/large_tokamak_4_MFILE.DAT @@ -807,7 +807,7 @@ CS_turn_area_(m)________________________________________________________ (a_cs_turn)___________________ 1.9739E-03 CS_turn_length_(m)______________________________________________________ (l_cond_cst)__________________ 7.6953E-02 CS_turn_internal_cable_space_radius_(m)_________________________________ (r_in_cst)____________________ 7.4740E-03 - CS_turn_width_(m)_______________________________________________________ (d_cond_cst)__________________ 2.5651E-02 + CS_turn_width_(m)_______________________________________________________ (dz_cs_turn)__________________ 2.5651E-02 CS_structural_vertical_thickness_(m)____________________________________ (t_structural_vertical)_______ 5.3514E-03 CS_structural_radial_thickness_(m)______________________________________ (t_structural_radial)_________ 5.3514E-03 Allowable_number_of_cycles_till_CS_fracture_____________________________ (n_cycle)_____________________ 1.3378E+02 OP diff --git a/tests/integration/data/large_tokamak_MFILE.DAT b/tests/integration/data/large_tokamak_MFILE.DAT index 804cbb33ae..614e099b0b 100644 --- a/tests/integration/data/large_tokamak_MFILE.DAT +++ b/tests/integration/data/large_tokamak_MFILE.DAT @@ -810,7 +810,7 @@ CS_turn_area_(m)________________________________________________________ (a_cs_turn)___________________ 1.9813E-03 CS_turn_length_(m)______________________________________________________ (l_cond_cst)__________________ 7.7097E-02 CS_turn_internal_cable_space_radius_(m)_________________________________ (r_in_cst)____________________ 7.4684E-03 - CS_turn_width_(m)_______________________________________________________ (d_cond_cst)__________________ 2.5699E-02 + CS_turn_width_(m)_______________________________________________________ (dz_cs_turn)__________________ 2.5699E-02 CS_structural_vertical_thickness_(m)____________________________________ (t_structural_vertical)_______ 5.3812E-03 CS_structural_radial_thickness_(m)______________________________________ (t_structural_radial)_________ 5.3812E-03 Allowable_number_of_cycles_till_CS_fracture_____________________________ (n_cycle)_____________________ 1.3795E+02 OP diff --git a/tests/integration/data/scan_2D_MFILE.DAT b/tests/integration/data/scan_2D_MFILE.DAT index 7a2392e4d8..85bc902884 100644 --- a/tests/integration/data/scan_2D_MFILE.DAT +++ b/tests/integration/data/scan_2D_MFILE.DAT @@ -808,7 +808,7 @@ CS_turn_area_(m)________________________________________________________ (a_cs_turn)___________________ 1.8842E-03 CS_turn_length_(m)______________________________________________________ (l_cond_cst)__________________ 7.5184E-02 CS_turn_internal_cable_space_radius_(m)_________________________________ (r_in_cst)____________________ 7.6208E-03 - CS_turn_width_(m)_______________________________________________________ (d_cond_cst)__________________ 2.5061E-02 + CS_turn_width_(m)_______________________________________________________ (dz_cs_turn)__________________ 2.5061E-02 CS_structural_vertical_thickness_(m)____________________________________ (t_structural_vertical)_______ 4.9098E-03 CS_structural_radial_thickness_(m)______________________________________ (t_structural_radial)_________ 4.9098E-03 Allowable_number_of_cycles_till_CS_fracture_____________________________ (n_cycle)_____________________ 0.0000E+00 OP @@ -1971,7 +1971,7 @@ CS_turn_area_(m)________________________________________________________ (a_cs_turn)___________________ 1.8791E-03 CS_turn_length_(m)______________________________________________________ (l_cond_cst)__________________ 7.5083E-02 CS_turn_internal_cable_space_radius_(m)_________________________________ (r_in_cst)____________________ 7.5657E-03 - CS_turn_width_(m)_______________________________________________________ (d_cond_cst)__________________ 2.5028E-02 + CS_turn_width_(m)_______________________________________________________ (dz_cs_turn)__________________ 2.5028E-02 CS_structural_vertical_thickness_(m)____________________________________ (t_structural_vertical)_______ 4.9481E-03 CS_structural_radial_thickness_(m)______________________________________ (t_structural_radial)_________ 4.9481E-03 Allowable_number_of_cycles_till_CS_fracture_____________________________ (n_cycle)_____________________ 0.0000E+00 OP @@ -3134,7 +3134,7 @@ CS_turn_area_(m)________________________________________________________ (a_cs_turn)___________________ 1.8833E-03 CS_turn_length_(m)______________________________________________________ (l_cond_cst)__________________ 7.5166E-02 CS_turn_internal_cable_space_radius_(m)_________________________________ (r_in_cst)____________________ 7.5551E-03 - CS_turn_width_(m)_______________________________________________________ (d_cond_cst)__________________ 2.5055E-02 + CS_turn_width_(m)_______________________________________________________ (dz_cs_turn)__________________ 2.5055E-02 CS_structural_vertical_thickness_(m)____________________________________ (t_structural_vertical)_______ 4.9725E-03 CS_structural_radial_thickness_(m)______________________________________ (t_structural_radial)_________ 4.9725E-03 Allowable_number_of_cycles_till_CS_fracture_____________________________ (n_cycle)_____________________ 0.0000E+00 OP @@ -4297,7 +4297,7 @@ CS_turn_area_(m)________________________________________________________ (a_cs_turn)___________________ 1.8846E-03 CS_turn_length_(m)______________________________________________________ (l_cond_cst)__________________ 7.5192E-02 CS_turn_internal_cable_space_radius_(m)_________________________________ (r_in_cst)____________________ 7.5540E-03 - CS_turn_width_(m)_______________________________________________________ (d_cond_cst)__________________ 2.5064E-02 + CS_turn_width_(m)_______________________________________________________ (dz_cs_turn)__________________ 2.5064E-02 CS_structural_vertical_thickness_(m)____________________________________ (t_structural_vertical)_______ 4.9779E-03 CS_structural_radial_thickness_(m)______________________________________ (t_structural_radial)_________ 4.9779E-03 Allowable_number_of_cycles_till_CS_fracture_____________________________ (n_cycle)_____________________ 0.0000E+00 OP @@ -5460,7 +5460,7 @@ CS_turn_area_(m)________________________________________________________ (a_cs_turn)___________________ 1.8772E-03 CS_turn_length_(m)______________________________________________________ (l_cond_cst)__________________ 7.5043E-02 CS_turn_internal_cable_space_radius_(m)_________________________________ (r_in_cst)____________________ 7.5701E-03 - CS_turn_width_(m)_______________________________________________________ (d_cond_cst)__________________ 2.5014E-02 + CS_turn_width_(m)_______________________________________________________ (dz_cs_turn)__________________ 2.5014E-02 CS_structural_vertical_thickness_(m)____________________________________ (t_structural_vertical)_______ 4.9371E-03 CS_structural_radial_thickness_(m)______________________________________ (t_structural_radial)_________ 4.9371E-03 Allowable_number_of_cycles_till_CS_fracture_____________________________ (n_cycle)_____________________ 0.0000E+00 OP @@ -6623,7 +6623,7 @@ CS_turn_area_(m)________________________________________________________ (a_cs_turn)___________________ 1.8583E-03 CS_turn_length_(m)______________________________________________________ (l_cond_cst)__________________ 7.4666E-02 CS_turn_internal_cable_space_radius_(m)_________________________________ (r_in_cst)____________________ 7.5465E-03 - CS_turn_width_(m)_______________________________________________________ (d_cond_cst)__________________ 2.4889E-02 + CS_turn_width_(m)_______________________________________________________ (dz_cs_turn)__________________ 2.4889E-02 CS_structural_vertical_thickness_(m)____________________________________ (t_structural_vertical)_______ 4.8979E-03 CS_structural_radial_thickness_(m)______________________________________ (t_structural_radial)_________ 4.8979E-03 Allowable_number_of_cycles_till_CS_fracture_____________________________ (n_cycle)_____________________ 0.0000E+00 OP @@ -7786,7 +7786,7 @@ CS_turn_area_(m)________________________________________________________ (a_cs_turn)___________________ 1.8554E-03 CS_turn_length_(m)______________________________________________________ (l_cond_cst)__________________ 7.4607E-02 CS_turn_internal_cable_space_radius_(m)_________________________________ (r_in_cst)____________________ 7.5344E-03 - CS_turn_width_(m)_______________________________________________________ (d_cond_cst)__________________ 2.4869E-02 + CS_turn_width_(m)_______________________________________________________ (dz_cs_turn)__________________ 2.4869E-02 CS_structural_vertical_thickness_(m)____________________________________ (t_structural_vertical)_______ 4.9001E-03 CS_structural_radial_thickness_(m)______________________________________ (t_structural_radial)_________ 4.9001E-03 Allowable_number_of_cycles_till_CS_fracture_____________________________ (n_cycle)_____________________ 0.0000E+00 OP @@ -8949,7 +8949,7 @@ CS_turn_area_(m)________________________________________________________ (a_cs_turn)___________________ 1.8597E-03 CS_turn_length_(m)______________________________________________________ (l_cond_cst)__________________ 7.4693E-02 CS_turn_internal_cable_space_radius_(m)_________________________________ (r_in_cst)____________________ 7.5265E-03 - CS_turn_width_(m)_______________________________________________________ (d_cond_cst)__________________ 2.4898E-02 + CS_turn_width_(m)_______________________________________________________ (dz_cs_turn)__________________ 2.4898E-02 CS_structural_vertical_thickness_(m)____________________________________ (t_structural_vertical)_______ 4.9224E-03 CS_structural_radial_thickness_(m)______________________________________ (t_structural_radial)_________ 4.9224E-03 Allowable_number_of_cycles_till_CS_fracture_____________________________ (n_cycle)_____________________ 0.0000E+00 OP @@ -10112,7 +10112,7 @@ CS_turn_area_(m)________________________________________________________ (a_cs_turn)___________________ 1.8634E-03 CS_turn_length_(m)______________________________________________________ (l_cond_cst)__________________ 7.4767E-02 CS_turn_internal_cable_space_radius_(m)_________________________________ (r_in_cst)____________________ 7.5155E-03 - CS_turn_width_(m)_______________________________________________________ (d_cond_cst)__________________ 2.4922E-02 + CS_turn_width_(m)_______________________________________________________ (dz_cs_turn)__________________ 2.4922E-02 CS_structural_vertical_thickness_(m)____________________________________ (t_structural_vertical)_______ 4.9457E-03 CS_structural_radial_thickness_(m)______________________________________ (t_structural_radial)_________ 4.9457E-03 Allowable_number_of_cycles_till_CS_fracture_____________________________ (n_cycle)_____________________ 0.0000E+00 OP @@ -11275,7 +11275,7 @@ CS_turn_area_(m)________________________________________________________ (a_cs_turn)___________________ 1.8638E-03 CS_turn_length_(m)______________________________________________________ (l_cond_cst)__________________ 7.4776E-02 CS_turn_internal_cable_space_radius_(m)_________________________________ (r_in_cst)____________________ 7.5148E-03 - CS_turn_width_(m)_______________________________________________________ (d_cond_cst)__________________ 2.4925E-02 + CS_turn_width_(m)_______________________________________________________ (dz_cs_turn)__________________ 2.4925E-02 CS_structural_vertical_thickness_(m)____________________________________ (t_structural_vertical)_______ 4.9479E-03 CS_structural_radial_thickness_(m)______________________________________ (t_structural_radial)_________ 4.9479E-03 Allowable_number_of_cycles_till_CS_fracture_____________________________ (n_cycle)_____________________ 0.0000E+00 OP @@ -12438,7 +12438,7 @@ CS_turn_area_(m)________________________________________________________ (a_cs_turn)___________________ 1.8627E-03 CS_turn_length_(m)______________________________________________________ (l_cond_cst)__________________ 7.4754E-02 CS_turn_internal_cable_space_radius_(m)_________________________________ (r_in_cst)____________________ 7.5297E-03 - CS_turn_width_(m)_______________________________________________________ (d_cond_cst)__________________ 2.4918E-02 + CS_turn_width_(m)_______________________________________________________ (dz_cs_turn)__________________ 2.4918E-02 CS_structural_vertical_thickness_(m)____________________________________ (t_structural_vertical)_______ 4.9294E-03 CS_structural_radial_thickness_(m)______________________________________ (t_structural_radial)_________ 4.9294E-03 Allowable_number_of_cycles_till_CS_fracture_____________________________ (n_cycle)_____________________ 0.0000E+00 OP @@ -13601,7 +13601,7 @@ CS_turn_area_(m)________________________________________________________ (a_cs_turn)___________________ 1.8605E-03 CS_turn_length_(m)______________________________________________________ (l_cond_cst)__________________ 7.4710E-02 CS_turn_internal_cable_space_radius_(m)_________________________________ (r_in_cst)____________________ 7.5285E-03 - CS_turn_width_(m)_______________________________________________________ (d_cond_cst)__________________ 2.4903E-02 + CS_turn_width_(m)_______________________________________________________ (dz_cs_turn)__________________ 2.4903E-02 CS_structural_vertical_thickness_(m)____________________________________ (t_structural_vertical)_______ 4.9232E-03 CS_structural_radial_thickness_(m)______________________________________ (t_structural_radial)_________ 4.9232E-03 Allowable_number_of_cycles_till_CS_fracture_____________________________ (n_cycle)_____________________ 0.0000E+00 OP @@ -14764,7 +14764,7 @@ CS_turn_area_(m)________________________________________________________ (a_cs_turn)___________________ 1.8613E-03 CS_turn_length_(m)______________________________________________________ (l_cond_cst)__________________ 7.4725E-02 CS_turn_internal_cable_space_radius_(m)_________________________________ (r_in_cst)____________________ 7.5277E-03 - CS_turn_width_(m)_______________________________________________________ (d_cond_cst)__________________ 2.4908E-02 + CS_turn_width_(m)_______________________________________________________ (dz_cs_turn)__________________ 2.4908E-02 CS_structural_vertical_thickness_(m)____________________________________ (t_structural_vertical)_______ 4.9265E-03 CS_structural_radial_thickness_(m)______________________________________ (t_structural_radial)_________ 4.9265E-03 Allowable_number_of_cycles_till_CS_fracture_____________________________ (n_cycle)_____________________ 0.0000E+00 OP @@ -15927,7 +15927,7 @@ CS_turn_area_(m)________________________________________________________ (a_cs_turn)___________________ 1.8640E-03 CS_turn_length_(m)______________________________________________________ (l_cond_cst)__________________ 7.4780E-02 CS_turn_internal_cable_space_radius_(m)_________________________________ (r_in_cst)____________________ 7.5206E-03 - CS_turn_width_(m)_______________________________________________________ (d_cond_cst)__________________ 2.4927E-02 + CS_turn_width_(m)_______________________________________________________ (dz_cs_turn)__________________ 2.4927E-02 CS_structural_vertical_thickness_(m)____________________________________ (t_structural_vertical)_______ 4.9428E-03 CS_structural_radial_thickness_(m)______________________________________ (t_structural_radial)_________ 4.9428E-03 Allowable_number_of_cycles_till_CS_fracture_____________________________ (n_cycle)_____________________ 0.0000E+00 OP @@ -17090,7 +17090,7 @@ CS_turn_area_(m)________________________________________________________ (a_cs_turn)___________________ 1.8669E-03 CS_turn_length_(m)______________________________________________________ (l_cond_cst)__________________ 7.4837E-02 CS_turn_internal_cable_space_radius_(m)_________________________________ (r_in_cst)____________________ 7.5116E-03 - CS_turn_width_(m)_______________________________________________________ (d_cond_cst)__________________ 2.4946E-02 + CS_turn_width_(m)_______________________________________________________ (dz_cs_turn)__________________ 2.4946E-02 CS_structural_vertical_thickness_(m)____________________________________ (t_structural_vertical)_______ 4.9612E-03 CS_structural_radial_thickness_(m)______________________________________ (t_structural_radial)_________ 4.9612E-03 Allowable_number_of_cycles_till_CS_fracture_____________________________ (n_cycle)_____________________ 0.0000E+00 OP diff --git a/tests/unit/data/large_tokamak_MFILE.DAT b/tests/unit/data/large_tokamak_MFILE.DAT index 5d6429c6b7..3a2ae345ba 100644 --- a/tests/unit/data/large_tokamak_MFILE.DAT +++ b/tests/unit/data/large_tokamak_MFILE.DAT @@ -810,7 +810,7 @@ CS_turn_area_(m)________________________________________________________ (a_cs_turn)___________________ 1.9813E-03 CS_turn_length_(m)______________________________________________________ (l_cond_cst)__________________ 7.7097E-02 CS_turn_internal_cable_space_radius_(m)_________________________________ (r_in_cst)____________________ 7.4684E-03 - CS_turn_width_(m)_______________________________________________________ (d_cond_cst)__________________ 2.5699E-02 + CS_turn_width_(m)_______________________________________________________ (dz_cs_turn)__________________ 2.5699E-02 CS_structural_vertical_thickness_(m)____________________________________ (t_structural_vertical)_______ 5.3812E-03 CS_structural_radial_thickness_(m)______________________________________ (t_structural_radial)_________ 5.3812E-03 Allowable_number_of_cycles_till_CS_fracture_____________________________ (n_cycle)_____________________ 1.3795E+02 OP From d0d295ab82552b20d4c10c9c1c94a08ade27327d Mon Sep 17 00:00:00 2001 From: mn3981 Date: Tue, 17 Jun 2025 13:48:29 +0100 Subject: [PATCH 4/8] =?UTF-8?q?=F0=9F=94=84=20Changed=20variable=20name=20?= =?UTF-8?q?from=20l=5Fcond=5Fcst=20to=20dr=5Fcs=5Fturn=20in=20multiple=20f?= =?UTF-8?q?iles=20to=20improve=20clarity=20and=20consistency.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../proc-pages/eng-models/central-solenoid.md | 2 +- .../data/csv_output_large_tokamak_MFILE.DAT | 2 +- examples/data/large_tokamak_1_MFILE.DAT | 2 +- examples/data/large_tokamak_2_MFILE.DAT | 2 +- examples/data/large_tokamak_3_MFILE.DAT | 2 +- examples/data/large_tokamak_4_MFILE.DAT | 2 +- examples/data/large_tokamak_nof_2_MFILE.DAT | 2 +- examples/data/large_tokamak_nof_MFILE.DAT | 2 +- process/io/plot_proc.py | 22 +++++++------- process/pfcoil.py | 18 +++++------ process/tf_coil.py | 8 ++--- source/fortran/pfcoil_variables.f90 | 2 +- .../data/large_tokamak_1_MFILE.DAT | 2 +- .../data/large_tokamak_2_MFILE.DAT | 2 +- .../data/large_tokamak_3_MFILE.DAT | 2 +- .../data/large_tokamak_4_MFILE.DAT | 2 +- .../integration/data/large_tokamak_MFILE.DAT | 2 +- tests/integration/data/scan_2D_MFILE.DAT | 30 +++++++++---------- tests/unit/data/large_tokamak_MFILE.DAT | 2 +- 19 files changed, 54 insertions(+), 54 deletions(-) diff --git a/documentation/proc-pages/eng-models/central-solenoid.md b/documentation/proc-pages/eng-models/central-solenoid.md index fefe9ecfaf..b4c7726c78 100644 --- a/documentation/proc-pages/eng-models/central-solenoid.md +++ b/documentation/proc-pages/eng-models/central-solenoid.md @@ -97,7 +97,7 @@ An example output follows. Note that in this example the cycle life is *not* su Initial vertical crack size (m) (t_crack_vertical) 8.900E-04 Initial radial crack size (m) (t_crack_radial) 2.670E-03 CS turn area (m) (a_cs_turn) 1.904E-03 - CS turn length (m) (l_cond_cst) 7.557E-02 + CS turn length (m) (dr_cs_turn) 7.557E-02 CS turn internal cable space radius (m) (r_in_cst) 6.732E-03 CS turn width (m) (dz_cs_turn) 2.519E-02 CS structural vertical thickness (m) (t_structural_vertical) 5.863E-03 diff --git a/examples/data/csv_output_large_tokamak_MFILE.DAT b/examples/data/csv_output_large_tokamak_MFILE.DAT index 943957bde5..2ef85cfcc6 100644 --- a/examples/data/csv_output_large_tokamak_MFILE.DAT +++ b/examples/data/csv_output_large_tokamak_MFILE.DAT @@ -810,7 +810,7 @@ Initial_vertical_crack_size_(m)_________________________________________ (t_crack_vertical)____________ 8.9000E-04 Initial_radial_crack_size_(m)___________________________________________ (t_crack_radial)______________ 2.6700E-03 CS_turn_area_(m)________________________________________________________ (a_cs_turn)___________________ 1.9935E-03 - CS_turn_length_(m)______________________________________________________ (l_cond_cst)__________________ 7.7333E-02 + CS_turn_length_(m)______________________________________________________ (dr_cs_turn)__________________ 7.7333E-02 CS_turn_internal_cable_space_radius_(m)_________________________________ (r_in_cst)____________________ 7.3195E-03 CS_turn_width_(m)_______________________________________________________ (dz_cs_turn)__________________ 2.5778E-02 CS_structural_vertical_thickness_(m)____________________________________ (t_structural_vertical)_______ 5.5693E-03 diff --git a/examples/data/large_tokamak_1_MFILE.DAT b/examples/data/large_tokamak_1_MFILE.DAT index 8e2241b833..4e69243119 100644 --- a/examples/data/large_tokamak_1_MFILE.DAT +++ b/examples/data/large_tokamak_1_MFILE.DAT @@ -805,7 +805,7 @@ Initial_vertical_crack_size_(m)_________________________________________ (t_crack_vertical)____________ 8.9000E-04 Initial_radial_crack_size_(m)___________________________________________ (t_crack_radial)______________ 2.6700E-03 CS_turn_area_(m)________________________________________________________ (a_cs_turn)___________________ 1.9739E-03 - CS_turn_length_(m)______________________________________________________ (l_cond_cst)__________________ 7.6953E-02 + CS_turn_length_(m)______________________________________________________ (dr_cs_turn)__________________ 7.6953E-02 CS_turn_internal_cable_space_radius_(m)_________________________________ (r_in_cst)____________________ 7.4740E-03 CS_turn_width_(m)_______________________________________________________ (dz_cs_turn)__________________ 2.5651E-02 CS_structural_vertical_thickness_(m)____________________________________ (t_structural_vertical)_______ 5.3514E-03 diff --git a/examples/data/large_tokamak_2_MFILE.DAT b/examples/data/large_tokamak_2_MFILE.DAT index 944056871e..6e3a0aca3f 100644 --- a/examples/data/large_tokamak_2_MFILE.DAT +++ b/examples/data/large_tokamak_2_MFILE.DAT @@ -805,7 +805,7 @@ Initial_vertical_crack_size_(m)_________________________________________ (t_crack_vertical)____________ 8.9000E-04 Initial_radial_crack_size_(m)___________________________________________ (t_crack_radial)______________ 2.6700E-03 CS_turn_area_(m)________________________________________________________ (a_cs_turn)___________________ 1.9739E-03 - CS_turn_length_(m)______________________________________________________ (l_cond_cst)__________________ 7.6953E-02 + CS_turn_length_(m)______________________________________________________ (dr_cs_turn)__________________ 7.6953E-02 CS_turn_internal_cable_space_radius_(m)_________________________________ (r_in_cst)____________________ 7.4740E-03 CS_turn_width_(m)_______________________________________________________ (dz_cs_turn)__________________ 2.5651E-02 CS_structural_vertical_thickness_(m)____________________________________ (t_structural_vertical)_______ 5.3514E-03 diff --git a/examples/data/large_tokamak_3_MFILE.DAT b/examples/data/large_tokamak_3_MFILE.DAT index b2c983f232..41581b095f 100644 --- a/examples/data/large_tokamak_3_MFILE.DAT +++ b/examples/data/large_tokamak_3_MFILE.DAT @@ -805,7 +805,7 @@ Initial_vertical_crack_size_(m)_________________________________________ (t_crack_vertical)____________ 8.9000E-04 Initial_radial_crack_size_(m)___________________________________________ (t_crack_radial)______________ 2.6700E-03 CS_turn_area_(m)________________________________________________________ (a_cs_turn)___________________ 1.9739E-03 - CS_turn_length_(m)______________________________________________________ (l_cond_cst)__________________ 7.6953E-02 + CS_turn_length_(m)______________________________________________________ (dr_cs_turn)__________________ 7.6953E-02 CS_turn_internal_cable_space_radius_(m)_________________________________ (r_in_cst)____________________ 7.4740E-03 CS_turn_width_(m)_______________________________________________________ (dz_cs_turn)__________________ 2.5651E-02 CS_structural_vertical_thickness_(m)____________________________________ (t_structural_vertical)_______ 5.3514E-03 diff --git a/examples/data/large_tokamak_4_MFILE.DAT b/examples/data/large_tokamak_4_MFILE.DAT index 55ca74aaf5..89e47bd6e1 100644 --- a/examples/data/large_tokamak_4_MFILE.DAT +++ b/examples/data/large_tokamak_4_MFILE.DAT @@ -805,7 +805,7 @@ Initial_vertical_crack_size_(m)_________________________________________ (t_crack_vertical)____________ 8.9000E-04 Initial_radial_crack_size_(m)___________________________________________ (t_crack_radial)______________ 2.6700E-03 CS_turn_area_(m)________________________________________________________ (a_cs_turn)___________________ 1.9739E-03 - CS_turn_length_(m)______________________________________________________ (l_cond_cst)__________________ 7.6953E-02 + CS_turn_length_(m)______________________________________________________ (dr_cs_turn)__________________ 7.6953E-02 CS_turn_internal_cable_space_radius_(m)_________________________________ (r_in_cst)____________________ 7.4740E-03 CS_turn_width_(m)_______________________________________________________ (dz_cs_turn)__________________ 2.5651E-02 CS_structural_vertical_thickness_(m)____________________________________ (t_structural_vertical)_______ 5.3514E-03 diff --git a/examples/data/large_tokamak_nof_2_MFILE.DAT b/examples/data/large_tokamak_nof_2_MFILE.DAT index b6b0ee3373..b867cf45f2 100644 --- a/examples/data/large_tokamak_nof_2_MFILE.DAT +++ b/examples/data/large_tokamak_nof_2_MFILE.DAT @@ -767,7 +767,7 @@ Initial_vertical_crack_size_(m)__________________________________________ (t_crack_vertical)_____________ 8.89999999999999949e-04 Initial_radial_crack_size_(m)____________________________________________ (t_crack_radial)_______________ 2.66999999999999963e-03 CS_turn_area_(m)_________________________________________________________ (a_oh_turn)____________________ 1.86535883128814976e-03 - CS_turn_length_(m)_______________________________________________________ (l_cond_cst)___________________ 7.48069281140754244e-02 + CS_turn_length_(m)_______________________________________________________ (dr_cs_turn)___________________ 7.48069281140754244e-02 CS_turn_internal_cable_space_radius_(m)__________________________________ (r_in_cst)_____________________ 7.68214749060300642e-03 CS_turn_width_(m)________________________________________________________ (dz_cs_turn)___________________ 2.49356427046918093e-02 CS_structural_vertical_thickness_(m)_____________________________________ (t_structural_vertical)________ 4.78567386174289823e-03 diff --git a/examples/data/large_tokamak_nof_MFILE.DAT b/examples/data/large_tokamak_nof_MFILE.DAT index ea07a907e6..0686fe74f9 100644 --- a/examples/data/large_tokamak_nof_MFILE.DAT +++ b/examples/data/large_tokamak_nof_MFILE.DAT @@ -841,7 +841,7 @@ Initial_vertical_crack_size_(m)__________________________________________ (t_crack_vertical)_____________ 8.89999999999999949e-04 Initial_radial_crack_size_(m)____________________________________________ (t_crack_radial)_______________ 2.66999999999999963e-03 CS_turn_area_(m)_________________________________________________________ (a_oh_turn)____________________ 2.03407534401044230e-03 - CS_turn_length_(m)_______________________________________________________ (l_cond_cst)___________________ 7.81167461689958459e-02 + CS_turn_length_(m)_______________________________________________________ (dr_cs_turn)___________________ 7.81167461689958459e-02 CS_turn_internal_cable_space_radius_(m)__________________________________ (r_in_cst)_____________________ 7.90457985893884552e-03 CS_turn_width_(m)________________________________________________________ (dz_cs_turn)___________________ 2.60389153896652820e-02 CS_structural_vertical_thickness_(m)_____________________________________ (t_structural_vertical)________ 5.11487783589379547e-03 diff --git a/process/io/plot_proc.py b/process/io/plot_proc.py index 091900cf75..9c7d2a26c4 100644 --- a/process/io/plot_proc.py +++ b/process/io/plot_proc.py @@ -4429,18 +4429,18 @@ def plot_cs_coil_structure(axis, fig, mfile_data, scan, colour_scheme=1): def plot_cs_turn_structure(axis, fig, mfile_data, scan): a_cs_turn = mfile_data.data["a_cs_turn"].get_scan(scan) dz_cs_turn = mfile_data.data["dz_cs_turn"].get_scan(scan) - l_cond_cst = mfile_data.data["l_cond_cst"].get_scan(scan) + dr_cs_turn = mfile_data.data["dr_cs_turn"].get_scan(scan) ld_ratio_cst = mfile_data.data["ld_ratio_cst"].get_scan(scan) # Plot the CS turn as a rectangle representing the conductor cross-section - # Assume dz_cs_turn is the diameter and l_cond_cst is the length of the conductor cross-section + # Assume dz_cs_turn is the diameter and dr_cs_turn is the length of the conductor cross-section # Draw the conductor cross-section as a rectangle axis.add_patch( patches.Rectangle( (0, 0), - l_cond_cst, + dr_cs_turn, dz_cs_turn, edgecolor="black", facecolor="grey", @@ -4452,14 +4452,14 @@ def plot_cs_turn_structure(axis, fig, mfile_data, scan): # Draw the aspect ratio line (L/D) axis.annotate( "", - xy=(l_cond_cst, dz_cs_turn + dz_cs_turn * 0.1), + xy=(dr_cs_turn, dz_cs_turn + dz_cs_turn * 0.1), xytext=(0, dz_cs_turn + dz_cs_turn * 0.1), arrowprops={"arrowstyle": "<->", "color": "black"}, ) axis.text( - l_cond_cst / 2, + dr_cs_turn / 2, dz_cs_turn + dz_cs_turn * 0.15, - f"L = {l_cond_cst:.3f} m", + f"L = {dr_cs_turn:.3f} m", ha="center", va="bottom", fontsize=10, @@ -4467,12 +4467,12 @@ def plot_cs_turn_structure(axis, fig, mfile_data, scan): axis.annotate( "", - xy=(l_cond_cst + l_cond_cst * 0.05, dz_cs_turn), - xytext=(l_cond_cst + l_cond_cst * 0.05, 0), + xy=(dr_cs_turn + dr_cs_turn * 0.05, dz_cs_turn), + xytext=(dr_cs_turn + dr_cs_turn * 0.05, 0), arrowprops={"arrowstyle": "<->", "color": "black"}, ) axis.text( - l_cond_cst + l_cond_cst * 0.08, + dr_cs_turn + dr_cs_turn * 0.08, dz_cs_turn / 2, f"D = {dz_cs_turn:.3f} m", ha="left", @@ -4483,7 +4483,7 @@ def plot_cs_turn_structure(axis, fig, mfile_data, scan): # Show L/D ratio axis.text( - l_cond_cst / 2, + dr_cs_turn / 2, -dz_cs_turn * 0.2, f"L/D = {ld_ratio_cst:.2f}", ha="center", @@ -4513,7 +4513,7 @@ def plot_cs_turn_structure(axis, fig, mfile_data, scan): }, ) - axis.set_xlim(-l_cond_cst * 0.2, l_cond_cst * 1.2) + axis.set_xlim(-dr_cs_turn * 0.2, dr_cs_turn * 1.2) axis.set_ylim(-dz_cs_turn * 0.3, dz_cs_turn * 1.3) axis.set_aspect("equal") axis.set_xlabel("Length [m]") diff --git a/process/pfcoil.py b/process/pfcoil.py index bf6a9d0738..e6fcca9796 100644 --- a/process/pfcoil.py +++ b/process/pfcoil.py @@ -1135,19 +1135,19 @@ def ohcalc(self): # Depth/width of cs turn conduit pfv.dz_cs_turn = (pfv.a_cs_turn / pfv.ld_ratio_cst) ** 0.5 # length of cs turn conduit - pfv.l_cond_cst = pfv.ld_ratio_cst * pfv.dz_cs_turn + pfv.dr_cs_turn = pfv.ld_ratio_cst * pfv.dz_cs_turn # Radius of turn space = pfv.r_in_cst # Radius of curved outer corrner pfv.r_out_cst = 3mm from literature # pfv.ld_ratio_cst = 70 / 22 from literature - p1_cst = ((pfv.l_cond_cst - pfv.dz_cs_turn) / constants.pi) ** 2 + p1_cst = ((pfv.dr_cs_turn - pfv.dz_cs_turn) / constants.pi) ** 2 p2_cst = ( - (pfv.l_cond_cst * pfv.dz_cs_turn) + (pfv.dr_cs_turn * pfv.dz_cs_turn) - (4 - constants.pi) * (pfv.r_out_cst**2) - (pfv.a_cs_turn * pfv.f_a_cs_steel) ) / constants.pi # CS coil turn geometry calculation - stadium shape # Literature: https://doi.org/10.1016/j.fusengdes.2017.04.052 - pfv.r_in_cst = -((pfv.l_cond_cst - pfv.dz_cs_turn) / constants.pi) + math.sqrt( + pfv.r_in_cst = -((pfv.dr_cs_turn - pfv.dz_cs_turn) / constants.pi) + math.sqrt( p1_cst + p2_cst ) # Thickness of steel conduit in cs turn @@ -2074,8 +2074,8 @@ def output_cs_structure(self): op.ovarre( self.outfile, "Length of a CS turn [m]", - "(l_cond_cst)", - pfv.l_cond_cst, + "(dr_cs_turn)", + pfv.dr_cs_turn, "OP ", ) op.ovarre( @@ -2400,8 +2400,8 @@ def outpf(self): op.ovarre( self.outfile, "CS turn length (m)", - "(l_cond_cst)", - pfv.l_cond_cst, + "(dr_cs_turn)", + pfv.dr_cs_turn, ) op.ovarre( self.outfile, @@ -3656,7 +3656,7 @@ def init_pfcoil_variables(): pfv.b_cs_limit_max = 13.0 pfv.fb_cs_limit_max = 1.0 pfv.ld_ratio_cst = 70.0 / 22.0 - pfv.l_cond_cst = 0.0 + pfv.dr_cs_turn = 0.0 pfv.dz_cs_turn = 0.0 pfv.r_in_cst = 0.0 pfv.r_out_cst = 3.0e-3 diff --git a/process/tf_coil.py b/process/tf_coil.py index 765d78d6d1..5ad75453bd 100644 --- a/process/tf_coil.py +++ b/process/tf_coil.py @@ -3311,17 +3311,17 @@ def stresscl( dz_cs_turn = ( a_cs_turn / ld_ratio_cst ) ** 0.5 # width of cs turn conduit - l_cond_cst = ld_ratio_cst * dz_cs_turn # length of cs turn conduit + dr_cs_turn = ld_ratio_cst * dz_cs_turn # length of cs turn conduit # Radius of turn space = r_in_cst # Radius of curved outer corrner r_out_cst = 3mm from literature # ld_ratio_cst = 70 / 22 from literature - p1 = ((l_cond_cst - dz_cs_turn) / np.pi) ** 2 + p1 = ((dr_cs_turn - dz_cs_turn) / np.pi) ** 2 p2 = ( - (l_cond_cst * dz_cs_turn) + (dr_cs_turn * dz_cs_turn) - (4 - np.pi) * (r_out_cst**2) - (a_cs_turn * f_a_cs_steel) ) / np.pi - r_in_cst = -((l_cond_cst - dz_cs_turn) / np.pi) + np.sqrt(p1 + p2) + r_in_cst = -((dr_cs_turn - dz_cs_turn) / np.pi) + np.sqrt(p1 + p2) t_cond_oh = ( dz_cs_turn / 2 ) - r_in_cst # thickness of steel conduit in cs turn diff --git a/source/fortran/pfcoil_variables.f90 b/source/fortran/pfcoil_variables.f90 index 6ed1f50bc5..3bd814d921 100644 --- a/source/fortran/pfcoil_variables.f90 +++ b/source/fortran/pfcoil_variables.f90 @@ -396,7 +396,7 @@ module pfcoil_variables real(dp) :: ld_ratio_cst !! Ratio of CS coil turn conduit length to depth - real(dp) :: l_cond_cst + real(dp) :: dr_cs_turn !! Length of CS of CS coil turn conduit real(dp) :: dz_cs_turn diff --git a/tests/integration/data/large_tokamak_1_MFILE.DAT b/tests/integration/data/large_tokamak_1_MFILE.DAT index 2753fffb88..f7410063c4 100644 --- a/tests/integration/data/large_tokamak_1_MFILE.DAT +++ b/tests/integration/data/large_tokamak_1_MFILE.DAT @@ -804,7 +804,7 @@ Initial_vertical_crack_size_(m)_________________________________________ (t_crack_vertical)____________ 8.9000E-04 Initial_radial_crack_size_(m)___________________________________________ (t_crack_radial)______________ 2.6700E-03 CS_turn_area_(m)________________________________________________________ (a_cs_turn)___________________ 1.9739E-03 - CS_turn_length_(m)______________________________________________________ (l_cond_cst)__________________ 7.6953E-02 + CS_turn_length_(m)______________________________________________________ (dr_cs_turn)__________________ 7.6953E-02 CS_turn_internal_cable_space_radius_(m)_________________________________ (r_in_cst)____________________ 7.4740E-03 CS_turn_width_(m)_______________________________________________________ (dz_cs_turn)__________________ 2.5651E-02 CS_structural_vertical_thickness_(m)____________________________________ (t_structural_vertical)_______ 5.3514E-03 diff --git a/tests/integration/data/large_tokamak_2_MFILE.DAT b/tests/integration/data/large_tokamak_2_MFILE.DAT index 9158621bf6..f9e134a91b 100644 --- a/tests/integration/data/large_tokamak_2_MFILE.DAT +++ b/tests/integration/data/large_tokamak_2_MFILE.DAT @@ -805,7 +805,7 @@ Initial_vertical_crack_size_(m)_________________________________________ (t_crack_vertical)____________ 8.9000E-04 Initial_radial_crack_size_(m)___________________________________________ (t_crack_radial)______________ 2.6700E-03 CS_turn_area_(m)________________________________________________________ (a_cs_turn)___________________ 1.9739E-03 - CS_turn_length_(m)______________________________________________________ (l_cond_cst)__________________ 7.6953E-02 + CS_turn_length_(m)______________________________________________________ (dr_cs_turn)__________________ 7.6953E-02 CS_turn_internal_cable_space_radius_(m)_________________________________ (r_in_cst)____________________ 7.4740E-03 CS_turn_width_(m)_______________________________________________________ (dz_cs_turn)__________________ 2.5651E-02 CS_structural_vertical_thickness_(m)____________________________________ (t_structural_vertical)_______ 5.3514E-03 diff --git a/tests/integration/data/large_tokamak_3_MFILE.DAT b/tests/integration/data/large_tokamak_3_MFILE.DAT index 0f1efdc9aa..23288b0516 100644 --- a/tests/integration/data/large_tokamak_3_MFILE.DAT +++ b/tests/integration/data/large_tokamak_3_MFILE.DAT @@ -805,7 +805,7 @@ Initial_vertical_crack_size_(m)_________________________________________ (t_crack_vertical)____________ 8.9000E-04 Initial_radial_crack_size_(m)___________________________________________ (t_crack_radial)______________ 2.6700E-03 CS_turn_area_(m)________________________________________________________ (a_cs_turn)___________________ 1.9739E-03 - CS_turn_length_(m)______________________________________________________ (l_cond_cst)__________________ 7.6953E-02 + CS_turn_length_(m)______________________________________________________ (dr_cs_turn)__________________ 7.6953E-02 CS_turn_internal_cable_space_radius_(m)_________________________________ (r_in_cst)____________________ 7.4740E-03 CS_turn_width_(m)_______________________________________________________ (dz_cs_turn)__________________ 2.5651E-02 CS_structural_vertical_thickness_(m)____________________________________ (t_structural_vertical)_______ 5.3514E-03 diff --git a/tests/integration/data/large_tokamak_4_MFILE.DAT b/tests/integration/data/large_tokamak_4_MFILE.DAT index 21cd5cd8b5..ae2d8d6776 100644 --- a/tests/integration/data/large_tokamak_4_MFILE.DAT +++ b/tests/integration/data/large_tokamak_4_MFILE.DAT @@ -805,7 +805,7 @@ Initial_vertical_crack_size_(m)_________________________________________ (t_crack_vertical)____________ 8.9000E-04 Initial_radial_crack_size_(m)___________________________________________ (t_crack_radial)______________ 2.6700E-03 CS_turn_area_(m)________________________________________________________ (a_cs_turn)___________________ 1.9739E-03 - CS_turn_length_(m)______________________________________________________ (l_cond_cst)__________________ 7.6953E-02 + CS_turn_length_(m)______________________________________________________ (dr_cs_turn)__________________ 7.6953E-02 CS_turn_internal_cable_space_radius_(m)_________________________________ (r_in_cst)____________________ 7.4740E-03 CS_turn_width_(m)_______________________________________________________ (dz_cs_turn)__________________ 2.5651E-02 CS_structural_vertical_thickness_(m)____________________________________ (t_structural_vertical)_______ 5.3514E-03 diff --git a/tests/integration/data/large_tokamak_MFILE.DAT b/tests/integration/data/large_tokamak_MFILE.DAT index 614e099b0b..d526c246a8 100644 --- a/tests/integration/data/large_tokamak_MFILE.DAT +++ b/tests/integration/data/large_tokamak_MFILE.DAT @@ -808,7 +808,7 @@ Initial_vertical_crack_size_(m)_________________________________________ (t_crack_vertical)____________ 8.9000E-04 Initial_radial_crack_size_(m)___________________________________________ (t_crack_radial)______________ 2.6700E-03 CS_turn_area_(m)________________________________________________________ (a_cs_turn)___________________ 1.9813E-03 - CS_turn_length_(m)______________________________________________________ (l_cond_cst)__________________ 7.7097E-02 + CS_turn_length_(m)______________________________________________________ (dr_cs_turn)__________________ 7.7097E-02 CS_turn_internal_cable_space_radius_(m)_________________________________ (r_in_cst)____________________ 7.4684E-03 CS_turn_width_(m)_______________________________________________________ (dz_cs_turn)__________________ 2.5699E-02 CS_structural_vertical_thickness_(m)____________________________________ (t_structural_vertical)_______ 5.3812E-03 diff --git a/tests/integration/data/scan_2D_MFILE.DAT b/tests/integration/data/scan_2D_MFILE.DAT index 85bc902884..fcb1cb038a 100644 --- a/tests/integration/data/scan_2D_MFILE.DAT +++ b/tests/integration/data/scan_2D_MFILE.DAT @@ -806,7 +806,7 @@ Initial_vertical_crack_size_(m)_________________________________________ (t_crack_vertical)____________ 8.9000E-04 Initial_radial_crack_size_(m)___________________________________________ (t_crack_radial)______________ 2.6700E-03 CS_turn_area_(m)________________________________________________________ (a_cs_turn)___________________ 1.8842E-03 - CS_turn_length_(m)______________________________________________________ (l_cond_cst)__________________ 7.5184E-02 + CS_turn_length_(m)______________________________________________________ (dr_cs_turn)__________________ 7.5184E-02 CS_turn_internal_cable_space_radius_(m)_________________________________ (r_in_cst)____________________ 7.6208E-03 CS_turn_width_(m)_______________________________________________________ (dz_cs_turn)__________________ 2.5061E-02 CS_structural_vertical_thickness_(m)____________________________________ (t_structural_vertical)_______ 4.9098E-03 @@ -1969,7 +1969,7 @@ Initial_vertical_crack_size_(m)_________________________________________ (t_crack_vertical)____________ 8.9000E-04 Initial_radial_crack_size_(m)___________________________________________ (t_crack_radial)______________ 2.6700E-03 CS_turn_area_(m)________________________________________________________ (a_cs_turn)___________________ 1.8791E-03 - CS_turn_length_(m)______________________________________________________ (l_cond_cst)__________________ 7.5083E-02 + CS_turn_length_(m)______________________________________________________ (dr_cs_turn)__________________ 7.5083E-02 CS_turn_internal_cable_space_radius_(m)_________________________________ (r_in_cst)____________________ 7.5657E-03 CS_turn_width_(m)_______________________________________________________ (dz_cs_turn)__________________ 2.5028E-02 CS_structural_vertical_thickness_(m)____________________________________ (t_structural_vertical)_______ 4.9481E-03 @@ -3132,7 +3132,7 @@ Initial_vertical_crack_size_(m)_________________________________________ (t_crack_vertical)____________ 8.9000E-04 Initial_radial_crack_size_(m)___________________________________________ (t_crack_radial)______________ 2.6700E-03 CS_turn_area_(m)________________________________________________________ (a_cs_turn)___________________ 1.8833E-03 - CS_turn_length_(m)______________________________________________________ (l_cond_cst)__________________ 7.5166E-02 + CS_turn_length_(m)______________________________________________________ (dr_cs_turn)__________________ 7.5166E-02 CS_turn_internal_cable_space_radius_(m)_________________________________ (r_in_cst)____________________ 7.5551E-03 CS_turn_width_(m)_______________________________________________________ (dz_cs_turn)__________________ 2.5055E-02 CS_structural_vertical_thickness_(m)____________________________________ (t_structural_vertical)_______ 4.9725E-03 @@ -4295,7 +4295,7 @@ Initial_vertical_crack_size_(m)_________________________________________ (t_crack_vertical)____________ 8.9000E-04 Initial_radial_crack_size_(m)___________________________________________ (t_crack_radial)______________ 2.6700E-03 CS_turn_area_(m)________________________________________________________ (a_cs_turn)___________________ 1.8846E-03 - CS_turn_length_(m)______________________________________________________ (l_cond_cst)__________________ 7.5192E-02 + CS_turn_length_(m)______________________________________________________ (dr_cs_turn)__________________ 7.5192E-02 CS_turn_internal_cable_space_radius_(m)_________________________________ (r_in_cst)____________________ 7.5540E-03 CS_turn_width_(m)_______________________________________________________ (dz_cs_turn)__________________ 2.5064E-02 CS_structural_vertical_thickness_(m)____________________________________ (t_structural_vertical)_______ 4.9779E-03 @@ -5458,7 +5458,7 @@ Initial_vertical_crack_size_(m)_________________________________________ (t_crack_vertical)____________ 8.9000E-04 Initial_radial_crack_size_(m)___________________________________________ (t_crack_radial)______________ 2.6700E-03 CS_turn_area_(m)________________________________________________________ (a_cs_turn)___________________ 1.8772E-03 - CS_turn_length_(m)______________________________________________________ (l_cond_cst)__________________ 7.5043E-02 + CS_turn_length_(m)______________________________________________________ (dr_cs_turn)__________________ 7.5043E-02 CS_turn_internal_cable_space_radius_(m)_________________________________ (r_in_cst)____________________ 7.5701E-03 CS_turn_width_(m)_______________________________________________________ (dz_cs_turn)__________________ 2.5014E-02 CS_structural_vertical_thickness_(m)____________________________________ (t_structural_vertical)_______ 4.9371E-03 @@ -6621,7 +6621,7 @@ Initial_vertical_crack_size_(m)_________________________________________ (t_crack_vertical)____________ 8.9000E-04 Initial_radial_crack_size_(m)___________________________________________ (t_crack_radial)______________ 2.6700E-03 CS_turn_area_(m)________________________________________________________ (a_cs_turn)___________________ 1.8583E-03 - CS_turn_length_(m)______________________________________________________ (l_cond_cst)__________________ 7.4666E-02 + CS_turn_length_(m)______________________________________________________ (dr_cs_turn)__________________ 7.4666E-02 CS_turn_internal_cable_space_radius_(m)_________________________________ (r_in_cst)____________________ 7.5465E-03 CS_turn_width_(m)_______________________________________________________ (dz_cs_turn)__________________ 2.4889E-02 CS_structural_vertical_thickness_(m)____________________________________ (t_structural_vertical)_______ 4.8979E-03 @@ -7784,7 +7784,7 @@ Initial_vertical_crack_size_(m)_________________________________________ (t_crack_vertical)____________ 8.9000E-04 Initial_radial_crack_size_(m)___________________________________________ (t_crack_radial)______________ 2.6700E-03 CS_turn_area_(m)________________________________________________________ (a_cs_turn)___________________ 1.8554E-03 - CS_turn_length_(m)______________________________________________________ (l_cond_cst)__________________ 7.4607E-02 + CS_turn_length_(m)______________________________________________________ (dr_cs_turn)__________________ 7.4607E-02 CS_turn_internal_cable_space_radius_(m)_________________________________ (r_in_cst)____________________ 7.5344E-03 CS_turn_width_(m)_______________________________________________________ (dz_cs_turn)__________________ 2.4869E-02 CS_structural_vertical_thickness_(m)____________________________________ (t_structural_vertical)_______ 4.9001E-03 @@ -8947,7 +8947,7 @@ Initial_vertical_crack_size_(m)_________________________________________ (t_crack_vertical)____________ 8.9000E-04 Initial_radial_crack_size_(m)___________________________________________ (t_crack_radial)______________ 2.6700E-03 CS_turn_area_(m)________________________________________________________ (a_cs_turn)___________________ 1.8597E-03 - CS_turn_length_(m)______________________________________________________ (l_cond_cst)__________________ 7.4693E-02 + CS_turn_length_(m)______________________________________________________ (dr_cs_turn)__________________ 7.4693E-02 CS_turn_internal_cable_space_radius_(m)_________________________________ (r_in_cst)____________________ 7.5265E-03 CS_turn_width_(m)_______________________________________________________ (dz_cs_turn)__________________ 2.4898E-02 CS_structural_vertical_thickness_(m)____________________________________ (t_structural_vertical)_______ 4.9224E-03 @@ -10110,7 +10110,7 @@ Initial_vertical_crack_size_(m)_________________________________________ (t_crack_vertical)____________ 8.9000E-04 Initial_radial_crack_size_(m)___________________________________________ (t_crack_radial)______________ 2.6700E-03 CS_turn_area_(m)________________________________________________________ (a_cs_turn)___________________ 1.8634E-03 - CS_turn_length_(m)______________________________________________________ (l_cond_cst)__________________ 7.4767E-02 + CS_turn_length_(m)______________________________________________________ (dr_cs_turn)__________________ 7.4767E-02 CS_turn_internal_cable_space_radius_(m)_________________________________ (r_in_cst)____________________ 7.5155E-03 CS_turn_width_(m)_______________________________________________________ (dz_cs_turn)__________________ 2.4922E-02 CS_structural_vertical_thickness_(m)____________________________________ (t_structural_vertical)_______ 4.9457E-03 @@ -11273,7 +11273,7 @@ Initial_vertical_crack_size_(m)_________________________________________ (t_crack_vertical)____________ 8.9000E-04 Initial_radial_crack_size_(m)___________________________________________ (t_crack_radial)______________ 2.6700E-03 CS_turn_area_(m)________________________________________________________ (a_cs_turn)___________________ 1.8638E-03 - CS_turn_length_(m)______________________________________________________ (l_cond_cst)__________________ 7.4776E-02 + CS_turn_length_(m)______________________________________________________ (dr_cs_turn)__________________ 7.4776E-02 CS_turn_internal_cable_space_radius_(m)_________________________________ (r_in_cst)____________________ 7.5148E-03 CS_turn_width_(m)_______________________________________________________ (dz_cs_turn)__________________ 2.4925E-02 CS_structural_vertical_thickness_(m)____________________________________ (t_structural_vertical)_______ 4.9479E-03 @@ -12436,7 +12436,7 @@ Initial_vertical_crack_size_(m)_________________________________________ (t_crack_vertical)____________ 8.9000E-04 Initial_radial_crack_size_(m)___________________________________________ (t_crack_radial)______________ 2.6700E-03 CS_turn_area_(m)________________________________________________________ (a_cs_turn)___________________ 1.8627E-03 - CS_turn_length_(m)______________________________________________________ (l_cond_cst)__________________ 7.4754E-02 + CS_turn_length_(m)______________________________________________________ (dr_cs_turn)__________________ 7.4754E-02 CS_turn_internal_cable_space_radius_(m)_________________________________ (r_in_cst)____________________ 7.5297E-03 CS_turn_width_(m)_______________________________________________________ (dz_cs_turn)__________________ 2.4918E-02 CS_structural_vertical_thickness_(m)____________________________________ (t_structural_vertical)_______ 4.9294E-03 @@ -13599,7 +13599,7 @@ Initial_vertical_crack_size_(m)_________________________________________ (t_crack_vertical)____________ 8.9000E-04 Initial_radial_crack_size_(m)___________________________________________ (t_crack_radial)______________ 2.6700E-03 CS_turn_area_(m)________________________________________________________ (a_cs_turn)___________________ 1.8605E-03 - CS_turn_length_(m)______________________________________________________ (l_cond_cst)__________________ 7.4710E-02 + CS_turn_length_(m)______________________________________________________ (dr_cs_turn)__________________ 7.4710E-02 CS_turn_internal_cable_space_radius_(m)_________________________________ (r_in_cst)____________________ 7.5285E-03 CS_turn_width_(m)_______________________________________________________ (dz_cs_turn)__________________ 2.4903E-02 CS_structural_vertical_thickness_(m)____________________________________ (t_structural_vertical)_______ 4.9232E-03 @@ -14762,7 +14762,7 @@ Initial_vertical_crack_size_(m)_________________________________________ (t_crack_vertical)____________ 8.9000E-04 Initial_radial_crack_size_(m)___________________________________________ (t_crack_radial)______________ 2.6700E-03 CS_turn_area_(m)________________________________________________________ (a_cs_turn)___________________ 1.8613E-03 - CS_turn_length_(m)______________________________________________________ (l_cond_cst)__________________ 7.4725E-02 + CS_turn_length_(m)______________________________________________________ (dr_cs_turn)__________________ 7.4725E-02 CS_turn_internal_cable_space_radius_(m)_________________________________ (r_in_cst)____________________ 7.5277E-03 CS_turn_width_(m)_______________________________________________________ (dz_cs_turn)__________________ 2.4908E-02 CS_structural_vertical_thickness_(m)____________________________________ (t_structural_vertical)_______ 4.9265E-03 @@ -15925,7 +15925,7 @@ Initial_vertical_crack_size_(m)_________________________________________ (t_crack_vertical)____________ 8.9000E-04 Initial_radial_crack_size_(m)___________________________________________ (t_crack_radial)______________ 2.6700E-03 CS_turn_area_(m)________________________________________________________ (a_cs_turn)___________________ 1.8640E-03 - CS_turn_length_(m)______________________________________________________ (l_cond_cst)__________________ 7.4780E-02 + CS_turn_length_(m)______________________________________________________ (dr_cs_turn)__________________ 7.4780E-02 CS_turn_internal_cable_space_radius_(m)_________________________________ (r_in_cst)____________________ 7.5206E-03 CS_turn_width_(m)_______________________________________________________ (dz_cs_turn)__________________ 2.4927E-02 CS_structural_vertical_thickness_(m)____________________________________ (t_structural_vertical)_______ 4.9428E-03 @@ -17088,7 +17088,7 @@ Initial_vertical_crack_size_(m)_________________________________________ (t_crack_vertical)____________ 8.9000E-04 Initial_radial_crack_size_(m)___________________________________________ (t_crack_radial)______________ 2.6700E-03 CS_turn_area_(m)________________________________________________________ (a_cs_turn)___________________ 1.8669E-03 - CS_turn_length_(m)______________________________________________________ (l_cond_cst)__________________ 7.4837E-02 + CS_turn_length_(m)______________________________________________________ (dr_cs_turn)__________________ 7.4837E-02 CS_turn_internal_cable_space_radius_(m)_________________________________ (r_in_cst)____________________ 7.5116E-03 CS_turn_width_(m)_______________________________________________________ (dz_cs_turn)__________________ 2.4946E-02 CS_structural_vertical_thickness_(m)____________________________________ (t_structural_vertical)_______ 4.9612E-03 diff --git a/tests/unit/data/large_tokamak_MFILE.DAT b/tests/unit/data/large_tokamak_MFILE.DAT index 3a2ae345ba..cd86d855d7 100644 --- a/tests/unit/data/large_tokamak_MFILE.DAT +++ b/tests/unit/data/large_tokamak_MFILE.DAT @@ -808,7 +808,7 @@ Initial_vertical_crack_size_(m)_________________________________________ (t_crack_vertical)____________ 8.9000E-04 Initial_radial_crack_size_(m)___________________________________________ (t_crack_radial)______________ 2.6700E-03 CS_turn_area_(m)________________________________________________________ (a_cs_turn)___________________ 1.9813E-03 - CS_turn_length_(m)______________________________________________________ (l_cond_cst)__________________ 7.7097E-02 + CS_turn_length_(m)______________________________________________________ (dr_cs_turn)__________________ 7.7097E-02 CS_turn_internal_cable_space_radius_(m)_________________________________ (r_in_cst)____________________ 7.4684E-03 CS_turn_width_(m)_______________________________________________________ (dz_cs_turn)__________________ 2.5699E-02 CS_structural_vertical_thickness_(m)____________________________________ (t_structural_vertical)_______ 5.3812E-03 From a337a725c9e179dcba296728ee4ca3882afa7751 Mon Sep 17 00:00:00 2001 From: mn3981 Date: Tue, 17 Jun 2025 13:55:39 +0100 Subject: [PATCH 5/8] =?UTF-8?q?=F0=9F=94=84=20Rename=20variable=20r=5Fin?= =?UTF-8?q?=5Fcst=20to=20radius=5Fcs=5Fturn=5Fcable=5Fspace=20for=20consis?= =?UTF-8?q?tency=20across=20multiple=20files?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../proc-pages/eng-models/central-solenoid.md | 2 +- .../data/csv_output_large_tokamak_MFILE.DAT | 2 +- examples/data/large_tokamak_1_MFILE.DAT | 2 +- examples/data/large_tokamak_2_MFILE.DAT | 2 +- examples/data/large_tokamak_3_MFILE.DAT | 2 +- examples/data/large_tokamak_4_MFILE.DAT | 2 +- examples/data/large_tokamak_nof_2_MFILE.DAT | 2 +- examples/data/large_tokamak_nof_MFILE.DAT | 2 +- process/pfcoil.py | 34 ++++++++++++------- process/tf_coil.py | 10 +++--- source/fortran/pfcoil_variables.f90 | 2 +- .../data/large_tokamak_2_MFILE.DAT | 2 +- .../data/large_tokamak_3_MFILE.DAT | 2 +- .../data/large_tokamak_4_MFILE.DAT | 2 +- .../integration/data/large_tokamak_MFILE.DAT | 2 +- tests/integration/data/scan_2D_MFILE.DAT | 30 ++++++++-------- tests/unit/data/large_tokamak_MFILE.DAT | 2 +- 17 files changed, 56 insertions(+), 46 deletions(-) diff --git a/documentation/proc-pages/eng-models/central-solenoid.md b/documentation/proc-pages/eng-models/central-solenoid.md index b4c7726c78..ed4536b50d 100644 --- a/documentation/proc-pages/eng-models/central-solenoid.md +++ b/documentation/proc-pages/eng-models/central-solenoid.md @@ -98,7 +98,7 @@ An example output follows. Note that in this example the cycle life is *not* su Initial radial crack size (m) (t_crack_radial) 2.670E-03 CS turn area (m) (a_cs_turn) 1.904E-03 CS turn length (m) (dr_cs_turn) 7.557E-02 - CS turn internal cable space radius (m) (r_in_cst) 6.732E-03 + CS turn internal cable space radius (m) (radius_cs_turn_cable_space) 6.732E-03 CS turn width (m) (dz_cs_turn) 2.519E-02 CS structural vertical thickness (m) (t_structural_vertical) 5.863E-03 CS structural radial thickness (m) (t_structural_radial) 5.863E-03 diff --git a/examples/data/csv_output_large_tokamak_MFILE.DAT b/examples/data/csv_output_large_tokamak_MFILE.DAT index 2ef85cfcc6..daf937063f 100644 --- a/examples/data/csv_output_large_tokamak_MFILE.DAT +++ b/examples/data/csv_output_large_tokamak_MFILE.DAT @@ -811,7 +811,7 @@ Initial_radial_crack_size_(m)___________________________________________ (t_crack_radial)______________ 2.6700E-03 CS_turn_area_(m)________________________________________________________ (a_cs_turn)___________________ 1.9935E-03 CS_turn_length_(m)______________________________________________________ (dr_cs_turn)__________________ 7.7333E-02 - CS_turn_internal_cable_space_radius_(m)_________________________________ (r_in_cst)____________________ 7.3195E-03 + CS_turn_internal_cable_space_radius_(m)_________________________________ (radius_cs_turn_cable_space)____________________ 7.3195E-03 CS_turn_width_(m)_______________________________________________________ (dz_cs_turn)__________________ 2.5778E-02 CS_structural_vertical_thickness_(m)____________________________________ (t_structural_vertical)_______ 5.5693E-03 CS_structural_radial_thickness_(m)______________________________________ (t_structural_radial)_________ 5.5693E-03 diff --git a/examples/data/large_tokamak_1_MFILE.DAT b/examples/data/large_tokamak_1_MFILE.DAT index 4e69243119..031278e0ca 100644 --- a/examples/data/large_tokamak_1_MFILE.DAT +++ b/examples/data/large_tokamak_1_MFILE.DAT @@ -806,7 +806,7 @@ Initial_radial_crack_size_(m)___________________________________________ (t_crack_radial)______________ 2.6700E-03 CS_turn_area_(m)________________________________________________________ (a_cs_turn)___________________ 1.9739E-03 CS_turn_length_(m)______________________________________________________ (dr_cs_turn)__________________ 7.6953E-02 - CS_turn_internal_cable_space_radius_(m)_________________________________ (r_in_cst)____________________ 7.4740E-03 + CS_turn_internal_cable_space_radius_(m)_________________________________ (radius_cs_turn_cable_space)____________________ 7.4740E-03 CS_turn_width_(m)_______________________________________________________ (dz_cs_turn)__________________ 2.5651E-02 CS_structural_vertical_thickness_(m)____________________________________ (t_structural_vertical)_______ 5.3514E-03 CS_structural_radial_thickness_(m)______________________________________ (t_structural_radial)_________ 5.3514E-03 diff --git a/examples/data/large_tokamak_2_MFILE.DAT b/examples/data/large_tokamak_2_MFILE.DAT index 6e3a0aca3f..677f2afe52 100644 --- a/examples/data/large_tokamak_2_MFILE.DAT +++ b/examples/data/large_tokamak_2_MFILE.DAT @@ -806,7 +806,7 @@ Initial_radial_crack_size_(m)___________________________________________ (t_crack_radial)______________ 2.6700E-03 CS_turn_area_(m)________________________________________________________ (a_cs_turn)___________________ 1.9739E-03 CS_turn_length_(m)______________________________________________________ (dr_cs_turn)__________________ 7.6953E-02 - CS_turn_internal_cable_space_radius_(m)_________________________________ (r_in_cst)____________________ 7.4740E-03 + CS_turn_internal_cable_space_radius_(m)_________________________________ (radius_cs_turn_cable_space)____________________ 7.4740E-03 CS_turn_width_(m)_______________________________________________________ (dz_cs_turn)__________________ 2.5651E-02 CS_structural_vertical_thickness_(m)____________________________________ (t_structural_vertical)_______ 5.3514E-03 CS_structural_radial_thickness_(m)______________________________________ (t_structural_radial)_________ 5.3514E-03 diff --git a/examples/data/large_tokamak_3_MFILE.DAT b/examples/data/large_tokamak_3_MFILE.DAT index 41581b095f..d776e9df8d 100644 --- a/examples/data/large_tokamak_3_MFILE.DAT +++ b/examples/data/large_tokamak_3_MFILE.DAT @@ -806,7 +806,7 @@ Initial_radial_crack_size_(m)___________________________________________ (t_crack_radial)______________ 2.6700E-03 CS_turn_area_(m)________________________________________________________ (a_cs_turn)___________________ 1.9739E-03 CS_turn_length_(m)______________________________________________________ (dr_cs_turn)__________________ 7.6953E-02 - CS_turn_internal_cable_space_radius_(m)_________________________________ (r_in_cst)____________________ 7.4740E-03 + CS_turn_internal_cable_space_radius_(m)_________________________________ (radius_cs_turn_cable_space)____________________ 7.4740E-03 CS_turn_width_(m)_______________________________________________________ (dz_cs_turn)__________________ 2.5651E-02 CS_structural_vertical_thickness_(m)____________________________________ (t_structural_vertical)_______ 5.3514E-03 CS_structural_radial_thickness_(m)______________________________________ (t_structural_radial)_________ 5.3514E-03 diff --git a/examples/data/large_tokamak_4_MFILE.DAT b/examples/data/large_tokamak_4_MFILE.DAT index 89e47bd6e1..a3ed2b1c21 100644 --- a/examples/data/large_tokamak_4_MFILE.DAT +++ b/examples/data/large_tokamak_4_MFILE.DAT @@ -806,7 +806,7 @@ Initial_radial_crack_size_(m)___________________________________________ (t_crack_radial)______________ 2.6700E-03 CS_turn_area_(m)________________________________________________________ (a_cs_turn)___________________ 1.9739E-03 CS_turn_length_(m)______________________________________________________ (dr_cs_turn)__________________ 7.6953E-02 - CS_turn_internal_cable_space_radius_(m)_________________________________ (r_in_cst)____________________ 7.4740E-03 + CS_turn_internal_cable_space_radius_(m)_________________________________ (radius_cs_turn_cable_space)____________________ 7.4740E-03 CS_turn_width_(m)_______________________________________________________ (dz_cs_turn)__________________ 2.5651E-02 CS_structural_vertical_thickness_(m)____________________________________ (t_structural_vertical)_______ 5.3514E-03 CS_structural_radial_thickness_(m)______________________________________ (t_structural_radial)_________ 5.3514E-03 diff --git a/examples/data/large_tokamak_nof_2_MFILE.DAT b/examples/data/large_tokamak_nof_2_MFILE.DAT index b867cf45f2..6bed24e088 100644 --- a/examples/data/large_tokamak_nof_2_MFILE.DAT +++ b/examples/data/large_tokamak_nof_2_MFILE.DAT @@ -768,7 +768,7 @@ Initial_radial_crack_size_(m)____________________________________________ (t_crack_radial)_______________ 2.66999999999999963e-03 CS_turn_area_(m)_________________________________________________________ (a_oh_turn)____________________ 1.86535883128814976e-03 CS_turn_length_(m)_______________________________________________________ (dr_cs_turn)___________________ 7.48069281140754244e-02 - CS_turn_internal_cable_space_radius_(m)__________________________________ (r_in_cst)_____________________ 7.68214749060300642e-03 + CS_turn_internal_cable_space_radius_(m)__________________________________ (radius_cs_turn_cable_space)_____________________ 7.68214749060300642e-03 CS_turn_width_(m)________________________________________________________ (dz_cs_turn)___________________ 2.49356427046918093e-02 CS_structural_vertical_thickness_(m)_____________________________________ (t_structural_vertical)________ 4.78567386174289823e-03 CS_structural_radial_thickness_(m)_______________________________________ (t_structural_radial)__________ 4.78567386174289823e-03 diff --git a/examples/data/large_tokamak_nof_MFILE.DAT b/examples/data/large_tokamak_nof_MFILE.DAT index 0686fe74f9..0622f0ad9b 100644 --- a/examples/data/large_tokamak_nof_MFILE.DAT +++ b/examples/data/large_tokamak_nof_MFILE.DAT @@ -842,7 +842,7 @@ Initial_radial_crack_size_(m)____________________________________________ (t_crack_radial)_______________ 2.66999999999999963e-03 CS_turn_area_(m)_________________________________________________________ (a_oh_turn)____________________ 2.03407534401044230e-03 CS_turn_length_(m)_______________________________________________________ (dr_cs_turn)___________________ 7.81167461689958459e-02 - CS_turn_internal_cable_space_radius_(m)__________________________________ (r_in_cst)_____________________ 7.90457985893884552e-03 + CS_turn_internal_cable_space_radius_(m)__________________________________ (radius_cs_turn_cable_space)_____________________ 7.90457985893884552e-03 CS_turn_width_(m)________________________________________________________ (dz_cs_turn)___________________ 2.60389153896652820e-02 CS_structural_vertical_thickness_(m)_____________________________________ (t_structural_vertical)________ 5.11487783589379547e-03 CS_structural_radial_thickness_(m)_______________________________________ (t_structural_radial)__________ 5.11487783589379547e-03 diff --git a/process/pfcoil.py b/process/pfcoil.py index e6fcca9796..3bf510e0d6 100644 --- a/process/pfcoil.py +++ b/process/pfcoil.py @@ -1134,24 +1134,32 @@ def ohcalc(self): # Depth/width of cs turn conduit pfv.dz_cs_turn = (pfv.a_cs_turn / pfv.ld_ratio_cst) ** 0.5 + # length of cs turn conduit pfv.dr_cs_turn = pfv.ld_ratio_cst * pfv.dz_cs_turn - # Radius of turn space = pfv.r_in_cst + + # Radius of turn space = pfv.radius_cs_turn_cable_space # Radius of curved outer corrner pfv.r_out_cst = 3mm from literature # pfv.ld_ratio_cst = 70 / 22 from literature - p1_cst = ((pfv.dr_cs_turn - pfv.dz_cs_turn) / constants.pi) ** 2 - p2_cst = ( - (pfv.dr_cs_turn * pfv.dz_cs_turn) - - (4 - constants.pi) * (pfv.r_out_cst**2) - - (pfv.a_cs_turn * pfv.f_a_cs_steel) - ) / constants.pi + # CS coil turn geometry calculation - stadium shape # Literature: https://doi.org/10.1016/j.fusengdes.2017.04.052 - pfv.r_in_cst = -((pfv.dr_cs_turn - pfv.dz_cs_turn) / constants.pi) + math.sqrt( - p1_cst + p2_cst + pfv.radius_cs_turn_cable_space = -( + (pfv.dr_cs_turn - pfv.dz_cs_turn) / constants.pi + ) + math.sqrt( + (((pfv.dr_cs_turn - pfv.dz_cs_turn) / constants.pi) ** 2) + + ( + ( + (pfv.dr_cs_turn * pfv.dz_cs_turn) + - (4 - constants.pi) * (pfv.r_out_cst**2) + - (pfv.a_cs_turn * pfv.f_a_cs_steel) + ) + / constants.pi + ) ) + # Thickness of steel conduit in cs turn - csfv.t_structural_radial = (pfv.dz_cs_turn / 2) - pfv.r_in_cst + csfv.t_structural_radial = (pfv.dz_cs_turn / 2) - pfv.radius_cs_turn_cable_space # In this model the vertical and radial have the same thickness csfv.t_structural_vertical = csfv.t_structural_radial # add a check for negative conduit thickness @@ -2406,8 +2414,8 @@ def outpf(self): op.ovarre( self.outfile, "CS turn internal cable space radius (m)", - "(r_in_cst)", - pfv.r_in_cst, + "(radius_cs_turn_cable_space)", + pfv.radius_cs_turn_cable_space, ) op.ovarre( self.outfile, @@ -3658,5 +3666,5 @@ def init_pfcoil_variables(): pfv.ld_ratio_cst = 70.0 / 22.0 pfv.dr_cs_turn = 0.0 pfv.dz_cs_turn = 0.0 - pfv.r_in_cst = 0.0 + pfv.radius_cs_turn_cable_space = 0.0 pfv.r_out_cst = 3.0e-3 diff --git a/process/tf_coil.py b/process/tf_coil.py index 5ad75453bd..aec420cae0 100644 --- a/process/tf_coil.py +++ b/process/tf_coil.py @@ -3312,7 +3312,7 @@ def stresscl( a_cs_turn / ld_ratio_cst ) ** 0.5 # width of cs turn conduit dr_cs_turn = ld_ratio_cst * dz_cs_turn # length of cs turn conduit - # Radius of turn space = r_in_cst + # Radius of turn space = radius_cs_turn_cable_space # Radius of curved outer corrner r_out_cst = 3mm from literature # ld_ratio_cst = 70 / 22 from literature p1 = ((dr_cs_turn - dz_cs_turn) / np.pi) ** 2 @@ -3321,16 +3321,18 @@ def stresscl( - (4 - np.pi) * (r_out_cst**2) - (a_cs_turn * f_a_cs_steel) ) / np.pi - r_in_cst = -((dr_cs_turn - dz_cs_turn) / np.pi) + np.sqrt(p1 + p2) + radius_cs_turn_cable_space = -( + (dr_cs_turn - dz_cs_turn) / np.pi + ) + np.sqrt(p1 + p2) t_cond_oh = ( dz_cs_turn / 2 - ) - r_in_cst # thickness of steel conduit in cs turn + ) - radius_cs_turn_cable_space # thickness of steel conduit in cs turn # OH/CS conduit thickness calculated assuming square conduit [m] # The CS insulation layer is assumed to the same as the TF one # CS turn cable space thickness - t_cable_oh = r_in_cst * 2 + t_cable_oh = radius_cs_turn_cable_space * 2 # -# # Smeared elastic properties of the CS diff --git a/source/fortran/pfcoil_variables.f90 b/source/fortran/pfcoil_variables.f90 index 3bd814d921..90f723409a 100644 --- a/source/fortran/pfcoil_variables.f90 +++ b/source/fortran/pfcoil_variables.f90 @@ -405,6 +405,6 @@ module pfcoil_variables real(dp) :: r_out_cst !! Length of CS of CS coil turn conduit length - real(dp) :: r_in_cst + real(dp) :: radius_cs_turn_cable_space !! Length of CS of CS coil turn conduit length end module pfcoil_variables diff --git a/tests/integration/data/large_tokamak_2_MFILE.DAT b/tests/integration/data/large_tokamak_2_MFILE.DAT index f9e134a91b..c0420d66de 100644 --- a/tests/integration/data/large_tokamak_2_MFILE.DAT +++ b/tests/integration/data/large_tokamak_2_MFILE.DAT @@ -806,7 +806,7 @@ Initial_radial_crack_size_(m)___________________________________________ (t_crack_radial)______________ 2.6700E-03 CS_turn_area_(m)________________________________________________________ (a_cs_turn)___________________ 1.9739E-03 CS_turn_length_(m)______________________________________________________ (dr_cs_turn)__________________ 7.6953E-02 - CS_turn_internal_cable_space_radius_(m)_________________________________ (r_in_cst)____________________ 7.4740E-03 + CS_turn_internal_cable_space_radius_(m)_________________________________ (radius_cs_turn_cable_space)____________________ 7.4740E-03 CS_turn_width_(m)_______________________________________________________ (dz_cs_turn)__________________ 2.5651E-02 CS_structural_vertical_thickness_(m)____________________________________ (t_structural_vertical)_______ 5.3514E-03 CS_structural_radial_thickness_(m)______________________________________ (t_structural_radial)_________ 5.3514E-03 diff --git a/tests/integration/data/large_tokamak_3_MFILE.DAT b/tests/integration/data/large_tokamak_3_MFILE.DAT index 23288b0516..503e79a8e6 100644 --- a/tests/integration/data/large_tokamak_3_MFILE.DAT +++ b/tests/integration/data/large_tokamak_3_MFILE.DAT @@ -806,7 +806,7 @@ Initial_radial_crack_size_(m)___________________________________________ (t_crack_radial)______________ 2.6700E-03 CS_turn_area_(m)________________________________________________________ (a_cs_turn)___________________ 1.9739E-03 CS_turn_length_(m)______________________________________________________ (dr_cs_turn)__________________ 7.6953E-02 - CS_turn_internal_cable_space_radius_(m)_________________________________ (r_in_cst)____________________ 7.4740E-03 + CS_turn_internal_cable_space_radius_(m)_________________________________ (radius_cs_turn_cable_space)____________________ 7.4740E-03 CS_turn_width_(m)_______________________________________________________ (dz_cs_turn)__________________ 2.5651E-02 CS_structural_vertical_thickness_(m)____________________________________ (t_structural_vertical)_______ 5.3514E-03 CS_structural_radial_thickness_(m)______________________________________ (t_structural_radial)_________ 5.3514E-03 diff --git a/tests/integration/data/large_tokamak_4_MFILE.DAT b/tests/integration/data/large_tokamak_4_MFILE.DAT index ae2d8d6776..ed0bc6ce3a 100644 --- a/tests/integration/data/large_tokamak_4_MFILE.DAT +++ b/tests/integration/data/large_tokamak_4_MFILE.DAT @@ -806,7 +806,7 @@ Initial_radial_crack_size_(m)___________________________________________ (t_crack_radial)______________ 2.6700E-03 CS_turn_area_(m)________________________________________________________ (a_cs_turn)___________________ 1.9739E-03 CS_turn_length_(m)______________________________________________________ (dr_cs_turn)__________________ 7.6953E-02 - CS_turn_internal_cable_space_radius_(m)_________________________________ (r_in_cst)____________________ 7.4740E-03 + CS_turn_internal_cable_space_radius_(m)_________________________________ (radius_cs_turn_cable_space)____________________ 7.4740E-03 CS_turn_width_(m)_______________________________________________________ (dz_cs_turn)__________________ 2.5651E-02 CS_structural_vertical_thickness_(m)____________________________________ (t_structural_vertical)_______ 5.3514E-03 CS_structural_radial_thickness_(m)______________________________________ (t_structural_radial)_________ 5.3514E-03 diff --git a/tests/integration/data/large_tokamak_MFILE.DAT b/tests/integration/data/large_tokamak_MFILE.DAT index d526c246a8..089c2c8c58 100644 --- a/tests/integration/data/large_tokamak_MFILE.DAT +++ b/tests/integration/data/large_tokamak_MFILE.DAT @@ -809,7 +809,7 @@ Initial_radial_crack_size_(m)___________________________________________ (t_crack_radial)______________ 2.6700E-03 CS_turn_area_(m)________________________________________________________ (a_cs_turn)___________________ 1.9813E-03 CS_turn_length_(m)______________________________________________________ (dr_cs_turn)__________________ 7.7097E-02 - CS_turn_internal_cable_space_radius_(m)_________________________________ (r_in_cst)____________________ 7.4684E-03 + CS_turn_internal_cable_space_radius_(m)_________________________________ (radius_cs_turn_cable_space)____________________ 7.4684E-03 CS_turn_width_(m)_______________________________________________________ (dz_cs_turn)__________________ 2.5699E-02 CS_structural_vertical_thickness_(m)____________________________________ (t_structural_vertical)_______ 5.3812E-03 CS_structural_radial_thickness_(m)______________________________________ (t_structural_radial)_________ 5.3812E-03 diff --git a/tests/integration/data/scan_2D_MFILE.DAT b/tests/integration/data/scan_2D_MFILE.DAT index fcb1cb038a..be6df9fa1d 100644 --- a/tests/integration/data/scan_2D_MFILE.DAT +++ b/tests/integration/data/scan_2D_MFILE.DAT @@ -807,7 +807,7 @@ Initial_radial_crack_size_(m)___________________________________________ (t_crack_radial)______________ 2.6700E-03 CS_turn_area_(m)________________________________________________________ (a_cs_turn)___________________ 1.8842E-03 CS_turn_length_(m)______________________________________________________ (dr_cs_turn)__________________ 7.5184E-02 - CS_turn_internal_cable_space_radius_(m)_________________________________ (r_in_cst)____________________ 7.6208E-03 + CS_turn_internal_cable_space_radius_(m)_________________________________ (radius_cs_turn_cable_space)____________________ 7.6208E-03 CS_turn_width_(m)_______________________________________________________ (dz_cs_turn)__________________ 2.5061E-02 CS_structural_vertical_thickness_(m)____________________________________ (t_structural_vertical)_______ 4.9098E-03 CS_structural_radial_thickness_(m)______________________________________ (t_structural_radial)_________ 4.9098E-03 @@ -1970,7 +1970,7 @@ Initial_radial_crack_size_(m)___________________________________________ (t_crack_radial)______________ 2.6700E-03 CS_turn_area_(m)________________________________________________________ (a_cs_turn)___________________ 1.8791E-03 CS_turn_length_(m)______________________________________________________ (dr_cs_turn)__________________ 7.5083E-02 - CS_turn_internal_cable_space_radius_(m)_________________________________ (r_in_cst)____________________ 7.5657E-03 + CS_turn_internal_cable_space_radius_(m)_________________________________ (radius_cs_turn_cable_space)____________________ 7.5657E-03 CS_turn_width_(m)_______________________________________________________ (dz_cs_turn)__________________ 2.5028E-02 CS_structural_vertical_thickness_(m)____________________________________ (t_structural_vertical)_______ 4.9481E-03 CS_structural_radial_thickness_(m)______________________________________ (t_structural_radial)_________ 4.9481E-03 @@ -3133,7 +3133,7 @@ Initial_radial_crack_size_(m)___________________________________________ (t_crack_radial)______________ 2.6700E-03 CS_turn_area_(m)________________________________________________________ (a_cs_turn)___________________ 1.8833E-03 CS_turn_length_(m)______________________________________________________ (dr_cs_turn)__________________ 7.5166E-02 - CS_turn_internal_cable_space_radius_(m)_________________________________ (r_in_cst)____________________ 7.5551E-03 + CS_turn_internal_cable_space_radius_(m)_________________________________ (radius_cs_turn_cable_space)____________________ 7.5551E-03 CS_turn_width_(m)_______________________________________________________ (dz_cs_turn)__________________ 2.5055E-02 CS_structural_vertical_thickness_(m)____________________________________ (t_structural_vertical)_______ 4.9725E-03 CS_structural_radial_thickness_(m)______________________________________ (t_structural_radial)_________ 4.9725E-03 @@ -4296,7 +4296,7 @@ Initial_radial_crack_size_(m)___________________________________________ (t_crack_radial)______________ 2.6700E-03 CS_turn_area_(m)________________________________________________________ (a_cs_turn)___________________ 1.8846E-03 CS_turn_length_(m)______________________________________________________ (dr_cs_turn)__________________ 7.5192E-02 - CS_turn_internal_cable_space_radius_(m)_________________________________ (r_in_cst)____________________ 7.5540E-03 + CS_turn_internal_cable_space_radius_(m)_________________________________ (radius_cs_turn_cable_space)____________________ 7.5540E-03 CS_turn_width_(m)_______________________________________________________ (dz_cs_turn)__________________ 2.5064E-02 CS_structural_vertical_thickness_(m)____________________________________ (t_structural_vertical)_______ 4.9779E-03 CS_structural_radial_thickness_(m)______________________________________ (t_structural_radial)_________ 4.9779E-03 @@ -5459,7 +5459,7 @@ Initial_radial_crack_size_(m)___________________________________________ (t_crack_radial)______________ 2.6700E-03 CS_turn_area_(m)________________________________________________________ (a_cs_turn)___________________ 1.8772E-03 CS_turn_length_(m)______________________________________________________ (dr_cs_turn)__________________ 7.5043E-02 - CS_turn_internal_cable_space_radius_(m)_________________________________ (r_in_cst)____________________ 7.5701E-03 + CS_turn_internal_cable_space_radius_(m)_________________________________ (radius_cs_turn_cable_space)____________________ 7.5701E-03 CS_turn_width_(m)_______________________________________________________ (dz_cs_turn)__________________ 2.5014E-02 CS_structural_vertical_thickness_(m)____________________________________ (t_structural_vertical)_______ 4.9371E-03 CS_structural_radial_thickness_(m)______________________________________ (t_structural_radial)_________ 4.9371E-03 @@ -6622,7 +6622,7 @@ Initial_radial_crack_size_(m)___________________________________________ (t_crack_radial)______________ 2.6700E-03 CS_turn_area_(m)________________________________________________________ (a_cs_turn)___________________ 1.8583E-03 CS_turn_length_(m)______________________________________________________ (dr_cs_turn)__________________ 7.4666E-02 - CS_turn_internal_cable_space_radius_(m)_________________________________ (r_in_cst)____________________ 7.5465E-03 + CS_turn_internal_cable_space_radius_(m)_________________________________ (radius_cs_turn_cable_space)____________________ 7.5465E-03 CS_turn_width_(m)_______________________________________________________ (dz_cs_turn)__________________ 2.4889E-02 CS_structural_vertical_thickness_(m)____________________________________ (t_structural_vertical)_______ 4.8979E-03 CS_structural_radial_thickness_(m)______________________________________ (t_structural_radial)_________ 4.8979E-03 @@ -7785,7 +7785,7 @@ Initial_radial_crack_size_(m)___________________________________________ (t_crack_radial)______________ 2.6700E-03 CS_turn_area_(m)________________________________________________________ (a_cs_turn)___________________ 1.8554E-03 CS_turn_length_(m)______________________________________________________ (dr_cs_turn)__________________ 7.4607E-02 - CS_turn_internal_cable_space_radius_(m)_________________________________ (r_in_cst)____________________ 7.5344E-03 + CS_turn_internal_cable_space_radius_(m)_________________________________ (radius_cs_turn_cable_space)____________________ 7.5344E-03 CS_turn_width_(m)_______________________________________________________ (dz_cs_turn)__________________ 2.4869E-02 CS_structural_vertical_thickness_(m)____________________________________ (t_structural_vertical)_______ 4.9001E-03 CS_structural_radial_thickness_(m)______________________________________ (t_structural_radial)_________ 4.9001E-03 @@ -8948,7 +8948,7 @@ Initial_radial_crack_size_(m)___________________________________________ (t_crack_radial)______________ 2.6700E-03 CS_turn_area_(m)________________________________________________________ (a_cs_turn)___________________ 1.8597E-03 CS_turn_length_(m)______________________________________________________ (dr_cs_turn)__________________ 7.4693E-02 - CS_turn_internal_cable_space_radius_(m)_________________________________ (r_in_cst)____________________ 7.5265E-03 + CS_turn_internal_cable_space_radius_(m)_________________________________ (radius_cs_turn_cable_space)____________________ 7.5265E-03 CS_turn_width_(m)_______________________________________________________ (dz_cs_turn)__________________ 2.4898E-02 CS_structural_vertical_thickness_(m)____________________________________ (t_structural_vertical)_______ 4.9224E-03 CS_structural_radial_thickness_(m)______________________________________ (t_structural_radial)_________ 4.9224E-03 @@ -10111,7 +10111,7 @@ Initial_radial_crack_size_(m)___________________________________________ (t_crack_radial)______________ 2.6700E-03 CS_turn_area_(m)________________________________________________________ (a_cs_turn)___________________ 1.8634E-03 CS_turn_length_(m)______________________________________________________ (dr_cs_turn)__________________ 7.4767E-02 - CS_turn_internal_cable_space_radius_(m)_________________________________ (r_in_cst)____________________ 7.5155E-03 + CS_turn_internal_cable_space_radius_(m)_________________________________ (radius_cs_turn_cable_space)____________________ 7.5155E-03 CS_turn_width_(m)_______________________________________________________ (dz_cs_turn)__________________ 2.4922E-02 CS_structural_vertical_thickness_(m)____________________________________ (t_structural_vertical)_______ 4.9457E-03 CS_structural_radial_thickness_(m)______________________________________ (t_structural_radial)_________ 4.9457E-03 @@ -11274,7 +11274,7 @@ Initial_radial_crack_size_(m)___________________________________________ (t_crack_radial)______________ 2.6700E-03 CS_turn_area_(m)________________________________________________________ (a_cs_turn)___________________ 1.8638E-03 CS_turn_length_(m)______________________________________________________ (dr_cs_turn)__________________ 7.4776E-02 - CS_turn_internal_cable_space_radius_(m)_________________________________ (r_in_cst)____________________ 7.5148E-03 + CS_turn_internal_cable_space_radius_(m)_________________________________ (radius_cs_turn_cable_space)____________________ 7.5148E-03 CS_turn_width_(m)_______________________________________________________ (dz_cs_turn)__________________ 2.4925E-02 CS_structural_vertical_thickness_(m)____________________________________ (t_structural_vertical)_______ 4.9479E-03 CS_structural_radial_thickness_(m)______________________________________ (t_structural_radial)_________ 4.9479E-03 @@ -12437,7 +12437,7 @@ Initial_radial_crack_size_(m)___________________________________________ (t_crack_radial)______________ 2.6700E-03 CS_turn_area_(m)________________________________________________________ (a_cs_turn)___________________ 1.8627E-03 CS_turn_length_(m)______________________________________________________ (dr_cs_turn)__________________ 7.4754E-02 - CS_turn_internal_cable_space_radius_(m)_________________________________ (r_in_cst)____________________ 7.5297E-03 + CS_turn_internal_cable_space_radius_(m)_________________________________ (radius_cs_turn_cable_space)____________________ 7.5297E-03 CS_turn_width_(m)_______________________________________________________ (dz_cs_turn)__________________ 2.4918E-02 CS_structural_vertical_thickness_(m)____________________________________ (t_structural_vertical)_______ 4.9294E-03 CS_structural_radial_thickness_(m)______________________________________ (t_structural_radial)_________ 4.9294E-03 @@ -13600,7 +13600,7 @@ Initial_radial_crack_size_(m)___________________________________________ (t_crack_radial)______________ 2.6700E-03 CS_turn_area_(m)________________________________________________________ (a_cs_turn)___________________ 1.8605E-03 CS_turn_length_(m)______________________________________________________ (dr_cs_turn)__________________ 7.4710E-02 - CS_turn_internal_cable_space_radius_(m)_________________________________ (r_in_cst)____________________ 7.5285E-03 + CS_turn_internal_cable_space_radius_(m)_________________________________ (radius_cs_turn_cable_space)____________________ 7.5285E-03 CS_turn_width_(m)_______________________________________________________ (dz_cs_turn)__________________ 2.4903E-02 CS_structural_vertical_thickness_(m)____________________________________ (t_structural_vertical)_______ 4.9232E-03 CS_structural_radial_thickness_(m)______________________________________ (t_structural_radial)_________ 4.9232E-03 @@ -14763,7 +14763,7 @@ Initial_radial_crack_size_(m)___________________________________________ (t_crack_radial)______________ 2.6700E-03 CS_turn_area_(m)________________________________________________________ (a_cs_turn)___________________ 1.8613E-03 CS_turn_length_(m)______________________________________________________ (dr_cs_turn)__________________ 7.4725E-02 - CS_turn_internal_cable_space_radius_(m)_________________________________ (r_in_cst)____________________ 7.5277E-03 + CS_turn_internal_cable_space_radius_(m)_________________________________ (radius_cs_turn_cable_space)____________________ 7.5277E-03 CS_turn_width_(m)_______________________________________________________ (dz_cs_turn)__________________ 2.4908E-02 CS_structural_vertical_thickness_(m)____________________________________ (t_structural_vertical)_______ 4.9265E-03 CS_structural_radial_thickness_(m)______________________________________ (t_structural_radial)_________ 4.9265E-03 @@ -15926,7 +15926,7 @@ Initial_radial_crack_size_(m)___________________________________________ (t_crack_radial)______________ 2.6700E-03 CS_turn_area_(m)________________________________________________________ (a_cs_turn)___________________ 1.8640E-03 CS_turn_length_(m)______________________________________________________ (dr_cs_turn)__________________ 7.4780E-02 - CS_turn_internal_cable_space_radius_(m)_________________________________ (r_in_cst)____________________ 7.5206E-03 + CS_turn_internal_cable_space_radius_(m)_________________________________ (radius_cs_turn_cable_space)____________________ 7.5206E-03 CS_turn_width_(m)_______________________________________________________ (dz_cs_turn)__________________ 2.4927E-02 CS_structural_vertical_thickness_(m)____________________________________ (t_structural_vertical)_______ 4.9428E-03 CS_structural_radial_thickness_(m)______________________________________ (t_structural_radial)_________ 4.9428E-03 @@ -17089,7 +17089,7 @@ Initial_radial_crack_size_(m)___________________________________________ (t_crack_radial)______________ 2.6700E-03 CS_turn_area_(m)________________________________________________________ (a_cs_turn)___________________ 1.8669E-03 CS_turn_length_(m)______________________________________________________ (dr_cs_turn)__________________ 7.4837E-02 - CS_turn_internal_cable_space_radius_(m)_________________________________ (r_in_cst)____________________ 7.5116E-03 + CS_turn_internal_cable_space_radius_(m)_________________________________ (radius_cs_turn_cable_space)____________________ 7.5116E-03 CS_turn_width_(m)_______________________________________________________ (dz_cs_turn)__________________ 2.4946E-02 CS_structural_vertical_thickness_(m)____________________________________ (t_structural_vertical)_______ 4.9612E-03 CS_structural_radial_thickness_(m)______________________________________ (t_structural_radial)_________ 4.9612E-03 diff --git a/tests/unit/data/large_tokamak_MFILE.DAT b/tests/unit/data/large_tokamak_MFILE.DAT index cd86d855d7..3647168eb4 100644 --- a/tests/unit/data/large_tokamak_MFILE.DAT +++ b/tests/unit/data/large_tokamak_MFILE.DAT @@ -809,7 +809,7 @@ Initial_radial_crack_size_(m)___________________________________________ (t_crack_radial)______________ 2.6700E-03 CS_turn_area_(m)________________________________________________________ (a_cs_turn)___________________ 1.9813E-03 CS_turn_length_(m)______________________________________________________ (dr_cs_turn)__________________ 7.7097E-02 - CS_turn_internal_cable_space_radius_(m)_________________________________ (r_in_cst)____________________ 7.4684E-03 + CS_turn_internal_cable_space_radius_(m)_________________________________ (radius_cs_turn_cable_space)____________________ 7.4684E-03 CS_turn_width_(m)_______________________________________________________ (dz_cs_turn)__________________ 2.5699E-02 CS_structural_vertical_thickness_(m)____________________________________ (t_structural_vertical)_______ 5.3812E-03 CS_structural_radial_thickness_(m)______________________________________ (t_structural_radial)_________ 5.3812E-03 From ae1012f8c0adf02017cea00b8a18b313a12afafd Mon Sep 17 00:00:00 2001 From: mn3981 Date: Tue, 17 Jun 2025 15:42:36 +0100 Subject: [PATCH 6/8] =?UTF-8?q?=E2=9C=A8=20Update=20PFCoil=20class=20to=20?= =?UTF-8?q?include=20vertical=20and=20radial=20thickness=20calculations=20?= =?UTF-8?q?for=20CS=20turn=20cable=20space=20and=20add=20output=20variable?= =?UTF-8?q?s=20for=20conduit=20dimensions.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- process/io/plot_proc.py | 146 +++++++++++++++++++++++++++------------- process/pfcoil.py | 37 ++++++++-- 2 files changed, 130 insertions(+), 53 deletions(-) diff --git a/process/io/plot_proc.py b/process/io/plot_proc.py index 9c7d2a26c4..cc21d4a022 100644 --- a/process/io/plot_proc.py +++ b/process/io/plot_proc.py @@ -4394,12 +4394,58 @@ def plot_cs_coil_structure(axis, fig, mfile_data, scan, colour_scheme=1): ) axis.add_patch(left_cs) + # Draw vertical lines to represent CS turns + # Get the turn width (radial thickness of each turn) + dr_cs_turn = mfile_data.data["dr_cs_turn"].get_scan(scan) + dz_cs_turn = mfile_data.data["dz_cs_turn"].get_scan(scan) + # Number of vertical lines (number of turns) + if dr_cs_turn > 0: + n_lines = int(dr_cs / dr_cs_turn) + for i in range(1, n_lines): + x = dr_bore + i * dr_cs_turn + axis.plot( + [x, x], + [-dz_cs / 2, dz_cs / 2], + color="black", + linestyle="--", + linewidth=0.5, + ) + x_left = -dr_bore - dr_cs + i * dr_cs_turn + axis.plot( + [x_left, x_left], + [-dz_cs / 2, dz_cs / 2], + color="black", + linestyle="--", + linewidth=0.5, + ) + # Plot horizontal lines (along Z) for each turn + if dz_cs_turn > 0: + n_hlines = int(dz_cs / dz_cs_turn) + for j in range(1, n_hlines): + y = -dz_cs / 2 + j * dz_cs_turn + # Right CS + axis.plot( + [dr_bore, dr_bore + dr_cs], + [y, y], + color="black", + linestyle="--", + linewidth=0.5, + ) + # Left CS + axis.plot( + [-dr_bore - dr_cs, -dr_bore], + [y, y], + color="black", + linestyle="--", + linewidth=0.5, + ) + textstr_cs = ( - f"$\\mathbf{{Shaping:}}$\n \n" - f"$A:$ {mfile_data.data['a_cs_poloidal'].get_scan(scan):.2f}$ \\ m$\n" + f"$\\mathbf{{Coil \\ parameters:}}$\n \n" + f"CS height vs TF internal height: {mfile_data.data['f_z_cs_tf_internal'].get_scan(scan):.2f}\n" f"$N_{{\\text{{turns}}}}:$ {mfile_data.data['n_pf_coil_turns[n_cs_pf_coils-1]'].get_scan(scan):.2f}\n" - f"$I_{{\\text{{peak}}}}:$ {mfile_data.data['c_pf_cs_coils_peak_ma[n_cs_pf_coils-1]'].get_scan(scan):.2f}$ \\ MA$\n" - f"$B_{{\\text{{peak}}}}:$ {mfile_data.data['b_pf_coil_peak[n_cs_pf_coils-1]'].get_scan(scan):.2f}$ \\ T$\n" + f"$I_{{\\text{{peak}}}}:$ {mfile_data.data['c_pf_cs_coils_peak_ma[n_cs_pf_coils-1]'].get_scan(scan):.3f}$ \\ MA$\n" + f"$B_{{\\text{{peak}}}}:$ {mfile_data.data['b_pf_coil_peak[n_cs_pf_coils-1]'].get_scan(scan):.3f}$ \\ T$\n" ) axis.text( @@ -4432,16 +4478,23 @@ def plot_cs_turn_structure(axis, fig, mfile_data, scan): dr_cs_turn = mfile_data.data["dr_cs_turn"].get_scan(scan) ld_ratio_cst = mfile_data.data["ld_ratio_cst"].get_scan(scan) + radius_cs_turn_cable_space = mfile_data.data["radius_cs_turn_cable_space"].get_scan( + scan + ) + t_structural_vertical = mfile_data.data["t_structural_vertical"].get_scan(scan) + t_structural_radial = mfile_data.data["t_structural_radial"].get_scan(scan) + r_out_cst = mfile_data.data["r_out_cst"].get_scan(scan) # Plot the CS turn as a rectangle representing the conductor cross-section # Assume dz_cs_turn is the diameter and dr_cs_turn is the length of the conductor cross-section # Draw the conductor cross-section as a rectangle axis.add_patch( - patches.Rectangle( + patches.FancyBboxPatch( (0, 0), dr_cs_turn, dz_cs_turn, + boxstyle=patches.BoxStyle("Round", pad=0, rounding_size=r_out_cst), edgecolor="black", facecolor="grey", lw=1.5, @@ -4449,52 +4502,51 @@ def plot_cs_turn_structure(axis, fig, mfile_data, scan): ) ) - # Draw the aspect ratio line (L/D) - axis.annotate( - "", - xy=(dr_cs_turn, dz_cs_turn + dz_cs_turn * 0.1), - xytext=(0, dz_cs_turn + dz_cs_turn * 0.1), - arrowprops={"arrowstyle": "<->", "color": "black"}, - ) - axis.text( - dr_cs_turn / 2, - dz_cs_turn + dz_cs_turn * 0.15, - f"L = {dr_cs_turn:.3f} m", - ha="center", - va="bottom", - fontsize=10, - ) - - axis.annotate( - "", - xy=(dr_cs_turn + dr_cs_turn * 0.05, dz_cs_turn), - xytext=(dr_cs_turn + dr_cs_turn * 0.05, 0), - arrowprops={"arrowstyle": "<->", "color": "black"}, + # Draw the conductor cross-section as a rectangle + axis.add_patch( + patches.Rectangle( + (t_structural_radial + radius_cs_turn_cable_space, t_structural_vertical), + dr_cs_turn - ((2 * t_structural_radial) + (2 * radius_cs_turn_cable_space)), + 2 * radius_cs_turn_cable_space, + facecolor="white", + lw=1.5, + label="CS Turn Cable Space", + zorder=2, + ) ) - axis.text( - dr_cs_turn + dr_cs_turn * 0.08, - dz_cs_turn / 2, - f"D = {dz_cs_turn:.3f} m", - ha="left", - va="center", - fontsize=10, - rotation=90, + # Plot the right hand circle for the CS turn cable space + axis.add_patch( + patches.Circle( + ( + (dr_cs_turn - t_structural_radial - radius_cs_turn_cable_space), + dz_cs_turn / 2, + ), + radius_cs_turn_cable_space, + facecolor="white", + lw=1.5, + zorder=3, + ) ) - - # Show L/D ratio - axis.text( - dr_cs_turn / 2, - -dz_cs_turn * 0.2, - f"L/D = {ld_ratio_cst:.2f}", - ha="center", - va="top", - fontsize=12, - bbox={"boxstyle": "round", "facecolor": "wheat", "alpha": 0.5}, + # Plot the left hand circle for the CS turn cable space + axis.add_patch( + patches.Circle( + ((t_structural_radial + radius_cs_turn_cable_space), dz_cs_turn / 2), + radius_cs_turn_cable_space, + facecolor="white", + lw=1.5, + zorder=3, + ) ) # Add plasma volume, areas and shaping information textstr_turn = ( - f"$\\mathbf{{Turn \\ structure:}}$\n$A:$ {a_cs_turn:.4e}$ \\ \\text{{m}}^2$\n" + f"$\\mathbf{{Turn \\ structure:}}$\n\n$A:$ {a_cs_turn:.4e}$ \\ \\text{{m}}^2$\n" + f"Turn width: {dr_cs_turn:.4e}$ \\ \\text{{m}}$\n" + f"Turn height: {dz_cs_turn:.4e}$ \\ \\text{{m}}$\n" + f"Turn width to height ratio: {ld_ratio_cst:.3f}\n" + f"Steel conduit width: {t_structural_radial:.4e}$ \\ \\text{{m}}$\n" + f"Radius of turn cable space: {radius_cs_turn_cable_space:.4e}$ \\ \\text{{m}}$\n" + f"Radius of turn corner: {r_out_cst:.4e}$ \\ \\text{{m}}$\n" ) axis.text( @@ -4671,9 +4723,7 @@ def main_plot( plot_cs_coil_structure(plot_24, fig10, m_file_data, scan) plot_25 = fig10.add_subplot(224, aspect="equal") - plot_cs_turn_structure( - plot_25, fig10, m_file_data, scan, colour_scheme=colour_scheme - ) + plot_cs_turn_structure(plot_25, fig10, m_file_data, scan) def main(args=None): diff --git a/process/pfcoil.py b/process/pfcoil.py index 3bf510e0d6..50e44236f0 100644 --- a/process/pfcoil.py +++ b/process/pfcoil.py @@ -1159,12 +1159,11 @@ def ohcalc(self): ) # Thickness of steel conduit in cs turn - csfv.t_structural_radial = (pfv.dz_cs_turn / 2) - pfv.radius_cs_turn_cable_space + csfv.t_structural_vertical = ( + pfv.dz_cs_turn / 2 + ) - pfv.radius_cs_turn_cable_space # In this model the vertical and radial have the same thickness - csfv.t_structural_vertical = csfv.t_structural_radial - # add a check for negative conduit thickness - if csfv.t_structural_radial < 1.0e-3: - csfv.t_structural_radial = 1.0e-3 + csfv.t_structural_radial = csfv.t_structural_vertical # Non-steel area void fraction for coolant pfv.f_a_pf_coil_void[pfv.n_cs_pf_coils - 1] = pfv.f_a_cs_void @@ -2093,6 +2092,34 @@ def output_cs_structure(self): pfv.ld_ratio_cst, "OP ", ) + op.ovarre( + self.outfile, + "Radius of CS turn cable space [m]", + "(radius_cs_turn_cable_space)", + pfv.radius_cs_turn_cable_space, + "OP ", + ) + op.ovarre( + self.outfile, + "Radial thickness of steel conduit to cable space [m]", + "(t_structural_radial)", + csfv.t_structural_radial, + "OP ", + ) + op.ovarre( + self.outfile, + "Vertical thickness of steel conduit to cable space [m]", + "(t_structural_vertical)", + csfv.t_structural_vertical, + "OP ", + ) + op.ovarre( + self.outfile, + "Corner radius of CS turn [m]", + "(r_out_cst)", + pfv.r_out_cst, + "OP ", + ) def outpf(self): """Routine to write output from PF coil module to file. From 4917a445e74f5bf06634bd264ff77674f35f48ad Mon Sep 17 00:00:00 2001 From: mn3981 Date: Tue, 17 Jun 2025 16:24:37 +0100 Subject: [PATCH 7/8] =?UTF-8?q?=E2=9C=A8=20Update=20documentation=20and=20?= =?UTF-8?q?plotting=20functions=20for=20PROCESS=20to=20include=20new=20ima?= =?UTF-8?q?ges=20and=20improve=20figure=20captions.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../proc-pages/images/plot_proc_10.PNG | Bin 0 -> 59809 bytes .../proc-pages/images/plot_proc_9.PNG | Bin 59809 -> 167540 bytes documentation/proc-pages/io/utilities.md | 2 +- documentation/proc-pages/usage/plotting.md | 7 ++++- process/io/plot_proc.py | 24 +++++++++--------- 5 files changed, 19 insertions(+), 14 deletions(-) create mode 100644 documentation/proc-pages/images/plot_proc_10.PNG diff --git a/documentation/proc-pages/images/plot_proc_10.PNG b/documentation/proc-pages/images/plot_proc_10.PNG new file mode 100644 index 0000000000000000000000000000000000000000..7ce99f4f2917573a0d353c92628e4ac722eb95b2 GIT binary patch literal 59809 zcmeFZcT`hp*9XcBGpHkq9YP&MKvX~ysx%b^DT2xH-_vZ}V(y?0K6xfKL$7_kDo>esQ~?b&~Bx6aNJ8<~QpTXHT%P<%Mru zz4klse#?zB#%^qE+pAdre!)3EgR-$r$ZMZE@t3#xG-F$x713v4OZ=@{P9uRwp(akH zGfN>>wor`2;hCxNXa^_LH!-eTE;YzK7@Bwy;#%CZm(Qw}x4}s#N&0qTf!&R(ciOK| zi>eyEOL*UiPPluB|81LbRjTLc?@x!f)Pz1&Obd4T(?csyUmf}7^P6n85S7obZ|=PrvFY=hm%knbH2CS~65IbRvaX8%Q`aYp_&@9V zq=^4N`N_?i8x&G`f0DA7rx);Ie&yZk+x?9R3SJ6MeMNow0>?IC5-iD4DWe4OlT6V5 zTnZdCdKr-*<8b7GPP)$EaTK$mHulj?oSFfLrWTWV8M#{84!RHKQ(s-ReV z;)O^fw#(|DLf1QAqj{y!vSo7v5;+2edr=SO3qyENWI8pyPEVV!oIp*cQ$KJj&7)kpLDwx z8snf2lJMl$hUr$|-RpSTN(v+~*J`5$X|mICfguMIkfIZmf^Ck;f(i&qM4__qh*0S}^<3;ghh_hfHIe z^zt38&eUzrqnvN|bIhO-y1VMBZLW~GR1L8}0b+|9__%wvdofeLS(|tUjJROgAc$L3 z(^w&isB>S#bz0{y`ko~gXgQb5hdWA#%|ylP`#LACOz&5BdNBWF#v{bAXF0XlAa+V_ z%>lO(sEAS1!eN)VROjsjv&=ozmdxoqSUf=va-M$*ZF?jUn>61e9#kidb7f!)-1s8ml<$KuW4F7H`Yx&X?nCM2^mhJk$k01j#6C zzA@=vaMt%o01TvgES9QbIL&{Gpb7Qc*{elftkHfhss zx)PGY2}YdIg0$SB7Nrc9y2AaP1_iXpkxuMv4MAUINm-XA^GQr4?ctNiCjQ`Q%Q&Qn z+abA>vRqQIgBkW>e;(;3S`&0r|R&5*7jFqoDsVHIFpZV3-hpdFA`~`Z@r* zDpTj62t8tx1RbH=#d9NfgU{SS^25ZCtxtP(37UZ&!Uf@2%*;0B^hdn@FsJ%+tv)tF zkaUOAI_tVtUxDErb{c_Egma~KYnKx;u-rjQ5lR`&w)7tPh-Rtz;V~QanUsLV!muor z2_8F(Jno<{w`uf5xjENjsNs}hL1MpmGxNDwgn#V0i>Ja0WuW^Lrv@Zpn z2^V#%Zpqs|lN^tTL>`54oL19l%8R?V3eldhZXzmT%Ij#_jl$aL5n&%q>y(!ph7qc9Gk7`00It+z?OzVINx;``)cAN!Suj zj@=E}1`MYn!oyNMh;rnm_TVtpe2i^5ShwxbZUP2`(LSit&~*gFp3%do(ycl-~n zSbx&KyxnHTW*X;Bx@M3iF_3cfi2@1}$Kz?*7wo-QAZl{22 z64z?L7~ENf@UQ5F3#z&fKdjIss&Gqhda%aZ;xn1(++Tu0bXxnYewZ62j6PoY%PiWj zT!%|Yt;~!VW-j;JQIT(#JgIqG>epiETbm@R?5Qwe!_$uGwGTq%l(`v>br09mBVyct zx(Me!>GtU9uI!E4fBl_@`@sBS|sbKu? z!%#I^F!N*V2I*N%rCNPY>x!c07yb&d-!)^(b}q=j?>FGeTRvaeTP*U4N8~k%70IS6 zdMOHY9rq9#7k463NsYs^6|9Q2?UA{QKag+*$ds!e2x_WMOy&;o-u8v) zEsvUxx04OFX+9YyC=r)W;rA2Ov|v$$R+kV%@->cx#_Jtfq>SWVwS+F)VyF^kILTK< zUOiW11ZPwlaanN62-h|GOwuuB32=-(+{#)K$%_+?mbF)W)x;JB=&PC|XrdZ%Q-cNCBRWorGi+K;^Q09(fsIchTla$4HY;;o$+7a)q zO;ZYVBww4FhNR)BO&a8cio#}L<7rIp61ozjPuXh^K~jA;+Yk512MP?VgfvZcShx5H zP6GP?@f+m(BK) z$9?J!w)sI$VUlY))MAkqo>CInHQ{NM{o%f2xNvx&C1dih5TwV44I@Np4J)*KJs!_Ffm_TR2LI(+Dg z=dATnykf+O0~5|5DG8I9ro^^93|O{`HSrGBX)VlZWN37JB^me&eS*k+yAnr}FF z6iwlY38&5(Xf!zZz*onu&&;hvyEydAbYyg-H{pgnrg-0Cv62; z`{ov9ZIkR?^3>nouQ`QDa&_Mx$?mXoOp@NCzf7FR?j04W z>9SAONX13fUmN!(F=0+|_%qsPlMIswcX&G3ORw=?U>bWkK={xDY^+f-$*d%@pu_iT&j z+gmO+d?FUPZjI_|naxrtF~G@Aoc$`3bw>Om>~=D}Mi`PN3Y(?cnL17^=qQ1&9(b~t z!C96u*yBUhOm1%?C#vw%IdLnUc^*M$n$PD3y#1#V@{{5Y*%6C z@a55d``mKRF1gctwrAn?(_fT(jKbzO1HaTznBV&Q$<4yDQIA!tL2R%w z+fbGEtr$N@uP)^Y@HDFS*>i$bWrr(B+zUygi$SIN2bE z4Rw&Yo|%<%q^tCYR^uGEb@-h^hIeEsRv+4)_dp~2`i*VV>@FNPk(rJoX+wELkH==O z0ij#AaYQTj@!*7iykdLX`W5rfhkd#tK$qhG=zgWP!`&p1+2U zR*9~!G_<~G?R57mt#H8^0LtW*x{;ekBdb)r-(U3t;6s0oX`yGhka~p~?`?!V+bbm- z7!v<1XMFvf_@^aRJ?WEKx#pUCHJ|#w`c_6*NT<;1YoY12j1S4oc7$(C1vO2&xS=)S zbausy0p`pAi9w<;NLG~6x4`-=C}sJ$+p?~#-LuenfW(L3=H@O9;u11{p}K9Yi|wY{ zxYBJ$4hfWsr}DnhUjV2V=ydd1_3K1HUqg7FENR4Y16>-nq!(-11}C{vVLP*Ob@M(1 zt-Tj2fsydtuS&frv)hy!^Oa#Ewq2+pcYx(+5G@slEIfVhyp2t9Q%IS78~%9X4u8gC zx3tK%@^h=#J|7M~6F8YBhrAU+cLi4ABAn)hpt))%A{e=Ai=!4d{^wY%VTuw1+@VosWQ+RJC_ z;;$mP;j$WBkX)_@3JyZ~oc&kN-M_8GvNvRB-Qi!{0GlfLLzC3qdPF6_sr+qfl(4wK zN|SOzL@e{w-HOBEAfJZgdC?K=CU#^B!-C0PaNHO^pV)b+`B-h8{oxu~u*K?-Rl$=@ z50t;X`s=!2U>Wkc?55?>^8w=Vc-|}G)Oa-$i7s&hT9xOrnrG^(U?UTq z=Majrta>wVaN@j!YI_>CBg}gLlezrW5v8mglt)N}kwvr00-ot&!sy|lYAN0P>`6y6 zSZ2!O<8pL<$UE;CIaX_NJQdsNxnfFBB?>BcDa}xS6`>pjkIwgcfL+=X>mOZ|vKq5X z8j4|lsFAqmro6|r**#MdGmJcAQ+7n%r^znMTEKFoGfFU-@rJwN6_**OX7P`!`SSS0 zdmOlZax5CZO%-0GIe$5c-jD(wfL8nPD|Z#oY;No^G?i~?Sh~1<55hE~5|aaaG!bx2 zV|ovdPtbY1n}`8rueC-x3Ts$)V04WCCvr^r5vfy4rma8#c^PhDF!y0P|D67pu&{1< z+cnJ-0T<@v3=Ib7L!qgG9T!@Z>d&+;kLJQu#_}R}rZh*Z31&6N^C`Z;cFq-;Yns^E ztm}mbwj)y@U^@tLvcaKvse1r+%+{FHBy)6r^6_en%AvD~#3wzz>AH@Y0?nsR4qGkP zyInHva8W9U@yvgic0CXOUJepp>e>#~0|2w(feN8g4C_us-uL1}nvn4vheyvTgM08T zZ!N5D-0!PvcbQkLlWm79VRKT4dsFgZV*;#$+AIK3^?ZPlh6+vu`0|hHUg-t{6q@iftijfC1W?EPdDKQ?{HdA>=mfi{m$nB4i$`|EYs}an z547X`_6EU5($JX>>84?h_G0l5Z^6QG>&n=S^j}^Ij3JVD9^2&TJRTPmmT>!jSlnu4 zqDZ=Ob>8amOXwr%9yKVak_*`R4O``$1t_Fzdt)7X=}uTw(+vndMAy1>qRb(ED9S2ULC2aZ_Ff&my+jkc2;(_NKVm- zZUm#7Hk=-!3>m&dvNr{pM;_HU(!bOKw%2HoT{zn?T{@)m{(9PQ{f9`~^ycRaXDZpx zA+oMSI31o?ZF3A4nEFdu0(=OgCU?BCtld>v=*eXXr$CbFs==+F>n`&eAY$)&MzuD2 z;L1vx1`nKU+;?a2{n@`c4FXYdFzv7FnJWGgzyZmD)2=_>fIA;r#cRI}bO9SG_*$;& zZG~1-t<#|6lw|u7_${?io7kI@E$W@uws;DMP58TG&+cQ=^y~@iNNOR-ai}Lx9}|_L zc+d%3et`Nmq|EX7PYm3^l4V))=cIrTKdRl@814jfPuV}=Jh7wXejXoRLcfa?kioyi z9TPquLGa7AUZ}hpae&v)sv2pWCPS>SYzB@vrck(TMn`eq;VbrKTAr# zyBhAH*SuTf4ncIhiM|bO^6s2D28D;Ooyv~k)FfTrD8>XIlM=UMZP)WWoR!gfQW6yR zmiO-&8y7pL5a1i#8>_ao=k5v7?PGrdC}op~bkjjM9Z0o);~qZ(656F%uQ+=v!fS6x zS>6t^=RquL;)1Ci4ieGgy`ClZd6+dxh=k*;3&ZC*fpe~6rt3pwp=|r;XyZ+l$l}pRTW0cs`)xLR}=*oO-Wf{FKwt||@ zd}jY=L6BmhM&6=cEa8GO>i(VDhWRLRHul-DD}W4D)Rej2vT~$~5_pb!IeJgh;I;6< z$(=cFK*~%>P`h^mfD-$%m0nJdYbq z)g(chRnQ3kB}}(@so7S@aR&YuV-yd_Yw3#a`Q6PeY%a52V=|xd31HsqK;^~%U=I-y zv^QI&-+!2{KBo>)GU7F`p^2Tn8Uw)@ls9O~_55D1_)u|n1NQ3Tf!ykU0ulFmL}DfQ zpPhbCuh&QE_Rw8|%_fd02Uw#>ene750Npi9k-&BRBM1SK>-r0$*FW7h+vvJz!gpY! zww@@xayOwWIRH%l+wZT#<1fwyyxkFbX#UKW418u_4iU||ps%E-iH*hibe|NEr zpa?J8Y`?fVZ>llW*Li$X;Ivj?Op{Vx8@Us6Ts{5Ka1I*jF=X3Kw!xw})dPgG_0)+5 zKIf(#lbBfKUEf?Y0d^7RBh|$M4|1$aI${WOdIx09W0F;@F{cICA8D{m=PNJ^7|X=9 z5nH{2-s|AR>2f`h#sdrZ7p>!oQ1|+d{O-yHFJ=={?z+m`-*nZz9>mxtArns4A`hTE z1H$mij?z{7$u+P)?2wY(6#!i|=`7hmtox5g`qh!3`Fwb9`%3(cjmi^c*Q-q`k2OxG zVJZgB;?!k>r+bcZfjnV$y;BCv5d$@u;;?HRY1qZ1QPQV55(qmDO4Uv$n-YD;QeueK ztx8h?zMLTVgDT;p^R*{848=0Xl{%UMzID9@`UG}R&Lx<0zd2?YL&1Ug8#)8sCu@6! z(fU&zusx24C%l(dOe+^n4M;*K1LM?^-RmBAFdt}_kYF|UGp-~*{V+!4jo}9RBx4%5 zg)rNzBcXRUj0cuCU7sZb?C^R`#e&=y`9o9&-0h!i2H%5j?wwYK+$*RA>G|gNTKGmA z!w?yoQLt!Rq~2k_5yJ-j&9=D$Ga`?Pc($YfF)Tt*S&P_Xjkm(#Tj#9wbx}{FK3? z!6d=rCeE9J93}=}M{M~(x4@`^z7R#zbj$kV?O*{5o8pjzl4uWXd6?fgPI$Y^kxSs& zj+n4qPZcWCA*o4=*l@Mom5#4%f1%)RZj#}RL|Ts}#bl757s-e?t8N_MH}tQJj0kJZ z3rus4M!J6hGF(|0;r*^Rq(9{kEyQNxnW$a?f`yBY-u;XQb_{DSQ68K8e< zz119$$StEK zu*bN{jk4|krFB!m^JV(~z3K>> zMf5@DNypbE(UupHws7)pIK^c0tlZj)^jZ?(PF`Cj(oZAzx<~j2?P1$yrfjO z+dsgo0??JSbT!WebRPVwP3z1e2^KSPaSRorqK#;fMR&)KdxI;W@eD#PgTVC1Lp!n> z;ZZ&|Xv(y+V?w;$L|%cjFJMHj_?LR2diGikGl_RX06x%h_r?swMmicQke`>`ZD2Vh z%ovhp4kd($A}^STx#{MDv!P4%uOeMU4Grjah7$jJaW(R`Qh*~Tg=|6Nj667PRB;Ham3>iyN@wKYyFZM}a8mTYOmmI!w+ z$#1?Y1~M=a88{mYpV8>s`IJW8RvyV={q!hKNk&edDUf5OLfgRwvb7m@x0)s_m<G3Xb~|6Ldum~%3DiKb7lATO)~c`CiY%mB-rQ9 zSdTEW5R17|vDFd6>@on+9QPB3g4YOaAOUjJL);j)n>-K;owOGz$e$M0Nv&&RuyLa7tS?F`^eaUVi z`5lU9!;?`OP(H4lZqHgyG1M7#hy!=NiiG^b350yxnum7lJEtkxt9E_?2B>W-zN(vm zp38cDkO;C|G+@@N_a^xG_O-%vPP@-8L4q#_Tw%4eDk=kJ>@7;CZ&?J{UlrPjhOyW7 z$aZTDXxW$7>pgL2JEU^Dv~_`gioUbjP%Qp>IvsD=qjXt0vlm9*(OWAbH{TY}R33DN zZwYyg2vAgc#-7D(Ye_BdtSNFg2=Bxv5T;G1=_feX9jz%lZ>4;IUf%D#w&Yw|+aSzH zK~Tf{M#mfXU$Tf5BzNhZ<9cx`;Li=9P)=G$9$qLZI3!i_I)|}cpwF0j*z6Vqq&s+i zKgTn|+p{MUZds$5`-$Fh5gEtuy{!}2nb)mhg8;b_G@}&o)yhjfnKcI#6s%%;hl_!U2|v5B1W?+t*Q_z$ zvG6+ipraxNRN21P<_qW^JuR9oJ?4c9% zP#c!qnriGGBxuyR1g=T-=R3P}CR_wUX>s8siYw@}k489df71NI@j$?fw)%ti8p+(B ziPphd#jhG?9IOu82CP`ug-ONvxCy16Y`H2}wSdS#hS<{ZzGD@H2pJo6_k43U4O~?) z+k=;P%ow&QH4N{H2gNo&*R>{|#wy(b`79|}Ni|&^n?SQ#l|SqHZLHyjd&jIalWudq zpn8K_!c#euNYg;>>#?Ap6 z#zV(?tpgoDbuf!$!hqh|=eFc)xtClUQ5cvz$6|U@7V5Sg(3q05G!RSB+YiYuI1;eO zh;ENfh_N+o^lk@(tb8%Oo&-%?tNgLRF!D^)(?#%tdx&LjPz$-i`Zqfv$wCHI$z!|8 zKDoI&AcXA^6^GIeGc@wyzV;rj#A40`!i^GI>H{z9Y+Fc6taczFi$?`!6m>OxgyZX;t6upY6GG*l4Z@aI-8 zpgtZmcKU`ywC*!YNYcFVjW?Xq8bljY$Qq|(Z2Vbl=tJ!c8aT=UfssJ=9%u`&OBs%L ziG2$jzVCnKkVfE@3VmE-GZ98l(?lJ$ob9OqBCm>w!DW9ByyQ>-tVi(Q$&hOaIu5?g z$&jql*Su)gmqx62ZzJa$Uj?J5^Da4xv}<$3t8UNg_D{YvZq^ZFu1m~kEFMYxVeLpyaI~y49UFaOyyk$kn@>L)u$4M1{92b+km{EUTvbIvlt5LKQRX#?}aa`vF+@z z_}olNq>ET{RDBotBIA%)=tVJS)sjOYWuHu~)n4zfugULk$Sxi! z))J>HA81=f*PDjF_(KGMG3#NB%DcPspO)-5RkG-IKt6zNY0bUfcG+saD<$hqUGS%f zP+oiLtJdm|JJU4(U++w6R69w1KoLsmM z-y1aqWf{Q`*Z7$zbg+HSg_6j+Rl)x&wHX;=+X}!#D7Wklnd^hWf(HEua3JaldhYtB5pU zW_r9?dL&=>i-5JkDmd&oNC5w{6yAGidj>GNAY)ce0>($iv4Rj>vE0A0_qb)=XOxn5 za;$zMw%s?1vphIBxIxajHVnCy@c5_t8ol4jtv`jpEmo3zRRftP7_t^>k^s)4e$d(# zZ$LfVaWZ5^1{NMAnAORtTr=3gWzG{H>eaOLH?!w|2pR?E{wEuDe z(DkaqXBM#($vDLFH9X6y-*21lwof_eL|#p}y^gwn=5;R>#$_93d0<1T+gNzsZ0OC6 z`+$W;)gFo}6uh!m(>w%}dn^8~HF{#&x#q+`thG%HsVazzhR7h=%cGe6PiC5zQDvav zzTlr7kvMuL?8&0R!f5;7K!Y+cIM*Ox(y-J3J|AU3oeM|!)2x~J?C#2#N_^2%g5{|vk1IftKyhUvAP z0d|@wW`yIh#nJYY?DsNq;fqsw#aNO-I7Y(-0~GegnFd@3&UIq!%aC zi_5iXm1}w7vue~^)->2H@fw}nNs9^B^0jajJ)%E+?L#;vJOw_Bkvo|&)OToBZl&|W z%9;CcCK&;DCX~N_v$a%x&T_4FmRPZzW3-}2@X{l#0H3Ir&bqG;co&ooFk0iF{)q`@*8KLcx9Bt)~Pw zWfXrR1HRbj);vREgk^Cgt<)L>yfdXSMq-&G$}gzNYqM)ql)_?`MFq2ofmNpuIuB6j zOU}Lx(Zh`Qo8UGBxzK&SeTIAheSRWU$Q)IW8+!B8RCFkOBS@{;4{g2MkooDY&+I=s z8``7lv{(>+`{EXDv0%=fASaSKf4Ic;qLIj7L=45{ETF67el2AS{SUBxxzPCfM`x|w z-(HQnHMMxl@X&-2c#9$W!vNijIa7YV+#`iYL^^Qgw@+wg-9Ia!wngCmu~Zz%9%mm^@@anm1P(7)8lF3HP3W7WB&qMKtEg_V7{hZap-Cx zUayS2l_8{>XPh)?l$L(udB%(pc!$+F)5^&6WfwKLSZn|C&Duo|zF&LCkZt9c(d#WCjx86q#SCVWzndLju);!&T~VhNxOEjb>q@}ovVHr9w7k5qTA#Q@nowRe9gcs><_^syf|(mgttN@D1UpWl&A@LE3!@7JwN!aktjtG=N6FNUMNv8*M7*VP?_hhNi!%nd?i=TjB%WeTu!l8n;E z7*g(ZkR%}ag=V;w7)q^_dSB>6Ouw`Rg3P2?lNMBi6G?G4rQ*ZWM%S1vjYrFmElAZb-XAA}WPx;p{zKe~&c zu|9FYf}~0Q*{2#Fewy9++Rb9@it19^@DNpIH@(}I%XW(<3Ys1)xNY%z;ct?F<@0w9 z*Xzmzr3o@7+XW*jb(5=B!n=!LSJ9jrz^Q=iF17lIi ztEqfdt$;^A;XmoO&MbbcB}4Ci8fN{r;zFOQs)6?nH8aM&iq?ww(nLW%k(@|p`dFdV zJbgX}@H4+TYSImJ6|GE<$~KYemA*Ea-3D#P8vnjB8Eyg0p1flXssB@aS_*G`E{!)L zBt+eG0&ml}N+V3-BdiBvGkSx~k7(K1GISvLJy~h~(&o>*7;oWoA0FMe&KIhDI5$z_ zn!16b?by)KVqir*A{bp?YHNY4h(TNS=^9=2ckgQ49>sL!lDt!wB!xw?3Vo@E1DZ#a zlKWwEk~2F^e{>Dbja@?&Bn9+wd&o|<;T`cYHY3{H&U6jBafq((9#?IKjymZvJWXiJ z+>n9^1__E|)2UI#e<%iQB4!yPUaU7@`EhWt@l}li%jSbr_gsL$9 zytlF%33qgtVCamc!_zLQ5522#+VZ?N7hi3Nc!(OKv&AYBcYmqM4`M%Mq_r<2ci&_r ziNIj|ucMBc==9VyUZ2R2L!e8#%Y(sb)GRW}&uJhxhB}2Swp+~Vs}6>XlVs{IBWTJo zmP?jDp0v=$Ck-T3<3HP9(Q$nj3ZNp*uu;j;O@G9+q)@r|Jde6N|ZKb=Trpf;eJE={}44b%=XSBtW*$)kYF8{`}N=ze%nCQ3a_ zcPbNYu8l%rEim9YJ#f!rkDuVc&J9wV>h}@Ke8-`Z&o^qmzo@SAC&W3FmF)f=d@9{x zvEra&JE4hcd|L`1=8_OLTYMAEk3y4hl&Nd+X1danoFR#$0Dpz8WV-=G@EnrM$sJ+jj zHxu4eN4e`U{+{7NybJ2POxyEcEXA5u5N)yn+&ko*Gm}ayT6<_3*>!a!V2R*0JG@+P z0B;NRk`A3UYObJ^mjd9*w2w#ftlUcUJn2m}1Zk|elIQrNgWxqb%%-h@!Geg@YA*j^ zdU#Qq?KVvmo_`SmN;NO@vxQc+Nz)E-urRupWr1uGG53)r$X+tE)U0x4H-&_Ar&`*7qe8OW<%OG(~2f@!J;RIxe8FrPBNe<-Xk&O-U#S$uA>ZfUW&$s#clyfV8u z0mu*$*r27p(i-r>H-4u<3WmpLY52Dl<_YOpRoQ$C#yh&yrMY2=bel?@vnrW|5gDK` zJFk&p;Ll_piGS+EeFAaYzmH(tb-;ZyOLmRGn26W<-7I%}Rqt|YB7=_=0_=o^RA|-X zUDm0CPlc==f(9AvPWMfMBQhv_e{J($9TxH$CTWP!qt!|URTr5KZDNUDm6DRu$BHlL-~PMltU?GuD|`(F^k);#2L=a( z_wvGXx(fD*7(}*0=4I;617UCe30$S}e~}vadD;#Fsokh@rE~v3 zUgZ2#QcCNioMqFQuPoCP<%&1(Z1}&xI7Mj%&qO&Vn zQ+YJZUnv&RiBmyp@26+i{Ab>TY8xcAYh_yqw5=^J(`MADS{078LiGh)-=aa5Thn4J zVv-$zwt0QQ2>VQnv|%H)T40WPeL`9;?ekQ0XWW2^otCAb32OZ=m@mMg>^OAfG~EB` zz6@A*Z%A3ka2r;>6g<52J+}1<3M4Wj%Hw?f93^&kd@cLfW0L9oE<1VILgpL z&%zhQNdZ>97gDtb_gaFg%~wr>LEjU%q{}~sfNH^sZPW|9dwAj*YZ zA7xafV>)IDoUs_~@VJUK2E}W5z(iyvn$dDs@bJ=59!Ia&P&p%klz$mwAR}nCBg;{7 zo698odVl<*SGsIqqMRywA7||2kB`U@Dtu{?-WhIMSJX}$u`O;AWy}R{&S^pfhr}sa zRbHm|+7C=HS(ZW!QDGc?jrdSO@p5ZnNdWS(|M1IRr2EQ=T}V$~hb48N0R;;4Esg{q z4U&vGW_eL;*sWQWJoXp^%zAy-00?#aJ{PLUfGK~CXF~V$nmALe#_Q|QGdl1SMnG?u zGq$J;Hd4R2O$2Yg-NgP>WeJ?IQeh$KA(l`Nzc&&W^S)|d(1F|D9eM^pSfAARHYD)> z7!r`s_+Mg&0u1^$y9=g~UjbtyBGNA~ARk|MW0xgY*4{dK;ahquENA0L3<}dUSZ?kB z$VaH?gPOvo99D_U*!&f!7I04dK6Q-#9@%t9_xyS63aU&H2tWzLXjyss~Af`&AIUj6TH_zCj&3GU+nJV0iz zZ_0l{>j<-OZ3^K=b6%BRN^9=LR~y^I#TuzJ^wsP|akTKlG`mnuQXSHeG#_I^)H4A2KEJg#ZQwsZde!cr>Rg(pEz>ovCB1I8|Ir1@ z{`|{*=d}^X_2G8lFhB*+8}=X%rtUlEEcqim z%l_WS)<@-m1m3Vo{ljZUhzv!@S+|pS8+U+nBKKMsZ)YxxRpGl`^hA~jL};{7`G>*{ zaBSE2IQApBJP3fxYt)b6@}}w2E@)AYbXSa7fZQXR14wLXU=@c>~}MKph@)SoH!rKtmS&%N0^pYy-n- zTt%XGX9I&_X%ll+EFkyX0%#c|6KGj-jCVCAE77p#L)erGuk#z!5z0RVpe?|oSdjKYi{08*=88J+;1Z8qbY5Y>`r?Pbhl8|IKS|8TwqbKc%u*%z4>Iiqy$?v`BWgG1?H?eaL< z2Fs0YupDqRc{I+tvD%OI#G6QukEnNl{SA|bVT}Dzv*|pOMo;QczitY>GhQ(FibiEV zaN}a6@7%2DkGAzgr84@v@NNnamSQQSRrm}mFgX_W3}ZghEOnCFzyj1^;Rob8oLyQg z!|rT&_lqYM0n^CB?TGA48=Sw&59hxFJS&SnIhF(?+sd1-z-Q700r1=!*kG-;fDEYU zdOwBHRWO5^Omy2JKCr8g)Rtsu(hk!X3F@?zfx%ikZ4=+he2Xl`xR&}P@VgDD53U~y zhdYdCH8MF!Oftei6JTN+QIXf)F)W=VOiBjxAK`@3M5$RA6>K>bj(KE^+Tav^s8Bz8 z_AXBD1XT=GsQhxt;QsbWpf2@Ps4d6bfiJEuG*jrEZ3yc1dIm6LB6%$)V*_^MhZ=tU zE*11|Ri{?~SDhv?&khug1EssXnS(qEe^|Pr9P!YDmYX{^Ww5+lAx zS|23_F55Qj_qLyvruq>bpU(C)IuaPE$ZKOgx@@}$n6kI$W@zTAIPT| z>3(oh+5Mw?F~7I>kD89;vf<|=laKcP+2j!~S z^~#lK@&G2hcNaWU9%z+*H?5$+@$}=3@n49BFBhK}7FzqDhS2rj<9a_ZSkC~U#dwB3 z(qazS49-K+VIr6UxK+3vf~ZjGK|?nC*M^c0ZV-t6{2n2$&(s|Oh&_}~GanisvsA^c z3o(OwKF@7fr4A`x(48^@r$Y7WADa+Fu)v%6;%9J7sut$#kHx;?z3+?ts0G#&B{BBh zo&W$NsKQr2xK1P#1Mz{$F%R71U|`-1+=JS*D^#UX%5b~->a6-SbJ*!o48XSg{buF) zmWm$+DA_y5U>i^-r>&!)HpEj5ZJkqNap~?;53|(2XR8~e>C`zTsnLZeN3bFz#$yGV5 z6NQ9a<_97A`w9z2Te5!;A91INPNnZKecwR-I)PrKWw(JYynoci{CI0hK*RtrQ{Y-Z zTaQ=ag3O^fSc}V<9iW?|)8eFbWz43#PbDLmJ_=5{Ef)Y1@=)XTzgA=Br|NXa0q*;- zl&)OR20>Eqd%hF6y&12(x0qA43fAvqQyijJ{&rQD7R<^l^_nQXSoIYYg+zASlHLG> z2-SVhy^qXvpK_A~`b*sratY_r%`xv)Lx3gikFGC=HfMM2s$^IXuHOK|FSdda5?nP+ z`O=H6J@tJMMeSjTC`r4jg0m0~em3$b?X{vV%OYG$o@xNl?UjsFT!PoL?g6Gu^jatP z0|QjaQ&NoKi5|ap>D4#V(BMn z9h;UkYu5%1;C-Rd8HO%uduSOKL*bqCW^1d-YYX(t=4&m8mvjmfP44qn4{e$d>B`mA z9(#Fx4!GfV+Oqw*LC3?Di^t%jmS#-2Hfu=R!mxy+=^kE@K|k4s;5f7$$Ar93%w@cf zlWS5v=ODKa6GLeI5E3K)=}85jdXNSWfDz}l4AV6mHCYkq8o`Fp)m+~{fQ%v9oCuyc zUx}a$EEm!s&orCxQ4@ob6k%2KY&atTG2+KfXIN!+0hB6TPo`5OO$1Tz39ZZrp;l&J zsi^5bTG^WzX#dV>&3SvxV2hDQA{|irSN-o=%^!815RqY|Ax3%v@=+qt`Y3qIbNA64 zRi{n6$VVrPZJSPocc<_9kxm~a!ZNPznsh78p+bb2QLV*vefUl9^GeJ1Ki&N;A zPUX(;bCtN}S_5!@!P?cXHF(x|``Yi_11nk>=B9qwfUPOWo3PZPUd;tOGr?LiF!%t3 z5=xP$*Y@YCtVz*?;F5B0Zpfgm&WfQ5(&1Jx(!r=Augb`4#hSYffXpnjAa`!9tA!jJ z#t?s3Y(c+NU6-o6=8}Urk}-~WwaDc}5Ary~$XzM6QNNcbR&_cO zNy`~nJxk}OG3AITfG^)i|K(Stq&;{p6|;Ca)W8}4VYQakpvp*yx-{9JJKb%Y>^G~V zuum6&&LO?Iw^j^J&<(0IEE?xz0b%fh5|&~q&F~LU@U-yv6*2^vXUATQukMM@#Lt(wzeZG3H=hcT^+-1$Zh1C?RXw>N|w?* z4mxA65@KjUclqP1@f`)v@9p7Zt~9aMPg_|AN;YxyGbz$iP<#N+I2dUN7PLD4_GsI3 z!|{2wVM4)OxG1Dka4@ExFuCcH$>L%9iLIc1pl#}oAGPr%89cYxq*ZGQ%;B5#owY`p?K4o ztx^%$t;#*M-g8?qFVLisl6@YKljmY$x#Y-T)SZxLb zn6BTJ5@srIqGw7m0#l)TD(M2wtGwBZS-T7=eQ?nQDd1!7LaNP@u*{EhF^WIT#jH>5 znktxGs2~3Tp!1UT^i2_o#P4XdiOlnwJYR1KgbBWxTpXX(c#lX}B>d-CLWIbcOBwvG21@ZHR#jynZ6n zdX)aiyu0vFE)@u@BW;QCZI8%;L?Pn44-LMiA|IJmq|7(TT z|E03se_Y~!fU5Liz0|oc73A*=m`0C3Ew5x3a5_rB0qP&E8e zn&x9+AH0LwlX;Yg;ISub!go~y70|sv6|iE5<6t6G;2y4hCZzzV0-*H)Xq)&rE%Px} zO7cAcSmE7wKpQ*S*xwXF8%!)=EcT&&Ha|x{=<=2I#`x9%qYgOr>aH{}kVbm4L{a!3 zEeQWsk1nm(AAsIIC#YnPY#2%`$xmf08Qt{n=EQpYP6%L+Y+K4xG&-z?9n+lhWg5#L z3>OUUgCRERQT@I%CmN9ogTn;Ppn@h)cO&&*{xBdPVK4nz2m&|vh;`tmZRO5af|Xek zG%>*ynkVklZ-#iqf(k}m&1Bm8^P<#X5m84Y_6 zB0f~dD{E)`>(+KLpY=arL+V>|JDiXRPQ6^AeRaYvZks0ufDD}k03gc90k>De4IfZ+ z!waJ|eTy(1Ll{@K-%ceMZUf&9AN2a>b~gX@G=Q7Xq;up?0M+H#V(~uaj|RtqqWbTv zOp)9cN^RvYA!R^y2xzKRE&bRnv7*p_YkK@UZqpx4q0ywVN+Pe4<9Fw!I+wKYR@{kw zU+w-H@P7Y4Z)QJ2IQ;nV>%g;|`M!P{0>C?4s8*fjc2Pt8b&qW%l=5~V>99v+*Ot2g zQpLcJcB7d{Zl+=owIg*6_^;cikATWPD0UPg4-BH6`Va$>;$0nCjAeVVO*^IDfc>RlnDeX5goDW+Pn{$9NPU18(tmklkV_sfgzLy^-{f$yubl}G|~Zi+0Q&gz`cV1;a>G6R{m>Rdu4sJ zf61$9y`XSQFXS(fWG%|`pq;=?;b+2f3r@7nym)1Bu<9Ahg0ZX?LlX|CS7XD~k|#cn?2 zPO*&umqXAZr8!$2>o$`sz>Hk{An#0?+sk``4;j{jV^Z8dNd5jkpuq!Lwp zOiS1v>?B;wwM;0LpR5JkEqpEqgqdiFz-9dn`%&lzB7q==2is9r`&N(w02uk1OdxCu z=@mT&z~-9}ENEhaPQK6d20yU>p8}cqi-SJ{AmXosUBaUhv@mjIHy}C+sw1s+A7Ysu zZ5_V5pW*OM%^l>~UJ?&6gvM{tj{TTq!(KF|<%$9mne@Gu|vJpWl#lrOEnkA5(|9w;7A@}<{>L!jpE`Ke&87f$ zG}loJu`wAK!KBJNRWjxLO2%_I*i>wx{o+!{u>WpTl;|oiLwY2vHJ&N(V{BnO8Xm^% z&}-89ObP+jOu`NIEyCKEKy2ijqq{!BHeYU2|MLSLV2ab(*Y7)2mUXEAKH}h$@$Y}D z{{&2)lKVGQkiR=;kVnto3;g>55?}o6r62*MhvxabN`X)Ty(Q&H?H51;|6hm&oVQbS zGS=(!-438S_xE%lW5pj=a_+ly`nT5s^qO$K&f>(bT|k!Qb1m6JwJGOD(Kk(L2E4Cc zzt3L{B?&OoJ~OU(T}P=pc5x_a%{L-}zz`p;&)=J{wCliVr;54zn-Sf*2 z+=@TzLH`Y?xbG*~J`1BejkU(eS5HIs(s#4`UmyH)ZpojiruSvo|7Jh-0B|*hf3Eqx zAzF-ccD%0${S8H)x%X`7Qad>t~__3__*{aLiKr_wE`o-pk&s&9HR-s_D zO-qE>nuzqJ`1=2pPo!!B#<;(?8WALjRQPhiNgn{DT1^$Mq6#7Q-{QU$Opq0{)^X%s z7!kF;*9nb$VWg53vW5ho8EMjijJdu7t7J{pJEn^EJT6VUeNA#nXo8Ul&kKOut@pgR z$$9t1S1QU!rk?mtrEUZ+(}1=^$s^7Eo8D%v0iu&iG&g3X{nm5Nq#q^6%XKswy z#U(>uugO>rZTtL4jsC5zRZ6*fHzwaVr>wjF?B(soXXCD~(z?Pzw`P#fI~&!RblBWP z1?*6sy1x-v?-IcB?|I;$aBt7$Y0jE>b?gzfB>u7BQ^&#@k41XsrYN;cAIv%O!cZAJ z9sf&V+N0X%Ep$@rYp*T4lr>!*v}ATa{oZ6b-{jfLli!zQ_dOPl-O}K{M~4JZp-EU- zOiw4A8|`LxVO!hz*2p|X8OTiTvn+9p^GNoFMcOX2*3(Vpe05a$ z`ma>4kz-20H6rfBCGl0_FHR_Do{4_<>P3Q?$pKZa>9^x{lo_pX2)(JWJ8Hph)fmu? z{m;1}@3SO3ZVB(`efOjT&@OF1>16KF&qT>!&;Gn=UmtuwB-nH?p@{+tw@wDImNu7Y z(~jtREaOL=-$BW!2sK%SF^?}gUvllO*>(EM+Yw;pshR!aCD@2Go2~;gJUf-R`0-cA zM8)u!PLpgPYK4pth*tQvAAolj`?rQBJ(jY1Do5ebG>*(jy5@3w-DB0_eb9~Tme{Z{SZ za+uOWkDsEZGVT@&698aG9NBfC4w#!F;tygTdS-eNK;`$E#pBxg0n~8NCW|;=M76O# zecQ6!B_#LrzGMYTc~NW{v>D?|f=pd17uHP0TnSW^r2h6gQ{;*arFPX-sWdNP0jAKu ziKWohn`vh+SL`QKS^@?{kI}HoEDtB9<}3?3E#CCod31vR;!^}XyG%?W^zfW>>FD(X zs~SwynU&*V!34<5OBl6i#eSrC6y1E~ zJHd7$zJl$jfa$wh4VDpIp&B{|DDLzou69jW%%!}p3G;w>MnB+0;*^>Eq}(qAYrngi`RDj zC!bpmTy9@*?T0U~b$}6!g8-1csaP&SQ1@KPn(({x>2CmG4KLyAx{!hE%-V#_|DH_| z3^BfXw_4nEO)_LC|Eo`NNHO}nvo=|&X8M7X)#-qO>{-B0@M5UOjBPi>xKzz zpwM=a%M~)e`ziqQlDnCI$dvU|JB?DcUut-@(sHT@_;N$j0iE7+yMf&2psnID>S4}p z6@X)waVP}t^nDp_fu{DpAj&=EG{r$6_~99NXqVakD`Fu-q%;;l-w3p?VBVF%pqsiwP=+6h?#Z0 z81$(f+}BWjreMwOEC_o%Lom@6f#dS4C7HWRH!g30072aEJdzZ+rQ^n~IR9n0nQ-;L z;}g~|6<_obkqfNe1a-E1ndGMg`SDig)=|hSHiI@9dFsHd{xx8c`#&CK^&xW?{3OZz zvs{Hg4tNU+9aT@vVOu__k5-Go1y?#ibHQcUkRjmnJhH!wQj`35Qvzs(t^Ra&3?EKtN5R+Im z;?SvragO|P^-l#~_hmrChn`IWDS;S4j&|9AHlx#|(&A!*dq)AoiP>9;4+7HNgYi2) z6*^uF4J)q=(`u+uu6x-cS$_LvL+B^tkoz)CK-o!rc;>E6{B!zSJ{9R5lG2b=G*H_+ z9PBFgDgP|q8wf?J*D?WME*?=_H{_i&I|)Lsd))GUoqB&X=~G152TX52sh8t>E2*8v z1MUZ^F40zU&AsT%O1#X|YIqr)ok^tL{O^b%{(B;oFK_uzJ%T`mf1$@0dMuYF`NAJx z_~Q$I2&Mpk(U!XKMz=50@PCIioD?8WO#%tn$^w?S(r(nOi>j+cjwid;19| zQ(y?J+8z+!v*%G!zra^TyPJOUu05mnd9+eMn4onK_VZ%NtTV?M;`nLz`2}Q1^q4Z! zca_93>aP>%Pe%gBfsrvlUDdAN0DKp*9#dN2b=6NKo8!G3!>VT1Door4J@|A`GEAv$ z$^EfQ@sn=yNp%1@Th{|MFPk6IbF?O@TH18n_gK{Y+ZQsQ%45I$1`|+`eZmiz2TU%5 z<(c-ATLtw|V?ce>5#G+aE8j$8-0*{9y}>HEDepTPZ9W+t!*|3}k9zkO=F zkQg$z{jtVtjl;_%ZQ8Q{w4E4hf5Dhz#s07IHW%FR`8oDqOWneAz?dt{5Kbi~W^L}R z@mITla}m&@^P452YsoR2p#|L7s~s7)}d490}34kr`w z=fM!&q#O8^`!W7DU=-$mikG&~dM;nu^TDlWuC*vR-NKGE(`>Bh;Q9T-4Xv>AybsRn z!(uZEcq!u|DwwS)p#P#oeSBj)n?-lxVx7A2o7)6DT`v8&*bMoJb-6i^ zK!dF{>Vb2EXhqH%8`ZHw!KBn>PC0-4?RuxTPpiXyeEHm2GU2P(aITz(_y^wKN0!5C zTq9N{Q?;=zx3D@8{>|0F2i1assLQcmafD0F=v%2b28!pt&no=H#>?`+7%z>GJAJbS z0S;oT&y|1r8#!Qp?M=#IQQ{d%+`#8K<|XyZFy!pC}ArrUEdzH{D$_|({)mq6`%X$o$! z*o-V(nN9sK%D{Nr0ewf)&8F$lXa37_MOhAAFnx>%*3Dn+UzUu}8AB&w17|K04-|(RxD8-=7yX?!=0Q7EKM=K#d3BrLf$5W^ z{8Y4K;3zAL{@amspF2D3jE^g~_|Ajs(!n)xkAQNMkf4Sr&6{CW7HcviVyJl~B3Ih= zfvLtoeKdyh{BB}^e5=?e_~@=i$kdDN9N)3HW0lncBHNRB80Zz`BYt2l$YN` z+cU@jwiyT7uMK2De^Zx!W7eflK-+-?Xu1wpn1pfKj>U^^>*N^|UAPVe3fqDbeIyPL&BM#3o|j8*19D#E3D^xZ68_%K2Y7L>3$ zptiJ>ZrCnT>a-}JNF|w%=zA4r?=~oU!|TL zC%#pj@16_@84geg(xz-!EbH)jhQ0ZrKJE7NAm!x)UGeLaM()*k{$l=oOQXcWvzZZEI?{idQlu6eu2QMZNP%B7}jtI;Qs-b%b5H_Qy2ONb zi2&i&2}PgBa^lM}p#&zpMO6bA;WMEUipaEgdpx?s*1tZ^q(~%KgLte{HM=}^!3gTS zE3&nAGohiX6xyi(2*EjU?aQ}h|Jj!bDq60QBWvTHl4e`aq{j+&FokhCoUk*gcqUn_ZZ+hecIe}7TA)A<){NtbhL7e&)f!N-tXs({#Q1&Psd zB6oq^jsa7;ErvRkl7|lCBH6mfofD)|tDY>{+Fj48#i`0#CLnOggn_Q_pm-V+F%%Sl z98~1nD_fXCb3|bd@^u%vv;_tQiTI7Gj;1{TP3{%3<_161 zsig^A$*bXB^|jGwGw)V~X^QNP5|&qH&-Brlm$0h7!N7`=TJ$5QFG(?b+;_npcg4?g zHY2&D!UN-}7UfTCR~_SjvqaUc3gCsto2ZKBmN|yZ4U(-$k~dBb+0Wx&9?)uNHb##t z*=Z}}_3X*Q|%a}Qw0j71k)=`fX zPoGY>-DpT+3m-y+AaK5RWidN#H404R3K?e{4@fG3^cr8dOFG3S+`b(vuAx?zJqu|y z)KHvVPqStS83_Qwcr$r(yW?Tmvdv8-9kx;cvW5DNLOn1xWgEBa zPoEH2K8WSqJn}{XEbTO0N7<@8XkMbA65rU{*hd3tkLB{672KSZ}ziaQ7T51O|+Jez~oCfeIU({ig3J^E?&zju&sRLZR|p;@T?9@Hcaba zYry^QL-YU9?9`SU(RS)Mw@LVF*?pb$i=LfF*fITN%<=L%-xHuS>8+=u%O8L*&Xv>Z zs+vGS$PZojA7k^-&YmvV0d%%uF9Z{UYdInp%=2B*Rk2 z!gQ+1`)*RZobIS=r0mYLk@723b?CDRqpE%0K`9{$r zPQIgGp1;J?+8ZjVA1+Wt8f3}xEBB!J?nBp^h+yoS7&Cps6~UUA!=RK>g0pg|`3*`$ z%ubzA?;vE>_ogJArKT-9{sP3NJIGyA?YW1O@`D5VpqI`WV+2CC(u|I_{v8P=jbZz$ zw*%y6aArLkU=R6dt<8tkPDFkuxlwplbcuS$*&J}$<{$ON^1l0!0VbMWwuWi!#i)0; zQ?kye(oJZ`@hw5HTh`pTOkph%9aS(uxYmQL?!)O8w2YdhB-eq&1N$JyyLjN@9opf4 zE#m=Py)-FyQ297xH$lg5QKXnlsUU07+@xO*vd*1+A7|{McSbtY#x<|jK{&TYH-x%r zOPcPBXp~7pxhQv2zKwox3)NAxC#k#LL@vp6{_I}6j2-Db(RdVEmt|{*+L7d=;26wu zx!qkF0%2~1X1ds-6-sFa45i?m9*8=E<&E492l?tnks*Xp_$$pYqrQXB0&gqe#q&IoN-)8Y?# zoE~*HT3oR>38OO#!supCNhVDreCJrLS%=53(}eP%T|x60re}y;7WFk&h{K`JJaAJ!iOJZJzhFvv8aUpw&@>L zSTDWm?iF`Il8^XZj1?JE1SqzogSLbSo*U36P|~9}Xur9G!ULd~*Ou(h0&)lc6q{9& z%uyHJ`Bah~VKxd%&p(E^iCVj6(W(BlRuT@=I+XAkTfBy{Heet7;daP3>Bmvx&kyg_ z6o)w!jNpcM`_uuZUXY;vI2*I1Ta!BY2JO3SZM&TY|C4gxrK40nwd*PKuX@?6dYf zfia6wn0BURYr_aKZX4V(QgE6xHig2EeDK=Cammdh@X*ZpSbfTKWq=J+tG`{Deak`x z)V}O`;H)uPQlH0aPw>b{#6_pNthpasH!#gs!tw&grC!+HLSrDAkcXFcVQ$Q^f~^v_ z2o5!{m_hlrz33DM2@FwMdyBhwWvcOkezL+0%0LGHlgLSsg3D3(xCLeuJ$CPoG^WU} zHc@%HaSP^22E(^+&O2c%T1>Knp-!4{reRKrAhmz_jQ2> zC^${ylxM`HN(;#8^_Or7!a123(F}x(r>v@mmB#o)r)#l+3jyP~?{11nV7Dqrl1fH3 zgtkn1ob{#oM2yzqTIR+ry>@EnZWb76!<8B7<6&ADql%Z}AgBjHSUg(f@Tl+sWdcPj zIyH?W8K$KyP4F{=_oFhYds~b&oNZ(xx)nh_ro}$mDw5{3E5NWV^pM1#B#_aMMG_(o z0YhdVpGK~bm7dosKO6h)l4MJxGNv@LeH5mg)=aM*P={PGj3?})n>H6!iTHNwL+;-b zH(nFf-BjW0e?JyGoJUUvVZFPC>(D9O^FJt;HY$~Ph%=`XHi%l+xK+az=^>-y>nGe$ z+rmRBFD}Vx?TkW+SMF`!R!QQm!@0*9C2wv{54E+WP@)@u6zsIc3-w=e#_L1j+#jt zE!oG!)IWJ!fT33rHQieAl>AK;-s5ASty#gSiADTT;QmnuuDy2l$jbNvQIg#wE%N!Us4Jt zFsgBnTGRu5N4FE$`tT>dL7FMYhGN(akQ;WhA|FMPURC?7Qm=m z*COi9(X}eTM(lx!6{bBv&pnJHxcC$UT3pN74YiM=oktcMMgljutzRPgB#hZGjsrTt z{V3v(Y<=erln9)(H`-v~+uy@vM9zaMoWI71xMn1%1h6ve`UVvY4EITyw=1@Wne*4J4u45=FeCa2>_14~;vp zYf>WIBb~a_lIBAEwd`QS630xL1V6WD^Rd@5{hAE)nz+CTnauQF$$7CwTOrrLV`FO9 z6~V~)Eu0@z#RitR^j*SK*0k(|mpR{xhfupf7~jC)c1X8qyh^4ByiYQvTSr^$=qCL> zP>~3Hbff)9B}>q*Uu56|pdum52M#TnbXvm6j=eBY_lvRXq#>7dQ_W{%Y9=sGPVme? z73Vji2`F?LpE}p5we&62$DCxW#PY7|Y)LDhJD~YXvegbaSuc`Q|EOg`12LTBd9YcW z__CiZhl?+FEn$`tgtef^M$UlOQq4?D9ED8|>h@_l;6%3rUMp+jmdzjNW2*E<$nV(Z zv`54D5i4V?YpC0h&A`|^R4O{ex^GWuI4&l8dza4b6}oV1^u^+VQ7-3}Y{FV%-H&U7 zG)AqxX785wRh(&JXeE`v$kR=cs1fU52!8IHfF#CB59^c&ocrX?JMnB?cAEH3&yf*> zgT5OUMl-AD5w@UA7Q@*JJDe=rt5cC=$dKEBYY0l2b5z^+$15YJi)@0%O*CRfY3c0w zZYTcDKT?2`Ep`Go61fCg)KYHbJs?bMaGEpL#jDMl(;!@jLDUnAs9{96#;bSgqY?P}~Eo0`ji@QFJyMm#RuY1g;l&0>&%W zxX#rh5-AETlCie?qW3xUS;Y6ctVzHa^ikB6N3^09Eqyf&_gT)*wc%p15a1Wn;RzZ& zIQ>_Yt1_$ku&lLhtRmh|W37xspSfV)rYqbx5FW2F@npq~ZdF1yq99>)-$t2@LG zYJs}S1INwv@X-L`KW!*7G``6t3)h zq!x388&;;JNr0n+cYc~qCSV*?e6t7^p_E$XmJ<+Eqh`NqMUwOQ^k8}Fj^4%=b)NpB zH|s4)V1-=cvzttxr4+4aQ9iV^>)SoZ{9jPtDr4YGGVhes0^ zO@fJOHYzjZK5;gFC(Qok?A~yQVTj&W9B9{3QI7IZG3mvQyNa*tNg%MXV~LE z3+lF}VU#lGQ7|y6K87P=$lMARwJxS7YeZ%)W*1>Avl53P1DGO-RSK5XNnwYfuD8OR zZ=I?jXgglIl|TUzkhYRk_wl%9C)jLz!Ukw22b9t55+%GpzhwH?4~SEriz}h0*JRd3 zU=zo#WCYudD{Dk>F%eMyu{jfbzPum_(Z4bc2P7d{UN{Ve;uT`Tw!<_Tu#7OuZk|Db zh&~9hLFDLgEhTLM85HnPf*g~%);@9|{7K*j!Y|23$Y-x?yPoW@@%pW^CO1?)cY0h? zn>_OBn&-p&BD9~@?Am!gOm*z$_Ycq=!77|W9UTNnnbm%W61tfv9(=~~d7ai-F9}%h zyI=EmI-t~yw*Fdo5joiWNH&p6a?rEZj>xC$mk;A2uV@*D=WbG1ZI5)aGj8j_Iq~dM z(KLuQt*9ieHfgJ7dx>aopxM4p5Qv6%~3bn3ZK*Bps3OQgq$-3+_tmBVTPCv&q7{+o>*km zbU0$5Gr|bnRi~A<$uK#^HYKD1GHgbrQ%a;lwIcQo9~dvG7rI-1X28;{WN<8tt^3e0 z200gJo>Bkco~BF~t7wuaUsy~a@bd?X2Iq5yjLc#RX{1EfL7I1&byVT>4$%Cu8Y!8A zV(n~Nc#Wqhn$Z;-$?0P!7jb%q_xmM|kJ~=$F~|oa6gxtz()(~paAnm+7Nlg;kzrJClO5+NniS;JmKU7Pg845EBuXV1D^ePJ)l%CRZ8tUaTC z&s-Wj?H8jV6JlPUelFKrL0nl?@6^ym=6IikB3Kbya|Re#FW)dJVqM2MEoCFsKYTlk ztW?jge%!4=(grijsXBgP-OzGkMM@q5p@?rxxQCs!>No1`z=Cz;LbZ$<)z~PormO=* zdOFN#FFeEz!Bt5}GSH4xrpE4P9ga#Y$)n1yIxy7DtffWCI&u4BV$+cgiD)1Q7ojuIuT;y+H~12CooNJJ0%smNy&l+N>gV zO^V{QB8kXQiO4srDIqH%VHK`+7eNna4lAKp29@Q9sM$KCO0z~jYZY3kG~m#tzJ}Tmle3*o3<2F697whBrD`8o)fd*5)UT0IaY6+>Vjw$tSP%%WcCxE^37gF*i z3g^%1CA{0(?TS9$zd-FLXx-wG=&ey(6S>T)M zZuRhMdzE!L_qyj9R#}(EqX)7&0CnWGe8D`LenB5OtBHeWlGRV5nlU) zmA}+pj%7YMur}Cfx8-OV_H>1G`8s)+=t;A~-AI}8lVa4YUud>3p`rmY<$;QLs**e2 zI@Jo>G2w+ar|0V9kB7*Nl#HzR2=Ie~Ovl{aTO}Y10Bgn|flOU&2Qg zY)e2HPxscx%CU0tj0|H)y^+1ZZpT#l>}uyk?Md^TE5K+1BosO zE0J?bfI_R_$_}0~O5UO-gUA`dI1Hp8GB&*DeW`T8ydcJ|D;6R1z`K7=tB&(B*4GX= z(Hh+9vsj~=il!EJs_U2d(VB zX|uav!D=OKIXM@HP*HF>Yqvp4Bp~-*MGPgHq$1nnZFx4x<*ZJj+&YU>y_%EefITtK zTlcVwt{{bPcr+j9+*?d=xa~pa#MAa#I^%p=`DNqqRzQx_GrJ5T7+JoUB#N>uYG5vV zcC^F8Uu;&ZQOoW@E&YUdW3f)I@WVKFJ;$vYGOxO4=;qH|?6)2<+h@TSg|W*FUn}oK)2v0#tTs27I#Zv%+T22xq3JL3=r9|&b_64nEdj`#99QugScGFMK zDToK00yY%Se!I_)C^PO|H4R^=d^?6Ks0I72l={Ycjxjcf9}gMv#5?z5O>x8E`uno? z%|o!i)RQU}aKdCZn~jem#qtWHWTY&sJ;iq5ic$-_>w)dN9-qs0v*Vw_RU9=PXadMzb+yZMB|_P; z4K87DcjfNEe%64;${)W&uWy>4Um}J`=zoWOrIqYYA#l{| zW8r;)g5!U-G93Zfdif0Vqh-9D9U8W%5`*rjywHNCt?qtW)7ud~J!6r`y$o@oY#w=j zFFrRCF&gWgKPl-m92r@~)-mYPpxQ+WR5N;Isu{5NGBI+6=G;=A`EeH~r{9y5$~B7W zA6A5Vor%DjkURbDL`m$z1*=h2*;TysEfcVm@)G%RYuaQv)eP4--7c{DJuWLXfDAj= z@v&U{7)xGm=iJK+Bl*((?nbzIXd&MGMNd23e6^k3y*`VIL4Oh2_FvB8JqnLbCG&Q> zjBCNP1^%wx%KTkhl=TZ!qbhEdd|6KCC0L31SkNgm6~N4Q6x8mLA|0Yz2({zlD+v;y z@q-oA?tU0^{fnSUpL_Y!RkH$P0$aH;F_~@e3ht}ES-cQfmj24lVo!t_tY%c;a*rfXtzfM9UoIHsm}Ph$6L?QsMJ`h58DbJk2J0p zBMg?ck95-?`KF{*L6Y%XK5LKUjU0CVJ(-kZd25%p7<UU z-4a>#_dSf8Vw7ZRK-Hdhc=3klca!2Fv);T3cbK(LJEGmbD|xEiA&O*k4)z@EULw3&4gDEY(t6?bw#1F;R?mEt!#GXldbOiD$x_ z?9fX8;23ndgIGUdbz7Mn%R2=l&11?;MRBXAchDG?IXDj5+xrlXI-=u4(_-VkIq9fO zwFC6}ip3fTlApB1sv2%}G7KsMTps9Iw0EXw3c~WaR5^5AVQ})M{B>1E^#$qjucPdy zTiF9%a^)$(rXne{!JzsM1~}imcqpGg*D02w zb*npeV7zA^9?DcSY>HzT_Ie)jA4fn;aD!l|@n>oVAkiS>#(G8|=H%5E>;=08g(hxs zVRQy3F)W43r0jzFWo~qD%2j+7b?<^qZ9#(tJ;y%BdA@?`pB$WAH0u|oWVx=-ZlEnV z%|oPRTbkt>_9(f`NX%ye!5JKB=TV9%Y>f;kj`D}LdbdJt#gC{8iUMWHSLIY0Pgx9_ zGRPfWXgT`Wy2`LZzUBQgnt8iRg!^ETFX^ESu1g za}@=Nn%cLZuy5Sq+2u1L-)vaD{21BQ2ELGnEF zdu{CQ4#)4%*Yk11<5ezrzJvE%+}F%@t@5LJy~&ZY?0!l|_1436^qlhOU`M_CdAk4^ zrv|M^HAAdW)`sdNO7N`jh_yILrL z4qbT|Ue^WCWTlS}tpZEIRyESX4S1e|DtHH(P_5AI2YGcX(bl=OWT&9~g+w+nNP%dr zK%?o}7rC*t+r4&RYs!$9(@cZj;UaQpka3bo3LQ;++vOCtOYjaQz{n+UT)CU@(0mMV z6T&o($=qWqA)8c5X*yQwv5_hT5r#E0bOXJh1REDPQkHMLF}m&YIwPXc1YsuyHOSVf{V*YQUK!^mlCMX<%wHrzc#S9|QQ zX;nkGTzvtPUtJNCms<^#!IJXj%Drz|GYX?F8jH+si)Ko>^dPw#k-9xdIT7AR*?YI8?ml$6{i~l~`-UN6Aq9qI5i-wnCK_G1V#f7rg zt)YA-#-02`RwMe}C8#0Z&pwJF(&A}6wh?7t`QUfp@KpqdziMTNUnWslpHtzM+ZTbs zM`d`_55t3?;Z&NM#m?{oS@#mZ9QxFKjfsQQqCQ>4+ez}+38bsataZGdA1-|%py>56xkVg0d~+?rx}7YD%Kh`r#4 zb>zXLa*5se`x(dU?Y!NcYTB!faM*(;-EtjKJ=T+wylxuXCnLQc7uEnB<8+sCX7^u?12&fGBV}Wb&(0;f zIZdV&aNX}#SFjZ6pnc%nUyY8Sp=k&|q93hdEKiiSJsNJpxp&sjzMEGb!wmr~{E@Oh zSwh5N?@y2*b}{HO=s1)r@Re37m*yyItht?#l%J(tGy1Fy*}SxESSB>b8F1L0nzvmx z)DeWx_SL7nb!QKcsm{V{td7|D4CxdrrgZRIJ8^M&<^@B2QCz|`zSkwrFfUI|XxdNA zU_l!yicY^sVW)el?Mz^FS&`y zZOJgLi)H1q%Qy+SH9026<@bup6ze)HHC#Nln#D9F&c%5#_|8bX$Gvs~E)nsXDUme; z)x|_pyMkWjf+$iivfpnOEJfN+<6ZY8|4FFTD^p-V?z>XjG8FsDO_y3N+f__pm%&_5 znpv;5(!ss3bufzs<#;AUDOmSfdc}D06Z!ns`QSWgkW{4lbSudi+u!aLGf`N?pt<4) z02!4BNHKqMW%2^q3TMRlGKLM;rN1-Slal!xdDzdz-a*}Z(7d{FJ~$~oESFbr={)P- z*W>CLaH%m~nuFRThtDPbG#mk_Hst2c6{WP!0)7ELFc&J24m!X9Y}vLkM)ItGXS#f^ zn~7271i8(b!49rE~kGbkS2?*mH{@RK(G~kBxCT#KV=sOiJQLwH`b#_}* z2oLK#fmI(!TzM28C(D{=au%RAfxqT$)9a(L8TkHc-axczA7XxPm>KeJio~%~tPBVy zuP~`zclXs6_yV0cKYV_4PqD3IXq900Csn8~>Yf+e3}~!#s^ZPGnD!%pCo`*gla-vH zg=PXhXr=cU;`6`XMoTagkUa~9<)KwK2Z9%73z7VJk;isZ&o=5-Ro#Ef9WU&M!8t84 z{*s&s@fBV*T%YF_E-=WJMrqB*oU!lduz9{Qio@#%u+_S#b||?~)^&;14s#PFR7a3E z^X-p{=h)Fp-ti!3bDf~|;tOv{9Q;*0mHNczVZG4$oc?Guh)G;P_Y1H80VO$%eC zkTy269J-U2_|CIRmp^LCqz3jyRXi==-`G0W8-OpUrD=pbU%x}Bk@Dx8jh~=$?ajyT z;XFE03fq$}$HEDSwC1Yvw9oIm^MJ10%3AT<6F;K+gV4Gc zP}_Gf#7k<28BSP&%KSFPb3%ueb=Oj#$gUE4c=w*K%n<9TL>;rreK53A&{od3#*_Nr ztQHn>9U6Y6ZUeNV`^Q`_-~$Wm(X77m)vCvsIrS^R9)zw+efjNw7bON(hyD6%E#?_; zmn|9 zO;z7^M}jLilKlSqp2wicS3>8$bNq%uD(byWuXz7GJDhh0&`JJ{;&nE?bMl#2@B8n` z+o@X!+P_~3ZGj7ZUKR?~68t9;XKL7A6@0fuHboKwr{mS;W)8} zJ3~0V0ZdMEOBj8pdaR#)iSF?4T@4zzMZK}RKarT20KE0;v)c8EkviOw%b= zD$||%q81Bc_iI-Pz50Q5{h;E7>Ur)s$F7g>JNvY@eF|=NZ~G}%ufHvr+SPaQ-PsAa zy^r46nv~hGqArr^;Kh1^hxI_};&Z(Hjyg^Z=$Y27k2h9y!$lDN#pNo75BKd1V#eoD z=E_qr!ybw-SIXO-Ne}kng02*Byd0T3jf6LZu7U}WX4GSj(oU|Hx*F&ZF;GB_0sC3bweL=fBYU8R- z9->pZYZW1)wB1CF2$^?di4D-hih{GhecD=n09>~|sVYmPOJlwpkvFnPbZt&qMNs66 z_9<8G&_yZ>7!7!u^dt|Qkh`-4wxy9gwo2&o4*2=F?P_yL zNBmwG@YX+_h6iDv=1-xvo77?KH5E8w&*VvO4T$Rjf*lj^Q8(T)mk zfev*Zm#C3&cG!bVT>HzPe34SsS$8*aFVP??X8U0V)1^XH2kag+c!1b4+V0gAC`@mk zSM~~-bZu9+v(}weA1@*dClWZ1hH$Q`?OM9stmOzhdAd+_;B8r@l$1d%Nd> z-?=tY`4lbJxe^hQ3awZX>sWAr?sV7{a}wZx;NMyS8v%0+R-GOYpn*L8YClWx-^+{7 z)$J(=c2}jTE`Mf_zTGK!YBB*<4JW!zq($lk)>#A48zE%G7#p+kDs52;tFp`)WJO{y zXKpx!7>vlLkmm&!nr|(>PwKwJ#&bYE0eGjPIR*P%&d;w;N@PLcEG&#UrN9GOX_0;Xo1H3W>trSl*>V7MYKKktD|w!u|PvDSHQbbndA4tbLG*gCgAksEVQG z>^Lx2K`^x*_{t+wK-yP&MvvHI<%PugK%4fMiAp~peX0Tcl_HS4_kXRmgrh@oW_2Af zG89x?N|6inQ0LHs4e0BYe=TGsYnnb~i4E0VOFF1Pc`u_*;$yZ_k literal 0 HcmV?d00001 diff --git a/documentation/proc-pages/images/plot_proc_9.PNG b/documentation/proc-pages/images/plot_proc_9.PNG index 7ce99f4f2917573a0d353c92628e4ac722eb95b2..c6a882da6f9a317a186d12b9339bd7be62986ce3 100644 GIT binary patch literal 167540 zcmeFZ^;cWbyElkKai>ruKq*kH#ibBjN|6G^3A9*oD=t9`#i6(tC{o-lSdrkgxVyVU z2r{SNd++Qyu2nr)n1B(PR=N)8nxx(=lZg)>}-wzRa6ha0f}lw_YM(r9QbGZ#8* zUrx>Z(y#nOY1N!2rrOiWDYz2d?FmSjUFc6RpD*5KGH>8harEU~*6HI}1E>GsV^5YJ7D;);rx22$w< zMUdB*!?_RK%{xpY+ZirvW&gL|7!|+H$nd?I)i7pA1fD*qg4ds}C%CSSTS`BmFvW=? z9$KzC%EGis$m4cn?zWpxvp(lP&Y(IO zT*$+Q^skF#(hpDHDi3TvU}wecm$w>V5zsv6X}_zEeEOQHEtz7lNSq8xZU5U0hTYuO^YoIVyqt`tD)RySTLUVe;XUtHxqD`ElVa7WVi+ zwIzVY`|&rc^D5@_AP0}y=Q=PIclus@($;tTMbUjrZpsKNR1@jGUa9{cC*YH4-9VLx zDYKlqmAc$*J6N+`CFmO~L8{;RRND=&X16^=?u{RlGa1bHp7E-jI6X!DOd<`5JH!Q)u;Zck6K@^%zuAYZK@>bIoT3I z_Neum-Rkq_STZ$HLwfH6u=Bp%BkQ~^UvI5|HTXa#>|voP!ff(aod$z}&dQg<%-;Tz z3JJEtY`;kR^_0*2Q$Ds#EG*_{mm9~fsbcOwO7%3E&bRKF1Sad6+yBxA;e6Mt*|N%} z=JQMX^^0Z^`>pa|ddwqYJEYpp?wil!J$~xx_-M7`Dyd!e)%`n{rL`LpO7ou-%?=ND zJzHr(XM;S07hWj!)8$-~m$I)62zt?8vpGRM^?nYeiKsCfCvh44+|Cqoc<)o8_?$M5 zB|>M%Bd}8)Hc6`knSFD$J8rqJ>j*|YnjZVf;kq0H9(lc8KIZl;vP**U6Decxozed+ zmAN6G^?c}Qk5>P{Ka*5^_ZK(7 z1u5xy{#^Wyh$tR4-oGy{FHc-sGLJW zd*7E9Z%(@hZ*TMD4}V@iF@>Ie)2TfUL_}=f;gyfuK(A(}&5v876Q?1*Y6b5QQuT{h zAnGPWmRETYk?4mCE)pD8DnrLsL)Xd7vT(&<;_Bl6DFLL&C;4`dcA?Zi#9({L$T#x$0*Ow}$jgG9GrvCMMXJ1)r7vW%=IjCqwUjr_KIy zK&axeV2aFYY<=JC;m+6$QJv^KRE0gb8hTvfs|vpVoXWo|fbg4Zaqj!^7|WXNBX`tz z{yJ(w@_D#GZx}wqYehl{4<3Zq8NcUFr{z!RBgA>_Tj=0Ws>|m07}k=avw)^Hsw}AH zZK`j~8|NBY?*&E+pK-H+Y4DB*P{d?gv$*OP46~pQ5Nhy)EQKO{<0EyHY}3Qnh>Zti z#rOOTGZ!wN0UcvsR)VM~Qo<1P&OjCo4Gr$?6c>*-_MYcaMEO73r0Ah*g6A|2sir(h zj54?T2s>i)z-EqB$LCAH&J87EbNjEoTrg;kuIP1aR@RFq5xrCGi2RM`t_yLHzfCSb z0=c3_MdGO z7eW$?fi?aG+B}rXXG}Bf#4N<{YkOZy3*>!N7j&^dt?YN}6kW<+@j*SdP)*)UE>wc%0Aqg4|!i}g9zFbA-a1s>F0kLd4^ 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

Ib}+LnXeut>iV;5KM*lZi&LaS!r58ZuQ{u2t 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ⅈ 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�{@{}qW`3w%j0x)p1vQ71Ux>^|q4qk)4WhY`L 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 PbbF7>l_>wtSR~#u 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 K4XX8SB>oR6C^xMD literal 59809 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 diff --git a/documentation/proc-pages/io/utilities.md b/documentation/proc-pages/io/utilities.md index 005bcf65e8..ac6b9f1d7f 100644 --- a/documentation/proc-pages/io/utilities.md +++ b/documentation/proc-pages/io/utilities.md @@ -65,7 +65,7 @@ A `.csv` file will be saved to the directory of the input file. -## PROCESS 9-Page PDF Summary +## PROCESS 10-Page PDF Summary > `process/io/plot_proc.py` diff --git a/documentation/proc-pages/usage/plotting.md b/documentation/proc-pages/usage/plotting.md index c13aa7a4bd..1fa63f30a3 100644 --- a/documentation/proc-pages/usage/plotting.md +++ b/documentation/proc-pages/usage/plotting.md @@ -62,7 +62,12 @@ process -i path/to/IN.DAT --plot --mfile path/to/MFILE.DAT

![plot_proc_9](../images/plot_proc_9.PNG){ width="100%"} -
Figure 9: plot_proc first wall comparison page
+
Figure 9: plot_proc central solenoid and turn cross-section page
+
+ +
+![plot_proc_10](../images/plot_proc_10.PNG){ width="100%"} +
Figure 10: plot_proc first wall comparison page
---------------- diff --git a/process/io/plot_proc.py b/process/io/plot_proc.py index cc21d4a022..308ab8df49 100644 --- a/process/io/plot_proc.py +++ b/process/io/plot_proc.py @@ -4408,7 +4408,7 @@ def plot_cs_coil_structure(axis, fig, mfile_data, scan, colour_scheme=1): [-dz_cs / 2, dz_cs / 2], color="black", linestyle="--", - linewidth=0.5, + linewidth=0.2, ) x_left = -dr_bore - dr_cs + i * dr_cs_turn axis.plot( @@ -4416,7 +4416,7 @@ def plot_cs_coil_structure(axis, fig, mfile_data, scan, colour_scheme=1): [-dz_cs / 2, dz_cs / 2], color="black", linestyle="--", - linewidth=0.5, + linewidth=0.2, ) # Plot horizontal lines (along Z) for each turn if dz_cs_turn > 0: @@ -4429,7 +4429,7 @@ def plot_cs_coil_structure(axis, fig, mfile_data, scan, colour_scheme=1): [y, y], color="black", linestyle="--", - linewidth=0.5, + linewidth=0.2, ) # Left CS axis.plot( @@ -4437,7 +4437,7 @@ def plot_cs_coil_structure(axis, fig, mfile_data, scan, colour_scheme=1): [y, y], color="black", linestyle="--", - linewidth=0.5, + linewidth=0.2, ) textstr_cs = ( @@ -4713,17 +4713,17 @@ def main_plot( plot_21 = fig8.add_subplot(111) plot_current_profiles_over_time(plot_21, m_file_data, scan) - plot_22 = fig9.add_subplot(221, aspect="equal") - plot_first_wall_top_down_cross_section(plot_22, m_file_data, scan) + plot_22 = fig9.add_subplot(121, aspect="equal") + plot_cs_coil_structure(plot_22, fig9, m_file_data, scan) - plot_23 = fig9.add_subplot(122) - plot_first_wall_poloidal_cross_section(plot_23, m_file_data, scan) + plot_23 = fig9.add_subplot(224, aspect="equal") + plot_cs_turn_structure(plot_23, fig9, m_file_data, scan) - plot_24 = fig10.add_subplot(121, aspect="equal") - plot_cs_coil_structure(plot_24, fig10, m_file_data, scan) + plot_24 = fig10.add_subplot(221, aspect="equal") + plot_first_wall_top_down_cross_section(plot_24, m_file_data, scan) - plot_25 = fig10.add_subplot(224, aspect="equal") - plot_cs_turn_structure(plot_25, fig10, m_file_data, scan) + plot_25 = fig10.add_subplot(122) + plot_first_wall_poloidal_cross_section(plot_25, m_file_data, scan) def main(args=None): From 628da58cf320dda3a00ae9c3f3ab970fa2f1c609 Mon Sep 17 00:00:00 2001 From: mn3981 Date: Wed, 18 Jun 2025 08:44:36 +0100 Subject: [PATCH 8/8] Review fixes --- process/pfcoil.py | 12 +++++++----- tests/integration/data/large_tokamak_1_MFILE.DAT | 2 +- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/process/pfcoil.py b/process/pfcoil.py index 50e44236f0..ef0cd0a9b0 100644 --- a/process/pfcoil.py +++ b/process/pfcoil.py @@ -1164,6 +1164,9 @@ def ohcalc(self): ) - pfv.radius_cs_turn_cable_space # In this model the vertical and radial have the same thickness csfv.t_structural_radial = csfv.t_structural_vertical + # add a check for negative conduit thickness + if csfv.t_structural_radial < 1.0e-3: + csfv.t_structural_radial = 1.0e-3 # Non-steel area void fraction for coolant pfv.f_a_pf_coil_void[pfv.n_cs_pf_coils - 1] = pfv.f_a_cs_void @@ -2763,11 +2766,10 @@ def outpf(self): f"CS\t\t{pfv.c_pf_cs_coils_peak_ma[pfv.n_cs_pf_coils - 1]:.2e}\t{pfv.j_pf_wp_critical[pfv.n_cs_pf_coils - 1]:.2e}\t{max(abs(pfv.j_cs_pulse_start), abs(pfv.j_cs_flat_top_end)):.2e}\t{max(abs(pfv.j_cs_pulse_start), abs(pfv.j_cs_flat_top_end)) / pfv.j_pf_wp_critical[pfv.n_cs_pf_coils - 1]:.2e}\t{pfv.m_pf_coil_conductor[pfv.n_cs_pf_coils - 1]:.2e}\t{pfv.m_pf_coil_structure[pfv.n_cs_pf_coils - 1]:.2e}\t{pfv.b_pf_coil_peak[pfv.n_cs_pf_coils - 1]:.2e}", ) else: - # op.write( - # self.outfile, - # f"CS\t\t{pfv.c_pf_cs_coils_peak_ma[pfv.n_cs_pf_coils - 1]:.2e}\t-1.0e0\t{max(abs(pfv.j_cs_pulse_start)):.2e}\t{abs(pfv.j_cs_flat_top_end):.2e}\t1.0e0\t{pfv.m_pf_coil_conductor[pfv.n_cs_pf_coils - 1]:.2e}\t{pfv.m_pf_coil_structure[pfv.n_cs_pf_coils - 1]:.2e}\t{pfv.b_pf_coil_peak[pfv.n_cs_pf_coils - 1]:.2e}", - # ) - pass + op.write( + self.outfile, + f"CS\t\t{pfv.c_pf_cs_coils_peak_ma[pfv.n_cs_pf_coils - 1]:.2e}\t-1.0e0\t{max(abs(pfv.j_cs_pulse_start)):.2e}\t{abs(pfv.j_cs_flat_top_end):.2e}\t1.0e0\t{pfv.m_pf_coil_conductor[pfv.n_cs_pf_coils - 1]:.2e}\t{pfv.m_pf_coil_structure[pfv.n_cs_pf_coils - 1]:.2e}\t{pfv.b_pf_coil_peak[pfv.n_cs_pf_coils - 1]:.2e}", + ) # Miscellaneous totals op.write( diff --git a/tests/integration/data/large_tokamak_1_MFILE.DAT b/tests/integration/data/large_tokamak_1_MFILE.DAT index f7410063c4..46e0f30c46 100644 --- a/tests/integration/data/large_tokamak_1_MFILE.DAT +++ b/tests/integration/data/large_tokamak_1_MFILE.DAT @@ -805,7 +805,7 @@ Initial_radial_crack_size_(m)___________________________________________ (t_crack_radial)______________ 2.6700E-03 CS_turn_area_(m)________________________________________________________ (a_cs_turn)___________________ 1.9739E-03 CS_turn_length_(m)______________________________________________________ (dr_cs_turn)__________________ 7.6953E-02 - CS_turn_internal_cable_space_radius_(m)_________________________________ (r_in_cst)____________________ 7.4740E-03 + CS_turn_internal_cable_space_radius_(m)_________________________________ (radius_cs_turn_cable_space)____________________ 7.4740E-03 CS_turn_width_(m)_______________________________________________________ (dz_cs_turn)__________________ 2.5651E-02 CS_structural_vertical_thickness_(m)____________________________________ (t_structural_vertical)_______ 5.3514E-03 CS_structural_radial_thickness_(m)______________________________________ (t_structural_radial)_________ 5.3514E-03