cheatah
Struct

space::irbem::GradCurvCurl

cheatah-space v0.1.0-alpha — Biome Standard 0.6.5-alpha

The guiding-centre geometry that follows from BDerivatives — IRBEM's COMPUTE_GRAD_CURV_CURL outputs, typed.

Every member is a geometric factor, not a velocity: the gradient drift of a particle is (m v⊥²/2qB)·grad_drift and the curvature drift is (m v∥²/qB)·curv_drift (Northrop 1963, §1.3). The 1/B is not decoration — grad_drift and curv_drift are both 1/Re, so an energy-over-charge multiplier alone does not make a velocity; it takes m v²/(qB), which is V/T, i.e. m²/s, over a length. Separating the geometry from the particle is what lets one field evaluation serve every energy and pitch angle at that point, which is exactly the shape a radiation-belt calculation has.

Constants & variables

var double grad_par #

∇|B| · B̂, nT/Re — the field's rate of change ALONG itself.

Its sign is the magnetic hemisphere (see hemisphere) and its zero is the magnetic equator.

var fixarray::vec3d grad_perp #

∇|B| − grad_par·B̂, nT/Re — the part of the gradient that drives drift.

var fixarray::vec3d grad_drift #

(B̂ × grad_perp)/|B|, 1/Re — the geometric factor of the gradient drift.

var fixarray::vec3d curvature #

(B̂·∇)B̂, 1/Re — the field-line curvature vector, pointing toward the centre of curvature.

var double r_curv #

1/|curvature|, Re — the radius of curvature; infinite for a straight field line.

var fixarray::vec3d curv_drift #

B̂ × curvature, 1/Re — the geometric factor of the curvature drift.

var fixarray::vec3d curl_b #

∇ × B, nT/Re — proportional to the local current density through Ampère's law, and zero wherever the field is a pure potential field.

var double div_b #

∇ · B, nT/Re — zero by Maxwell, so a nonzero value measures the differencing error and nothing else.

That makes it the free residual diagnostic this struct carries.