Coupling propagator

CurrentCoupling6DCurrent

Advances ions and u.

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.

Variables it advances

The variables this step updates over a time step dt, and the discrete spaces each one accepts.

NameKindAccepted spaces
ionsPICVariableParticles6D
uFEECVariableHcurlHdivH1vec

Options

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

OptionDefaultChoicesDescription
u_spaceHdivHcurlHdivH1vecFEEC space used for the unknown u variable.
solverpcgpcgcgSymmetric iterative solver used by SchurSolver.
precondMassMatrixPreconditionerMassMatrixPreconditionerMassMatrixDiagonalPreconditionerNonePreconditioner applied to the FEEC mass matrix block.
solver_paramsNoneSolverParametersIterative-solver controls. If None, defaults to SolverParameters().
filter_paramsNoneFilterParametersParticle-to-grid filtering parameters used by the accumulator.
boundary_cut(0.0, 0.0, 0.0)tupleBoundary clipping parameters forwarded to accumulation/pushing kernels.

Used by

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