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

オープン
#635 コメント 1 件 リアクション 0 件 担当者 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
平均マージ
4日 3時間
マージ済み PR(30日)
70

環境構築

  • Dockerfile・Docker Compose ファイルなし
  • プルリクエストのテンプレートあり
  • コントリビューションガイドなし

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

OpenFUSIONToolkit/GPEC のほかの issue

OpenFUSIONToolkit/GPEC の issue をすべて見る

似ている issue

Julia の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。