Kinetic model

DriftKineticElectrostaticAdiabatic

Electrostatic drift-kinetic model for a single ion species with adiabatic electrons.

Overview

This model is an electrostatic drift-kinetic reduction for strongly

magnetized ions in a fixed magnetic equilibrium. Electrons are not evolved kinetically; instead they enter through the adiabatic response in the quasi-neutrality solve. The implementation supports control variates for the field solve.

Use cases

This model is appropriate for:
  • electrostatic drift-kinetic ion turbulence studies
  • strongly magnetized plasmas with adiabatic electrons
  • guiding-center PIC verification in realistic magnetic geometry
  • low-frequency regimes where full gyrophase resolution is unnecessary

Governing equations

PDEs solved by model:

Drift-kinetic equation:

Poisson equation:

where is the guiding center distribution and

The control variate method can be activated in the Poisson equation; if enabled, the following Poisson equation is solved:

Normalization

The reference speed is the ion thermal speed and the electrostatic

fields are scaled accordingly:

The small parameter is .

Discretization

Time integration is performed by the following propagators (in sequence):
  1. struphy.propagators.implicit_diffusion.ImplicitDiffusion
  2. struphy.propagators.push_guiding_center_bx_estar.PushGuidingCenterBxEstar
  3. struphy.propagators.push_guiding_center_parallel.PushGuidingCenterParallel

Diagnostics

The following scalars are tracked during simulation:

  • Field energy: en_phi
  • Guiding-center particle energy: en_particles
  • Total energy: en_tot

Example

Create and initialize the drift-kinetic adiabatic-electron model:

from struphy.models import DriftKineticElectrostaticAdiabatic

model = DriftKineticElectrostaticAdiabatic()
model.em_fields.phi
model.kinetic_ions.var