Skip to content

[PyTokMHD] 2D Morrison bracket limits realistic 3D scenarios #20

@callme-YZ

Description

@callme-YZ

Problem

v2.0 uses 2D Morrison bracket, limiting 3D realism

Current design:

  • 2D bracket: (r, θ) spatial grid
  • z-direction: Fourier modes (periodic)
  • Toroidal but not truly 3D

Code evidence:

  • toroidal_bracket.py - 2D operators
  • z handled via FFT (spectral)

Limitations

Cannot model:

  1. ❌ Full 3D magnetic reconnection
  2. ❌ Realistic divertor geometry (X-point in poloidal plane only)
  3. ❌ 3D RMP coil fields (simplified to 2D + Fourier)
  4. ❌ Edge localized modes (ELMs) with full 3D structure

Can model:

  • ✅ Ballooning modes (2D + periodic is sufficient)
  • ✅ Toroidal coupling (ε∂/∂φ terms included)
  • ✅ RMP control (simplified 3D forcing)

Impact on v3.0

If v3.0 goal = better ballooning benchmark:

  • ✅ Current 2D framework sufficient
  • ⏸️ This issue can be deferred

If v3.0 goal = realistic EAST/DIII-D scenarios:

  • ⚠️ May need full 3D
  • Depends on which physics phenomena to model

Proposed Solution

Option A: Full 3D grid (Major upgrade)

  • Replace 2D + Fourier with 3D spatial grid
  • Effort: 2-3 months
  • Benefit: General 3D capability
  • Cost: Memory × N_z, compute × N_z

Option B: Keep 2D + enhance Fourier

  • Better z-resolution (more modes)
  • Improved spectral operators
  • Effort: 2-3 weeks
  • Benefit: Better accuracy within 2D limit
  • Limitation: Still fundamentally 2D

Option C: Defer to v4.0

  • v3.0 focuses on 2D ballooning (proven strength)
  • Full 3D as major future version
  • Recommended

Decision Gate

YZ decision needed: v3.0 scenarios require full 3D?

  • If NO → Close as deferred ✅
  • If YES → Choose Option A or B

Priority

P3-low 🟢 - Current 2D sufficient for ballooning

Defer unless v3.0 explicitly requires 3D ⏸️


Reported by: 小P ⚛️
Date: 2026-03-23

Metadata

Metadata

Assignees

No one assigned

    Labels

    P3-lowNice to haveenhancementNew feature or request

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions