Salut r/Physics / r/Fusion,
Je bosse depuis plusieurs mois sur un solveur numérique maison, PowerUnit, basé à l’origine sur une architecture Yang–Mills.
Cette semaine, j’ai terminé l’intégration complète de l’équation de Grad–Shafranov, utilisée pour calculer l’équilibre MHD dans les Tokamaks.
Et aujourd’hui… j’ai obtenu mon premier équilibre complet.
🧠 Contexte rapide
L’équation de Grad–Shafranov :
Δ
⋆
𝜓
=
−
𝜇
0
𝑅
2
𝑝
′
(
𝜓
)
−
1
2
𝑑
𝐹
2
𝑑
𝜓
décrit l’état stationnaire d’un plasma confiné magnétiquement.
C’est une EDP elliptique non‑linéaire, très sensible aux plateaux rigides, aux instabilités UV et aux stagnations.
Les solveurs pros (EFIT, CHEASE, HELENA, PSI‑Tri) utilisent des techniques avancées pour gérer ça.
J’ai tenté de reproduire une partie de cette logique dans mon propre solveur.
⚙️ Ce que PowerUnit a accompli
Après 30 000+ itérations, le solveur a atteint un état où :
aucune direction de descente (même à 1e‑6) ne réduisait l’action MHD,
les trois directions de “controlled recovery” étaient testées,
tous les pas étaient REJECTED,
la stagnation était détectée proprement,
la procédure “smooth gauge recovery” s’est déclenchée,
et le solveur a finalement marqué :
Status = COMPLETE (MHD equilibrium)
Résidu final :
𝑅
final
=
3.421599476413
×
10
13
Build stable, aucune divergence, aucune explosion UV.
📌 Points techniques
Line search multi‑échelle (5e‑5 → 1e‑6)
Détection automatique de stagnation
Recovery directions 1/3, 2/3, 3/3
Préconditionnement inspiré de
(
−
Δ
)
−
1
)
Architecture héritée de mon solveur Yang–Mills
100 super‑cycles complets
Convergence reproductible