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.

NameKindAccepted spaces
uFEECVariableHcurlHdivH1vec
energetic_ionsPICVariable

Options

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

OptionDefaultChoicesDescription
ep_scale1floatScaling factor applied in particle accumulation.
algoexplicitdiscrete_gradientexplicitTime integration algorithm.
butcherNoneButcherTableauButcher tableau used in explicit mode. If None and algo="explicit", defaults to ButcherTableau().
u_spaceHdivHcurlHdivH1vecFEEC space used for the unknown u variable.
solverpcgpcgcgSymmetric iterative solver used for mass-matrix inversions.
precondMassMatrixPreconditionerMassMatrixPreconditionerMassMatrixDiagonalPreconditionerNonePreconditioner used with the mass matrix.
solver_paramsNoneSolverParametersIterative-solver controls. If None, defaults to SolverParameters().
filter_paramsNoneFilterParametersParticle-to-grid filtering parameters used by the accumulator. If None, defaults to FilterParameters().
dg_solver_paramsNoneDiscreteGradientSolverParametersNonlinear 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.