Skip to content

Integrate GEQDSK vacuum exterior into 1.4 development - #4

Merged
zhangtakeda merged 2 commits into
mainfrom
codex/main-1.4-prep
Sep 8, 2026
Merged

zhangtakeda merged 2 commits into
mainfrom
codex/main-1.4-prep

Conversation

@zhangtakeda

Copy link
Copy Markdown
Member

Summary

  • make GEQDSK exports solve the current-free Grad--Shafranov equation outside the LCFS by default
  • retain the explicit psi_outside fixed-fill interface
  • mark main as the 1.4.0.dev0 development line, distinct from the published v1.3.5 maintenance release

Validation

  • ruff check veqpy tests benchmarks demo.py demo_geqdsk.py
  • pytest -q — 451 passed, 16 skipped, 1 expected warning
  • python -m compileall -q veqpy tests benchmarks demo.py demo_geqdsk.py
  • python -m build and twine check for wheel and sdist
  • isolated wheel import reported veqpy 1.4.0.dev0 outside the source tree

Numerical qualification

  • distorted LCFS on a 49 x 53 rectangular grid with both physical flux-span signs
  • exterior vacuum GS residual below 2.0e-12 away from cut cells
  • far-exterior topology barrier below 1.0e-6; closed contours remain in the LCFS collar

Replace the CHEASE-inspired ray extrapolation with a current-free
Grad-Shafranov solve on the rectangular exterior. Preserve the explicit
psi_outside override for callers that require a fixed fill value.

Protocol: std-commit/1
Contract-Impact: compatible
Scientific-Impact: numerical
Version-Impact: patch
Contract: GEQDSK export defaults to vacuum GS outside the LCFS while retaining psi_outside
Validated: ruff check veqpy/model/equilibrium.py tests/test_geqdsk_exterior_topology.py => passed
Validated: pytest tests/test_geqdsk_exterior_topology.py -q => 2 passed
Qualified-With: distorted LCFS on a 49 x 53 rectangular grid with both flux-span signs
Qualified: exterior vacuum GS residual away from cut cells => maximum absolute residual below 2.0e-12
Qualified: far-exterior topology barrier => below 1.0e-6 with closed contours confined to four grid diagonals
Reference: v1.3.5 commit 7e19922
Set the source-tree package version to the next minor development line so
main cannot be confused with the independently published v1.3.5 artifact.

Protocol: std-commit/1
Contract-Impact: none
Scientific-Impact: none
Version-Impact: minor
Validated: ruff check veqpy tests benchmarks demo.py demo_geqdsk.py => passed
Validated: pytest -q => 451 passed, 16 skipped, 1 expected warning
Validated: python -m compileall -q veqpy tests benchmarks demo.py demo_geqdsk.py => passed
Validated: python -m build and twine check => wheel and sdist passed
Validated: isolated wheel smoke import => veqpy 1.4.0.dev0 imported outside source tree
@zhangtakeda
zhangtakeda merged commit 2b64c9a into main Sep 8, 2026
4 checks passed
@zhangtakeda
zhangtakeda deleted the codex/main-1.4-prep branch September 8, 2026 03:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant