------------------------------------------------------------ | Dataset | | | | for | | | | "Design of an arrangement of cubic magnets for a | | quasi-axisymmetric stellarator experiment" | | | | K. C. Hammond et al. | ------------------------------------------------------------ Figure_01 --------- fig1_magnet_arrangement.csv: Data file in the comma-separated values (csv) format specifying the positions and orientations of the magnets in the arrangement in the figure. The first seven columns contain integer IDs for each magnet: rid: ID for the group of magnets in the radial dimension zid: ID for the drawer in the vertical dimension pid: ID for the drawer in the toroidal dimension (ranges from 9-16) wid: ID for the magnet within the drawer in the toroidal dimension hid: ID for for the magnet within the drawer in the vertical dimension did: ID for the magnet within its radial group (rid) ioid: ID for drawers on the inboard side (1) or outboard side (2) The remaining 24 columns provide spatial coordinates for the vertices of each (cubic) magnet. The column names are as follows: xt1, yt1, zt1, xt2, yt2, zt2, xt3, yt3, zt3, xt4, yt4, zt4, xb1, yb1, zb1, xb2, yb2, zb2, xb3, yb3, zb3, xb4, yb4, zb4 These correspond to the x, y, and z coordinates, in meters, of the 8 vertices (four "top" (t) vertices and four "base" (b) vertices). Viewed from the base face, the vertex numbers 1-4 are ordered counterclockwise about the face. Vertex 1 on the base face is connected via an edge to vertex 1 on the top face, etc. (see below). View toward View toward base face top face b4-------b3 t3-------t4 | base | | top | | | | | b1-------b2 t2-------t1 To plot the arrangement in MATLAB, using the function qhex.m in the Plotting directory (make sure the MATLAB environment is in the Plotting directory when running): geomData = readtable('../Figure_01/fig1_magnet_arrangement.csv'); fvMagnets = qhex(table2array(geomData(:,8:end))); figure(); patch(fvMagnets, 'FaceColor', [0 1 1]); set(gca, 'DataAspectRatio', [1 1 1]); camlight(); The integer IDs in the first seven columns can be used to select specific magnets from the arrangement. For example, the three drawers shown in Fig. 1b contain all magnets with pid=9, 20<=zid<=22, and ioid=1. Figure_03 --------- fig3a_step1_iterations.csv: CSV-formatted file with the following columns: iter: iteration number chi2_B: value of the chi2_B objective function fig3b_step2_iterations.csv: CSV-formatted file with the following columns: iter: iteration number chi2_B: value of the chi2_B objective function chi2_rho: value of the chi2_rho objective function Figure_04 --------- fig4_rho_histograms.csv: CSV-formatted file with the following columns: step1: absolute values of rho for each magnet following the first step of the optimization step2: absolute values of rho for each magnet following the second step of the optimization Note: each row in the above file is associated with the magnet whose shape and orientation are defined in the corresponding line of the file for Figure 1. Figure_05 --------- fig5_vectors.csv: CSV-formatted file with the following columns: vx: Cartesian x component of each vector shown in the figure vy: Cartesian y component of each vector shown in the figure vz: Cartesian z component of each vector shown in the figure The first row corresponds to subplot a, the second for subplot b, and so on. Figure_06 --------- fig6a_vectors.csv: CSV-formatted file with the following columns: vx: Cartesian x component of each vector in subset 1 (shown in subplot a) vy: Cartesian y component of each vector in subset 1 (shown in subplot a) vz: Cartesian z component of each vector in subset 1 (shown in subplot a) fig6a_theta_offs.csv: CSV-formatted file containing a 2-dimensional array with values of the offset angle to the nearest allowable vector (theta_offs) in degrees of subset 1, as shown on the surface of the sphere in subplot a. The columns correspond to different azimuthal angles (phi) specified in the file fig6_phi_axis.csv. The rows correspond to different polar angles (theta) specified in the file fig6_theta_axis.csv. Note: file contains no column headers. fig6b_vectors.csv: CSV-formatted file with the following columns: vx: Cartesian x component of each vector in subset 5 (shown in subplot b) vy: Cartesian y component of each vector in subset 5 (shown in subplot b) vz: Cartesian z component of each vector in subset 5 (shown in subplot b) fig6b_theta_offs.csv: CSV-formatted file containing a 2-dimensional array with values of the offset angle to the nearest allowable vector (theta_offs) in degrees of subset 5, as shown on the surface of the sphere in subplot b. The columns correspond to different azimuthal angles (phi) specified in the file fig6_phi_axis.csv. The rows correspond to different polar angles (theta) specified in the file fig6_theta_axis.csv. Note: file contains no column headers. fig6c_vectors.csv: CSV-formatted file with the following columns: vx: Cartesian x component of each vector in subset 6 (shown in subplot c) vy: Cartesian y component of each vector in subset 6 (shown in subplot c) vz: Cartesian z component of each vector in subset 6 (shown in subplot c) fig6c_theta_offs.csv: CSV-formatted file containing a 2-dimensional array with values of the offset angle to the nearest allowable vector (theta_offs) in degrees of subset 6, as shown on the surface of the sphere in subplot c. The columns correspond to different azimuthal angles (phi) specified in the file fig6_phi_axis.csv. The rows correspond to different polar angles (theta) specified in the file fig6_theta_axis.csv. Note: file contains no column headers. fig6d_vectors.csv: CSV-formatted file with the following columns: vx: Cartesian x component of each vector in subset 8 (shown in subplot d) vy: Cartesian y component of each vector in subset 8 (shown in subplot d) vz: Cartesian z component of each vector in subset 8 (shown in subplot d) fig6d_theta_offs.csv: CSV-formatted file containing a 2-dimensional array with values of the offset angle to the nearest allowable vector (theta_offs) in degrees of subset 8, as shown on the surface of the sphere in subplot d. The columns correspond to different azimuthal angles (phi) specified in the file fig6_phi_axis.csv. The rows correspond to different polar angles (theta) specified in the file fig6_theta_axis.csv. Note: file contains no column headers. fig6_phi_axis.csv: CSV-formatted file containing the values of the azimuthal angle phi in radians corresponding to each column of the arrays in the files labeled "...theta_offs.csv" described above. fig6_theta_axis.csv: CSV-formatted file containing the values of the polar angle theta in radians corresponding to each row of the arrays in the files labeled "...theta_offs.csv" described above. Figure_07 --------- fig7_bn.csv: CSV-formatted file with the following columns: set_id: ID of the subset of polarization vectors as defined in the paper bn: Value of b_n as defined in the paper Figure_08 --------- fig8a_phi00.csv: CSV-formatted file for the data in subplot a, characterizing cross-sections of the plasma boundary at toroidal angle phi = 0 degrees for different magnet solutions, with the following columns: theta: Poloidal angle in radians for each point r_target: r coordinate for the target plasma boundary r_continuous: r coordinate for the solution with continuous dipole moments r_subset8: r coordinate for the discrete solution with Subset 8 r_subset5: r coordinate for the discrete solution with Subset 5 r_subset1: r coordinate for the discrete solution with Subset 1 z_target: z coordinate for the target plasma boundary z_continuous: z coordinate for the solution with continuous dipole moments z_subset8: z coordinate for the discrete solution with Subset 8 z_subset5: z coordinate for the discrete solution with Subset 5 z_subset1: z coordinate for the discrete solution with Subset 1 fig8c_iota.csv: CSV-formatted file for the data in subplot c, characterizing profiles of rotational transform (iota), with the following columns: s: Normalized enclosed toroidal flux (radial profile coordinate) target: Values of iota for the target plasma continuous: Values of iota for the solution with continuous dipole moments subset8: Values of iota for the discrete solution with Subset 8 subset5: Values of iota for the discrete solution with Subset 5 subset1: Values of iota for the discrete solution with Subset 1 fig8d_epsilon.csv: CSV-formatted file for the data in subplot c, characterizing the effective riple (epsilon effective to the 3/2 power, or "eps_eff"), with the following columns: s: Normalized enclosed toroidal flux (radial profile coordinate) target: Values of eps_eff (effective ripple) for the target plasma continuous: Values of eps_eff for solution with continuous dipole moments subset8: Values of eps_eff for the discrete solution with Subset 8 subset5: Values of eps_eff for the discrete solution with Subset 5 subset1: Values of eps_eff for the discrete solution with Subset 1 Figure_09 --------- fig9_profiles.csv: CSV-formatted data file with the plasma profile data plotted in Figure 9: s: Normalized enclosed toroidal flux (radial profile coordinate) pres: Plasma pressure (Pascals) dids: Absolute value of the derivative of net toroidal current with with respect to s Figure_10 --------- fig10_moment_data.csv: CSV-formatted file containing data for the magnets in the array shown in Figure 10. Note that the data table contains a row for every magnet in the arrangement given in the file fig1_magnet_arrangement.csv in the folder Figure_01; however, not all of those magnets are included in the solution array. Whether or not they are included is indicated in the column titled "rho", as described below. The first seven columns are the same as in the file fig1_magnet_arrangement.csv in the folder Figure_01: rid: ID for the group of magnets in the radial dimension zid: ID for the drawer in the vertical dimension pid: ID for the drawer in the toroidal dimension (ranges from 9-16) wid: ID for the magnet within the drawer in the toroidal dimension hid: ID for for the magnet within the drawer in the vertical dimension did: ID for the magnet within its radial group (rid) ioid: ID for drawers on the inboard side (1) or outboard side (2) The next three columns give the origin point of the dipole moment of each magnet in the lab frame (coincident with the geometric centroid): ox: Cartesian x coordinate of the magnet center (meters) oy: Cartesian y coordinate of the magnet center (meters) oz: Cartesian z coordinate of the magnet center (meters) The next three columns give the dipole moment vector in the lab frame: Mx: Cartesian x component of the dipole moment (A*m^2) My: Cartesian y component of the dipole moment (A*m^2) Mz: Cartesian z component of the dipole moment (A*m^2) The next three columns provide a unit vector perpendicular to the dipole moment: px: Cartesian x component of the perpendicular unit vector py: Cartesian y component of the perpendicular unit vector pz: Cartesian z component of the perpendicular unit vector The next column indicates whether the magnet is "on" or "off": rho: 1 if the magnet indicated in the row is included in the solution 0 if not included The next column encodes the polarization type: type: 0 if the magnet is not included in the solution array (rho=0) 1 for face polarization 2 for face-edge polarization 3 for face-corner polarization The next three columns contain a unit vector indicating the direction of the dipole moment in the frame of the magnet and its drawer: cyl_r: component of moment unit vector along the axis perpendicular to the faces of the magnet whose normal vectors point approximately in the major radial direction cyl_p: component of moment unit vector along the axis perpendicular to the faces of the magnet whose normal vectors point approximately in the toroidal direction cyl_z: component of the moment unit vector in the vertical (Cartesian z) dimension (which is also perpendicular to the top and bottom faces of the magnet) The last column is mainly for internal use: axid: identifier of the dipole moment direction that is unique for magnets with a given value of pid To plot the solution in MATLAB, color-coded in a manner similar to Figure 10, enter the following commands while operating in the Plotting directory: geomData = readtable('../Figure_01/fig1_magnet_arrangement.csv'); momentData = readtable('../Figure_10/fig10_moment_data.csv'); is_on = momentData.rho > 0; fvMagnets = qhex(table2array(geomData(is_on,8:end)), ... momentData.type(is_on)); figure(); patch(fvMagnets, 'FaceColor', 'Flat'); set(gca, 'DataAspectRatio', [1 1 1]); Figure_11 --------- fig11a_r.csv: CSV-formatted data file containing the radial (r) coordinates, in meters, of the puncture points of the field lines in the toroidal plane phi = 0 deg, as well as symmetric planes at phi = 120 deg and phi = 240 deg, as shown in subplot a. Each column represents a different field line. fig11a_z.csv: CSV-formatted data file containing the vertical (z) coordinates, in meters, of the puncture points of the field lines in the toroidal plane phi = 0 deg, as well as symmetric planes at phi = 120 deg and phi = 240 deg, as shown in subplot a. Each column represents a different field line. fig11b_r.csv: CSV-formatted data file containing the radial (r) coordinates, in meters, of the puncture points of the field lines in the toroidal plane phi = 60 deg, as well as symmetric planes at phi = 180 deg and phi = 300 deg, as shown in subplot b. Each column represents a different field line. fig11b_z.csv: CSV-formatted data file containing the vertical (z) coordinates, in meters, of the puncture points of the field lines in the toroidal plane phi = 60 deg, as well as symmetric planes at phi = 180 deg and phi = 300 deg, as shown in subplot b. Each column represents a different field line. Plotting -------- qhex.m: Matlab function used to visualize arrangements of hexahedral magnets. Usage information is available in its documentation string. Supplemental ------------ This directory contains input and output files from the VMEC and FIELDLINES codes used for the analysis in the paper. Documentation for the VMEC code can be found here: https://princetonuniversity.github.io/STELLOPT/VMEC Documentation for the FIELDLINES code can be found here: https://princetonuniversity.github.io/STELLOPT/FIELDLINES For documentation or access to the FAMUS or MAGPIE codes, please contact the author at khammond@pppl.gov. input.c09r00_axis_half_tesla: VMEC fixed-boundary input file for the target plasma configuration. wout_c09r00_axis_half_tesla.nc: NETCDF-formatted VMEC output file for the target plasma configuration. wout_subset5.nc: NETCDF-formatted VMEC output file for the free-boundary VMEC calculation of the plasma equilibrium confined by the NCSX TF coils and the discrete solution using Subset 5 of the polarizations. mgrid.subset5: Data file containing the vacuum magnetic field from the NCSX TF coils and the magnets from the discrete solution using Subset 5, usable for field line tracing with the FIELDLINES code and/or free-boundary equilibrium calculations with the VMEC code. solution_subset5.famus Specification of the dipole moments for the discrete magnet solution using polarizations from Subset 5 in the format used for input to the FAMUS code.