ProjectTorreyPines / FUSE.jl

FUsion Synthesis Engine
https://fuse.help/
Apache License 2.0
9 stars 0 forks source link

TF_wedge_thickness is incorrectly calculated #319

Open daveweisberg opened 1 year ago

daveweisberg commented 1 year ago

In init_build.jl line 143 the TF_wedge_thickness is calculated based on the inner radius of the HFS TF coil. This is incorrect. There are two options for this parameter:

  1. The TF_wedge_thickness is calculated using the outer radius of the HFS TF coil. Ideally, it will be exactly equal to the linear distance between the two vertices of the TF HFS wedge, such that the TF leg maintains a constant width through the transition from the toroidally symmetric centerpost to the toroidally discrete legs. The radial width of the LFS TF is then calculated such that the cross-sectional area (radial width x wedge thickness)of the TF coil is the same on both the LFS and HFS.

  2. The TF_wedge_thickness is calculated such that the cross-sectional area (radial width x wedge thickness) of the TF coil is the same on both the LFS and HFS. This is a function of the LFS TF radial width, which can either be assumed to be equal to the HFS TF radial width (probably the simplest option) or assigned some other value.

Note that both options result in the TF coil having uniform cross-sectional area in its path from HFS to LFS and back again. This is key because we want the volumetric fraction of steel and superconductor to be the same all the way around, so that the costing calculation can simply take the total TF volume and multiply by the various fractional values to get the volume of steel, REBCO, etc. The best way to ensure this uniformity is to ensure that the TF coil cross section is uniform.

orso82 commented 1 year ago

@daveweisberg please note that the TF volumes are calculated keeping the thickness constant https://github.com/ProjectTorreyPines/IMAS.jl/blob/dd7e431aeb0142a5775689c822c152d9ba9e982c/src/physics/build.jl#L196

Maybe I am missing something?

daveweisberg commented 1 year ago

I drew a schematic to better describe what I'm talking about:

IMG_6548

This is a top-down view of one TF coil, with the HFS on the left and the LFS on the right. I'm showing a midplane cross-section, with dashed lines indicating the coil leg path as it curves up and around the plasma to connect the HFS centerpost to the LFS leg. Our goal is to define the TF geometry so that the cross-sectional area on the HFS (left) is equal to the area on the LFS (right).

First, note that the HFS end_radius is the correct radial length to calculate the "blue" TF_wedge_thickness, corresponding to option 1 above. In this case, the LFS radial thickness is calculated to make the two areas equal. Note that in this case the HFS and LFS radial thicknesses are not the same.

In the orange case, which corresponds to option 2 above, the HFS and LFS thicknesses are equal. The TF_wedge_thickness is calculated to ensure that the HFS and LFS areas are also equal, and so is different from the straight-line length from the two end_radius points of the HFS wedge.

The total coil volume is the sum of the centerpost volume (= cross-sectional area of HFS wedge X centerpost height) and outboard leg volume (= TF_wedge_thickness X poloidal area of outboard leg shape).

orso82 commented 1 year ago

@daveweisberg I have updated the wedge thickness to now take the end_radius of the HFS layer. Incidentally, looking at this I have found another bug, where the wedge thickness was evaluated during the initialization phase, but was not getting updated as the TF layers changed (as done for example by the ActorHFSsizing). I have now fixed that too, by making the wedge thickness a IMAS expression: https://github.com/ProjectTorreyPines/FUSE.jl/commit/e5a96350a900469b41a925a05ecd04a1e8bc262b https://github.com/ProjectTorreyPines/IMAS.jl/commit/535beecbe804dddfc98df8b781af6e3bec320082

orso82 commented 1 year ago

I am going to keep this issue open to remind ourselves that we can improve the TF geometry calculation further based on your diagram (especially looking at the low-field side).