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

未关闭
#635 1 条评论 0 个 reaction 已指派 1 人 在 GitHub 查看

维护者通常 3 天内回复

@matt-pharr 已经在做这个了。

开始于 2026年11月2日。

评估

这个 Issue 还没有评估数据。

描述

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.

主要语言
Julia
星标
11
派生
7
平均合并
3 天 11 小时
30 天内合并 PR
68

环境准备

  • 没有 Dockerfile 或 Docker Compose 文件
  • 有 Pull Request 模板
  • 没有贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

OpenFUSIONToolkit/GPEC 的其他 Issue

查看 OpenFUSIONToolkit/GPEC 的全部 Issue

相似的 Issue

更多 Julia Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。