Field propagator
PoissonSolve
Advances phi.
What it solves
Weak discretization of the (stabilized) Poisson equation: find such that
where is a stabilization parameter. Boundary terms from integration by parts are assumed to vanish. The equation is discretized as
where is the -mass matrix and is a stabilization matrix.
Variables it advances
The variables this step updates over a time step dt, and the discrete spaces each one accepts.
| Name | Kind | Accepted spaces |
|---|---|---|
phi | FEECVariable | H1 |
Options
Set these on the propagator in a parameter file, for example PoissonSolve.Options(stab_eps=...).
| Option | Default | Choices | Description |
|---|---|---|---|
stab_eps | 0 | float | Stabilization weight used for the mass-like term in the Poisson operator. Internally mapped to sigma_1 = stab_eps in the parent ImplicitDiffusion formulation. |
stab_mat | Id | M0M0adId | Stabilization matrix multiplied by stab_eps. |
diffusion_mat | M1 | M1M1perpM1paraM1gyro | Diffusion matrix. |
x0 | None | StencilVector | Initial guess for the iterative linear solver. |
solver | pcg | pcgcg | Name of the symmetric iterative solver passed to inverse. |
precond | MassMatrixPreconditioner | MassMatrixPreconditionerMassMatrixDiagonalPreconditionerNone | Name of the preconditioner configuration. Currently this class inherits the same behavior as ImplicitDiffusion, where pc=None is used internally. |
solver_params | None | SolverParameters | Iterative-solver controls (for example tol, maxiter, verbose, info, recycle). If None, defaults to SolverParameters(). |
filter_params | None | dict | If not None, specifies a filter to the accumulation of a specific variable. |
Used by
Each model splits its time step into a sequence of propagators. This one appears in 4 models, at the position shown.