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.

NameKindAccepted spaces
phiFEECVariableH1

Options

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

OptionDefaultChoicesDescription
stab_eps0floatStabilization weight used for the mass-like term in the Poisson operator. Internally mapped to sigma_1 = stab_eps in the parent ImplicitDiffusion formulation.
stab_matIdM0M0adIdStabilization matrix multiplied by stab_eps.
diffusion_matM1M1M1perpM1paraM1gyroDiffusion matrix.
x0NoneStencilVectorInitial guess for the iterative linear solver.
solverpcgpcgcgName of the symmetric iterative solver passed to inverse.
precondMassMatrixPreconditionerMassMatrixPreconditionerMassMatrixDiagonalPreconditionerNoneName of the preconditioner configuration. Currently this class inherits the same behavior as ImplicitDiffusion, where pc=None is used internally.
solver_paramsNoneSolverParametersIterative-solver controls (for example tol, maxiter, verbose, info, recycle). If None, defaults to SolverParameters().
filter_paramsNonedictIf 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.