PerturbedEquilibrium - FEATURE - Complete the resistive perturbed-equilibrium workflow from Galerkin and matched results

Abierto
#635 1 comentario 0 reacciones 1 asignado Ver en GitHub

Los mantenedores suelen responder en 3 días

@matt-pharr ya está trabajando en esto.

Desde el 2/11/2026.

Evaluación

Este issue todavía no se ha evaluado.

Descripción

feature

The resistive, coil-driven perturbed equilibrium cannot run end to end yet. That run is Galerkin Δ′ with the edge-source (rpec) columns, then inner-layer matching, then PerturbedEquilibrium. It is the last link of Fortran GPEC's RDCON → RMATCH → GPEC chain (PrincetonUniversity/GPEC#210).

Why it stops: the plasma response is built from the free-boundary δW, through the edge response wp. Galerkin and inner-layer-matched results do not publish wp, so #556 made PerturbedEquilibrium refuse them with an error instead of silently returning only the forcing.

Two ways to close it:

  1. Publish wp from closed Galerkin and matched results. The existing energy route then works unchanged, and #556's refusal lifts on its own (it checks free_boundary).
  2. Port Fortran's other inductance route (resp_index = 1).
    • Fortran builds the plasma inductance from the flux response and a surface-current response, L = Φ·K⁻¹ (gpec/gpresp.f, plas_indmats(j) from kapmats(j) and flxmats).
    • For Galerkin and RDCON results Fortran computes only j = 1 and forces resp_index = 1 (gpec/rdcon.f: "since we don't have energies").
    • resp_index = 0, the energy identity, is what Julia uses today.

What is already ready:

  • examples/DIIID-like_gal_resistive_pe_example keeps its coil forcing and [PerturbedEquilibrium] section for this.
  • The harness case gal_resistive_pe tracks the eight PerturbedEquilibrium/SingularCoupling/ quantities. They read N/A until this lands; until then its remove_sections stops the run before PE, so it duplicates gal_resistive_diiid.
  • Done when: the remove_sections line is dropped and the eight quantities are tracked.
  • #633, the check against Fortran RMATCH, needs this for its last step.

Timing: v2.1 might be a good fit, but @matt-pharr, please set the milestone that works for you.

Lenguaje dominante
Julia
Estrellas
11
Forks
7
Merge medio
4 d 3 h
PR fusionados (30 d)
70

Preparar el entorno

  • Sin Dockerfile ni archivo de Docker Compose
  • Tiene una plantilla de pull request
  • Sin guía de contribución

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 OpenFUSIONToolkit/GPEC

Todos los issues de OpenFUSIONToolkit/GPEC

Issues similares

Más issues de Julia

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.