Skip to content

Superconducting TF silently loses all inboard thickness when dr_tf_wp_with_insulation is not an iteration variable #4534

Description

@dallonby

Describe the bug

Build.calculate_radial_build only derives dr_tf_inboard from the winding-pack and case thicknesses when dr_tf_wp_with_insulation (ixc = 140) is an iteration variable:

# Issue #514 Radial dimensions of inboard leg
# Calculate self.data.build.dr_tf_inboard if
# self.data.tfcoil.dr_tf_wp_with_insulation is an iteration variable (140)
if 140 in self.data.numerics.ixc[0 : self.data.numerics.n_iteration_variables]:
    self.data.build.dr_tf_inboard = (...)

If a user supplies dr_tf_wp_with_insulation as a plain input instead (a natural thing to do when freezing a design), and does not use ixc 13 or set dr_tf_inboard explicitly, dr_tf_inboard silently stays at its default of 0.0: the TF coil vanishes from the radial build. The run then fails far downstream and confusingly — radial-build consistency (icc 11) violated by the full coil thickness, TF stress constraints evaluating at tens of GPa against an 850 MPa limit — with no message pointing at the cause. Whether a physical quantity is derived or defaulted-to-zero currently depends on the numerics configuration.

Reproduce: take tests/regression/input_files/st_regression.IN.DAT, replace ixc = 140 with a fixed dr_tf_wp_with_insulation = 0.63 (and ixc = 57 with dr_tf_nose_case = 0.25); the radial build silently loses ~0.93 m and VMCON fails with no explanation.

Proposed fix

Validate at input-check time (check_process) that a superconducting TF has a positive dr_tf_inboard when neither ixc = 13 nor ixc = 140 is active, with an actionable error message. Stellarators (which compute dr_tf_inboard during the model run) and IFE excluded. All seven shipped regression inputs pass the check. PR ready (found during an independent audit of v3.4.2; related to the older #514 TODO on making dr_tf_inboard an output).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions