Coupling propagator
VlasovAmpereCoupling
Advances e and ions.
What it solves
PIC-FEEC discretization of the following equations:
find and 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.
| Name | Kind | Accepted spaces |
|---|---|---|
e | FEECVariable | Hcurl |
ions | PICVariable | Particles6D |
Options
Set these on the propagator in a parameter file, for example VlasovAmpereCoupling.Options(solver=...).
| Option | Default | Choices | Description |
|---|---|---|---|
solver | pcg | pcgcg | Symmetric iterative solver used by SchurSolver. |
precond | MassMatrixPreconditioner | MassMatrixPreconditionerMassMatrixDiagonalPreconditionerNone | Preconditioner for electric-field mass matrix block. |
solver_params | None | SolverParameters | Solver controls. |
Used by
Each model splits its time step into a sequence of propagators. This one appears in 3 models, at the position shown.