Field propagator

Magnetosonic

Advances n, u and p.

What it solves

FEEC discretization of the following equations:

find such that

Time discretization: Crank-Nicolson (implicit mid-point).

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
nFEECVariableL2
uFEECVariableHcurlHdivH1vec
pFEECVariableL2

Options

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

OptionDefaultChoicesDescription
u_spaceHdivHcurlHdivH1vecFEEC space used for the velocity variable u.
solverpbicgstabpbicgstabbicgstabgmresIterative solver used by SchurSolver.
precondMassMatrixPreconditionerMassMatrixPreconditionerMassMatrixDiagonalPreconditionerNonePreconditioner applied to the mass matrix block associated with u_space.
solver_paramsNoneSolverParametersIterative-solver controls. If None, defaults to SolverParameters().

Used by

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