Skip to content

quench

COPPER_DENSITY = 8960.0 module-attribute

NB3SN_DENSITY = 8040.0 module-attribute

calculate_quench_protection_current_density(tau_discharge, peak_field, f_cu, f_he, t_he_peak, t_max, cu_rrr, detection_time, 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
peak_field float

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

required
f_cu float

f_cu: Fraction of conductor cross-section that is copper.

required
f_he float

f_he: Fraction of cable occupied by helium.

required
t_he_peak float

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

required
t_max float

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

required
cu_rrr float

cu_rrr: Residual resistivity ratio of copper.

required
detection_time float

detection_time: 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
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
def calculate_quench_protection_current_density(
    tau_discharge: float,
    peak_field: float,
    f_cu: float,
    f_he: float,
    t_he_peak: float,
    t_max: float,
    cu_rrr: float,
    detection_time: 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].
    peak_field:
        peak_field: Magnetic field at the peak point [T].
    f_cu:
        f_cu: Fraction of conductor cross-section that is copper.
    f_he:
        f_he: Fraction of cable occupied by helium.
    t_he_peak:
        t_he_peak: Peak helium temperature at quench initiation [K].
    t_max:
        t_max: Maximum allowed conductor temperature during quench [K].
    cu_rrr:
        cu_rrr: Residual resistivity ratio of copper.
    detection_time:
        detection_time: 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(t_he_peak, t_max, peak_field, cu_rrr, fluence)

    f_cond = 1.0 - f_he  # Fraction of the cable XS area that is not helium
    f_cu_cable = f_cond * f_cu  # Fraction of the cable XS that is copper
    f_sc_cable = f_cond * (1.0 - f_cu)  # Fraction of the cable XS that is superconductor

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

    return np.sqrt(factor * f_cu_cable * total_integral)