Skip to content

[math-06] Verify equilibrium and plasma-background formulas #198

Description

@krystophny

Stage: KAMEL equilibrium and plasma-background formulas
Source language: Wolfram Language with generated profile fixtures
Manuals to read first: Markl dissertation DOI 10.3217/efp2p-0x485, Methods “Cylindrical plasma” and ASDEX Upgrade profile sections; KIM/src/background_equilibrium; corresponding KiLCA plasma-parameter routines; #185 and #186
Depends on: #193

Goal

Verify every equilibrium, geometry, species, profile, force-balance, collision-frequency, thermodynamic-force, and derived-background formula consumed by KIM or KiLCA. Enforce units, multispecies quasineutrality, positivity, and derivative consistency.

Files to edit

  • verification/mathematica/06_equilibrium_profiles_units.wl: NEW symbolic and dimensional checks.
  • verification/oracles/plasma_background.dat: NEW multispecies profile and derived-value fixtures.
  • verification/FORMULA_INDEX.md: map all background expressions and approximations.

Behavior to implement

Derive cylindrical B_theta/B_z, q, k_s, k_parallel, resonance condition, equilibrium current and force balance, E_r, rotation frequencies, vT, omega_c, signed and absolute Larmor radii, Debye lengths, Coulomb logarithms, electron/ion collision frequencies, density rescaling, A1/A2, x1/x2, and cell-centre/interpolation formulas. Verify CGS conversions and every factor of c, eV-to-erg conversion, charge number, mass number, and sqrt(2). Prove sum_s Z_s n_s=n_e for arbitrary mixtures and verify derivatives are taken after profile periodization.

Scaffold

derived = <|"vT"->Sqrt[T ev/mass], "omegaC"->charge B/(mass c), "rhoL"->Abs[vT/omegaC]|>;
check["quasineutral mixture", FullSimplify[Sum[Z[s] n[s],{s,ions}]-ne, constraints] == 0];
check["force balance units", unitReduce[ErFormula] == electricFieldCGS];

Positive fixtures to add

  • Electron/deuterium and electron/deuterium/impurity profiles with distinct temperatures.
  • Axis-near and finite-radius geometry points, resonance crossing, zero and finite rotation, and profile-periodization seams.

Negative fixtures to add

  • Charge-proportional ion-density reconstruction that violates quasineutrality, electron instead of ion window scale, wrong eV conversion, or interpolated singular derived ratio: fail.

Makefile target

Add the Mathematica script and background-oracle CTests for KIM and KiLCA.

Success criteria

math -script verification/mathematica/06_equilibrium_profiles_units.wl
ctest --test-dir build -R 'test_(periodic_background|profile_input|plasma)' --output-on-failure

Non-goals

  • Do not treat numerical interpolation agreement as proof of a physical formula.
  • Do not assume one ion species or a common ion temperature.

Verification

math -script verification/mathematica/06_equilibrium_profiles_units.wl

Metadata

Metadata

Assignees

Labels

P1Urgent: ship this sprintdocumentationImprovements or additions to documentation

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions