Field propagator
ShearAlfvenB1
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 is a weighted mass matrix in 2-space, the weight being , the MHD equilibirum density.
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 | Hdiv |
b | FEECVariable | Hcurl |
Options
Set these on the propagator in a parameter file, for example ShearAlfvenB1.Options(solver=...).
| Option | Default | Choices | Description |
|---|---|---|---|
solver | pcg | pcgcg | Solver used for the Schur-reduced system. |
precond | MassMatrixPreconditioner | MassMatrixPreconditionerMassMatrixDiagonalPreconditionerNone | Preconditioner for M2n block. |
solver_params | None | SolverParameters | Solver controls for the Schur solve. |
solver_M1 | pcg | pcgcg | Solver used for inverting M1. |
precond_M1 | MassMatrixPreconditioner | MassMatrixPreconditionerMassMatrixDiagonalPreconditionerNone | Preconditioner for M1 inversion. |
solver_params_M1 | None | SolverParameters | Solver controls for M1 inversion. |
Used by
Each model splits its time step into a sequence of propagators. This one appears in 1 model, at the position shown.