Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

PROCESS has three separate TF temperature margin variables. For CROCO two are calculated differently

Abierto
#4,687 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

@CoronelBuendia ya está trabajando en esto.

Desde el 15/10/2026.

  • #4689 de @CoronelBuendia — abierto

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
35/100
Tipo de issue
Refactorización
Claridad
Bastante claro
Estado de actividad
Activo
Stack tecnológico
python
Área
backend

Línea de trabajo

Start in tfcoil_variables.py, where tmargmin, temp_margin and temp_tf_superconductor_margin are declared, then find every read and write of temp_margin and tmargmin across the codebase. Compare the CROCO path, which sets temp_margin via superconductors.current_sharing_rebco and temp_tf_superconductor_margin via calculate_superconductor_temperature_margin. The issue needs a maintainer decision on which name survives before any edit. Done means one temperature-margin variable remains, with the availability routine and the margin constraint still giving the same results.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Bug TF Coil

Echoes of #527

//tfcoil_variables.py

    tmargmin: float = 0.0
    """minimum allowable temperature margin : TFC AND CS (K)"""

    temp_margin: float = 0.0
    """temperature margin (K)"""

    temp_tf_superconductor_margin: float = 0.0
    """TF coil superconductor temperature margin (K)"""

For CICC, temp_margin = temp_tf_superconductor_margin. No-brainer.

For CROCO, it's a horror show, with the two being calculated one after the other with different superconducting parameterisations.
temp_margin is calculated with one hard-coded REBCO current density parameterisation:

        # Temperature margin
        current_sharing_t = superconductors.current_sharing_rebco(
            b_tf_inboard_peak, j_superconductor
        )
        tmarg = current_sharing_t - temp_tf_peak
        self.data.tfcoil.temp_margin = (
            tmarg  # Only used in the availabilty routine - see comment to Issue #526
        )

temp_tf_superconductor_margin is calculated with an input-based current density parameterisation:

        if self.data.tfcoil.i_str_wp == 0:
            strain = self.data.tfcoil.str_tf_con_res
        else:
            strain = self.data.tfcoil.str_wp

        self.data.tfcoil.temp_tf_superconductor_margin = (
            self.calculate_superconductor_temperature_margin(
                i_tf_superconductor=self.data.tfcoil.i_tf_sc_mat,
                j_superconductor=d_sc_tf.j_tf_superconductor,
                b_tf_inboard_peak=self.data.tfcoil.b_tf_inboard_peak_with_ripple,
                strain=strain,
                bc20m=d_sc_tf.b_tf_superconductor_critical_zero_temp_strain,
                tc0m=d_sc_tf.temp_tf_superconductor_critical_zero_field_strain,
                c0=1.0e10,
                temp_tf_coolant_peak_field=self.data.tfcoil.tftmp,
                data=self.data,
            )
        )

temp_margin is only used in the availability calculations, not in the temperature margin constraint.

tmargmin appears to exist for backwards compatibility only, and applies to both TF and CS.

temp_tf_superconductor_margin is the most explicit name, and the one used most frequently. Please could we simplify these down, it's rather confusing.

Lenguaje dominante
Python
Estrellas
74
Forks
29
Merge medio
3 d 7 h
PR fusionados (30 d)
43

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de ukaea/PROCESS

Todos los issues de ukaea/PROCESS

Issues similares

Más issues de Python

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.