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):
struphy.propagators.implicit_diffusion.ImplicitDiffusionstruphy.propagators.push_guiding_center_bx_estar.PushGuidingCenterBxEstarstruphy.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