Field propagator

ShearAlfvenPropagator

Advances u and b.

What it solves

FEEC discretization of the following equations:

find and such that

Time discretization:

  • implicit: Crank-Nicolson (implicit mid-point)
  • explicit: explicit RK methods from ButcherTableau

System size reduction via struphy.linear_algebra.schur_solver.SchurSolver.

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 ShearAlfvenPropagator.Options(u_space=...).

OptionDefaultChoicesDescription
u_spaceHdivHcurlHdivH1vecFEEC space used for the velocity variable.
algoimplicitimplicitexplicitTime stepping algorithm.
solverpcgpcgcgSymmetric iterative solver used by implicit or explicit operators.
precondMassMatrixPreconditionerMassMatrixPreconditionerMassMatrixDiagonalPreconditionerNonePreconditioner for the mass-matrix block.
solver_paramsNoneSolverParametersSolver controls; defaults to SolverParameters().
butcherNoneButcherTableauExplicit Runge-Kutta tableau when algo="explicit".

Used by

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