Field propagator

ShearAlfvenCurrentCoupling5D

Advances u and b.

What it solves

FEEC discretization of the following equations:

find and such that

time_discret: Crank-Nicolson (implicit mid-point). System size reduction via struphy.linear_algebra.schur_solver.SchurSolver:

where \mathcal{T}^2 = \hat \Pi \left[\frac{\tilde{\mathbf B}^2}{\sqrt{g} \times \vec \Lambda^2\right] and is a struphy.feec.mass.WeightedMassOperators being weighted with , the MHD equilibirum density.

Variables it advances

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

NameKindAccepted spaces
uFEECVariableHcurlHdivH1vec
bFEECVariableHdiv

Options

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

OptionDefaultChoicesDescription
ep_scale1floatScaling factor for particle accumulation terms.
u_spaceHdivHcurlHdivH1vecFEEC space used for velocity variable u.
algoimplicitimplicitexplicitTime stepping algorithm.
solverpcgpcgcgSymmetric iterative solver.
precondMassMatrixDiagonalPreconditionerMassMatrixPreconditionerMassMatrixDiagonalPreconditionerNonePreconditioner for mass-matrix block.
solver_paramsNoneSolverParametersSolver controls.
filter_paramsNoneFilterParametersParticle-to-grid filtering parameters.
butcherNoneButcherTableauExplicit Runge-Kutta tableau for algo="explicit".
nonlinearTrueboolIf True, include nonlinear TB operator updates.

Used by

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