Particle propagator

PushGuidingCenterParallel

Advances ions.

What it solves

For each marker , solves

where

where can be the full magnetic field (equilibrium + perturbation). The electric potential phi and/or the magnetic perturbation b_tilde can be ignored by passing None. In logical space this is given by :

Available algorithms:

Explicit from struphy.ode.utils.ButcherTableau struphy.pic.pushing.pusher_kernels_gc.push_gc_Bstar_discrete_gradient_1st_order struphy.pic.pushing.pusher_kernels_gc.push_gc_Bstar_discrete_gradient_1st_order_newton struphy.pic.pushing.pusher_kernels_gc.push_gc_Bstar_discrete_gradient_2nd_order

Variables it advances

The variables this step updates over a time step dt, and the discrete spaces each one accepts.

NameKindAccepted spaces
ionsPICVariable

Options

Set these on the propagator in a parameter file, for example PushGuidingCenterParallel.Options(evaluate_e_field=...).

OptionDefaultChoicesDescription
evaluate_e_fieldFalseboolIf True, evaluate and include electric-field contributions in drift-kinetic kernels.
algodiscrete_gradient_1st_orderdiscrete_gradient_2nd_orderdiscrete_gradient_1st_orderdiscrete_gradient_1st_order_newtonexplicitGuiding-center pushing algorithm.
butcherNoneButcherTableauButcher tableau used in explicit mode. If None and algo="explicit", defaults to ButcherTableau().
maxiter20intMaximum number of fixed-point or Newton iterations in discrete-gradient modes.
tol1e-07floatConvergence tolerance for iterative discrete-gradient updates.
mpi_sorteacheachlastNoneMPI sorting policy for particle exchange.

Used by

Each model splits its time step into a sequence of propagators. This one appears in 3 models, at the position shown.