Skip to content

Guiding Center

By solving the trajectories of particles, we can calculate the actual guiding center orbits by following the definition. This is supported directly via get_gc. TestParticle.jl also provides several methods to trace the guiding center, serving different purposes.

Diagnostic Methods (Reference-based)

These methods require a full particle trajectory solution to calculate drifts. They are useful for analyzing which drift components dominate or checking the validity of drift approximations.

  • trace_gc_drifts!: Calculates the guiding center trajectory using standard analytical drift formulas (ExB, Gradient-B, Curvature drifts). It uses the parallel and perpendicular velocities from the full particle simulation.

  • trace_gc_exb!: Calculates the trajectory considering only the E×B drift and parallel motion. Useful for identifying ExB dominance.

  • trace_gc_flr!: Includes Finite Larmor Radius (FLR) corrections to the ExB drift, suitable for nonuniform electric fields.

Self-consistent Solvers (GCA)

trace_gc! solves the 1st order Guiding Center Approximation (GCA) equations. This approximation holds when the characteristic scale of field variations L (often represented by the curvature radius) is much larger than the Larmor radius ρ (Lρ).

State Variables: The solver evolves the 4D state [R,v]:

  • R: The spatial position of the guiding center.

  • v: The velocity parallel to the magnetic field.

Parameters:

  • μ=p2/(2mB): The magnetic moment (adiabatic invariant). It is calculated from initial conditions and treated as a constant parameter.

Effective Fields:

To incorporate geometric drifts (curvature) and mirror forces naturally, we define the effective magnetic and electric fields:

B=B+mvq×bE=E1q(μB)

where b=B/B is the unit vector along the magnetic field.

Equations of Motion:

The time evolution of the guiding center is governed by:

R˙=1B[vB+E×b]v˙=qmBBE

where B=bB.

  • Term 1 of R˙ (B) represents motion along the field line plus curvature drift.

  • Term 2 of R˙ (E×b) represents the E×B drift and the B drift.

In theoretical treatments, individual drift terms are often derived separately (see below). By solving the GCA equations, all these drifts are captured self-consistently to first order.

Summary of guiding center drifts

General force:

vf=1qF×BB2

Electric field:

vE=E×BB2

Gravitational field:

vg=mqg×BB2

Nonuniform electric field:

vE=(1+14rL22)E×BB2

Nonuniform magnetic field:

Grad-B:

vB=±12vrLB×BB2=mv22qB3B×B

Curvature drift:

vc=mv2qRc×BRc2B2=mv2qB4B×[BB]=mv2qB3B×B(current-free)

Curved vacuum field:

vc+vB=mq(v2+12v2)Rc×BRc2B2=mqB×BB3(v2+12v2)

Polarization drift:[1]

vp=±1ωcBdEdt

Adiabatic Invariants

See more thorough notes on the adiabatic invariants.


  1. In common test particle models, we assume static EM fields, so the polarization drift as well as adiabatic heating is not present. However, it is easily achieveable here in this package. ↩︎