Particle propagator
PushGuidingCenterBxEstar
Advances ions.
What it solves
For each marker , solves
where
Here, can be the full magnetic field (equilibrium + perturbation). The electric potential and/or the magnetic perturbation 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_bxEstar_discrete_gradient_1st_orderstruphy.pic.pushing.pusher_kernels_gc.push_gc_bxEstar_discrete_gradient_1st_order_newtonstruphy.pic.pushing.pusher_kernels_gc.push_gc_bxEstar_discrete_gradient_2nd_order
Variables it advances
The variables this step updates over a time step dt, and the discrete spaces each one accepts.
| Name | Kind | Accepted spaces |
|---|---|---|
ions | PICVariable | — |
Options
Set these on the propagator in a parameter file, for example PushGuidingCenterBxEstar.Options(evaluate_e_field=...).
| Option | Default | Choices | Description |
|---|---|---|---|
evaluate_e_field | False | bool | If True, evaluate and include electric-field contributions in drift-kinetic kernels. |
algo | discrete_gradient_1st_order | discrete_gradient_2nd_orderdiscrete_gradient_1st_orderdiscrete_gradient_1st_order_newtonexplicit | Guiding-center pushing algorithm. |
butcher | None | ButcherTableau | Butcher tableau used in explicit mode. If None and algo="explicit", defaults to ButcherTableau(). |
maxiter | 20 | int | Maximum number of fixed-point or Newton iterations in discrete-gradient modes. |
tol | 1e-07 | float | Convergence tolerance for iterative discrete-gradient updates. |
mpi_sort | each | eachlastNone | MPI sorting policy for particle exchange. |
Used by
Each model splits its time step into a sequence of propagators. This one appears in 4 models, at the position shown.