Coupling propagator
CurrentCoupling5DGradB
Advances u and energetic_ions.
What it solves
FEEC discretization of the following equations:
find and such that
time_discret: Explicit ('rk4', 'forward_euler', 'heun2', 'rk2', 'heun3').
For the detail explanation of the notations, see `2022_DriftKineticCurrentCoupling
Variables it advances
The variables this step updates over a time step dt, and the discrete spaces each one accepts.
| Name | Kind | Accepted spaces |
|---|---|---|
u | FEECVariable | HcurlHdivH1vec |
energetic_ions | PICVariable | — |
Options
Set these on the propagator in a parameter file, for example CurrentCoupling5DGradB.Options(ep_scale=...).
| Option | Default | Choices | Description |
|---|---|---|---|
ep_scale | 1 | float | Scaling factor applied in particle accumulation. |
algo | explicit | discrete_gradientexplicit | Time integration algorithm. |
butcher | None | ButcherTableau | Butcher tableau used in explicit mode. If None and algo="explicit", defaults to ButcherTableau(). |
u_space | Hdiv | HcurlHdivH1vec | FEEC space used for the unknown u variable. |
solver | pcg | pcgcg | Symmetric iterative solver used for mass-matrix inversions. |
precond | MassMatrixPreconditioner | MassMatrixPreconditionerMassMatrixDiagonalPreconditionerNone | Preconditioner used with the mass matrix. |
solver_params | None | SolverParameters | Iterative-solver controls. If None, defaults to SolverParameters(). |
filter_params | None | FilterParameters | Particle-to-grid filtering parameters used by the accumulator. If None, defaults to FilterParameters(). |
dg_solver_params | None | DiscreteGradientSolverParameters | Nonlinear solver controls for discrete-gradient mode. If None and algo="discrete_gradient", defaults to DiscreteGradientSolverParameters(). |
Used by
Each model splits its time step into a sequence of propagators. This one appears in 1 model, at the position shown.