Skip to content

quench

Module for quench protection calculations and material properties for TF coils.

COPPER_DENSITY = 8960.0 module-attribute

NB3SN_DENSITY = 8040.0 module-attribute

calculate_quench_protection_current_density(tau_discharge, b_peak, f_a_cable_copper, f_a_cable_space_helium, temp_he_peak, temp_quench_max, cu_rrr, t_quench_detection, fluence)

Calculates the current density limited by the protection limit.

Simplified 0-D adiabatic heat balance "hotspot criterion" model.

Uses temperature- and magnetic field-dependent material properties to determine the maximum allowable winding pack current density during a quench. Assumes that the magnetic field does not decay over time and accounts for contributions from copper, helium, and superconductor materials using temperature integrals.

Parameters:

Name Type Description Default
tau_discharge float

tau_discharge: Quench discharge time constant [s].

required
b_peak float

b_peak: Magnetic field at the peak point [T].

required
f_a_cable_copper float

f_a_cable_copper: Fraction of cable cross-section that is copper.

required
f_a_cable_space_helium float

f_a_cable_space_helium: Fraction of cable space occupied by helium.

required
temp_he_peak float

temp_he_peak: Peak helium temperature at quench initiation [K].

required
temp_quench_max float

temp_quench_max: Maximum allowed conductor temperature during quench [K].

required
cu_rrr float

cu_rrr: Residual resistivity ratio of copper.

required
t_quench_detection float

t_quench_detection: Detection time delay [s].

required
fluence float

fluence: Neutron fluence [n/m²].

required

Returns:

Type Description
float

Maximum allowable winding pack current density [A/m²].

Notes
  • Assumes constant magnetic field over the duration of the quench.
  • Assumes the dump resistor has a constant resistance much higher than that of the TF coil.
  • Operates on the current-carring cross-section of a conductor. The jacket and insulation are ignored. The actual allowable WP current density must be weighted with the ratio of current-carrying cross-section vs. total WP cross-section (including jacket and insulation).
  • Presently only applicable to LTS TF coil winding packs (Nb3Sn assumed)
Source code in process/models/tfcoil/quench.py
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
def calculate_quench_protection_current_density(
    tau_discharge: float,
    b_peak: float,
    f_a_cable_copper: float,
    f_a_cable_space_helium: float,
    temp_he_peak: float,
    temp_quench_max: float,
    cu_rrr: float,
    t_quench_detection: float,
    fluence: float,
) -> float:
    """Calculates the current density limited by the protection limit.

    Simplified 0-D adiabatic heat balance "hotspot criterion" model.

    Uses temperature- and magnetic field-dependent material properties to determine the
    maximum allowable winding pack current density during a quench. Assumes that the
    magnetic field does not decay over time and accounts for contributions from copper,
    helium, and superconductor materials using temperature integrals.


    Parameters
    ----------
    tau_discharge:
        tau_discharge: Quench discharge time constant [s].
    b_peak:
        b_peak: Magnetic field at the peak point [T].
    f_a_cable_copper:
        f_a_cable_copper: Fraction of cable cross-section that is copper.
    f_a_cable_space_helium:
        f_a_cable_space_helium: Fraction of cable space occupied by helium.
    temp_he_peak:
        temp_he_peak: Peak helium temperature at quench initiation [K].
    temp_quench_max:
        temp_quench_max: Maximum allowed conductor temperature during quench [K].
    cu_rrr:
        cu_rrr: Residual resistivity ratio of copper.
    t_quench_detection:
        t_quench_detection: Detection time delay [s].
    fluence:
        fluence: Neutron fluence [n/m²].

    Returns
    -------
    float
        Maximum allowable winding pack current density [A/m²].

    Notes
    -----
    - Assumes constant magnetic field over the duration of the quench.
    - Assumes the dump resistor has a constant resistance much higher
    than that of the TF coil.
    - Operates on the current-carring cross-section of a conductor. The
    jacket and insulation are ignored. The actual allowable WP current
    density must be weighted with the ratio of current-carrying cross-section
    vs. total WP cross-section (including jacket and insulation).
    - Presently only applicable to LTS TF coil winding packs (Nb3Sn assumed)
    """
    # Default fluence is too high for this model
    if (fluence < 0.0) | (fluence > 1.5e23):
        warn("Fluence values out of range [0.0, 1.5e23]; kludging.", stacklevel=2)
        fluence = np.clip(fluence, 0.0, 1.5e23)

    i_he, i_cu, i_sc = _quench_integrals(
        temp_he_peak, temp_quench_max, b_peak, cu_rrr, fluence
    )

    f_cu_cable = (1.0 - f_a_cable_space_helium) * f_a_cable_copper
    f_sc_cable = (1.0 - f_a_cable_space_helium) * (1.0 - f_a_cable_copper)

    factor = 1.0 / (0.5 * tau_discharge + t_quench_detection)
    total_integral = (
        f_a_cable_space_helium * i_he + f_cu_cable * i_cu + f_sc_cable * i_sc
    )

    return np.sqrt(factor * f_cu_cable * total_integral)