Hybrid model

LinearMHDDriftkineticCC

Hybrid linear ideal MHD coupled with energetic ions (5D drift-kinetic) via the current-coupling scheme.

Overview

LinearMHDDriftkineticCC is the reduced-kinetic hybrid current-coupling

model for energetic ions. It is useful when gyrophase averaging is acceptable but energetic-particle feedback on linear MHD still has to be retained.

Use cases

This model is appropriate for:
  • linear energetic-ion effects with guiding-center reduction
  • current-coupling hybrid mode studies in strong magnetic fields
  • verification of 5D hybrid coupling operators

Governing equations

PDEs solved by model:

MHD continuity:

MHD momentum:

MHD pressure:

MHD induction:

Energetic-particle drift-kinetic equation:

Energetic-particle moments:

where

Normalization

The bulk and energetic-particle flow scales are normalized with the

bulk Alfvén speed, while the magnetic moment carries its own unit:

Discretization

Time integration is performed by the following propagators (in sequence):
  1. struphy.propagators.push_guiding_center_bx_estar.PushGuidingCenterBxEstar
  2. struphy.propagators.push_guiding_center_parallel.PushGuidingCenterParallel
  3. struphy.propagators.current_coupling_5d_gradb.CurrentCoupling5DGradB
  4. struphy.propagators.current_coupling_5d_curlb.CurrentCoupling5DCurlb
  5. struphy.propagators.current_coupling_5d_density.CurrentCoupling5DDensity
  6. struphy.propagators.shear_alfven_current_coupling_5d.ShearAlfvenCurrentCoupling5D
  7. struphy.propagators.magnetosonic.Magnetosonic

Diagnostics

The following scalars are tracked during simulation:

  • MHD kinetic energy: en_U
  • Thermal pressure energy: en_p
  • Magnetic energy: en_B
  • Parallel energetic-particle energy: en_fv
  • Magnetic-moment energetic-particle energy: en_fB
  • Total energy: en_tot
  • Lost particles: n_lost_particles

Example

Create and initialize the linear MHD plus drift-kinetic CC model:

from struphy.models import LinearMHDDriftkineticCC

model = LinearMHDDriftkineticCC()
model.em_fields.b_field
model.mhd.velocity
model.energetic_ions.var