WarpX icon indicating copy to clipboard operation
WarpX copied to clipboard

[WIP]Implement PSATD advance with the Picard implicit iterative solver

Open dpgrote opened this issue 1 year ago • 1 comments

This implements use of the PSATD field advance coupled with the implicit Picard iterative solver, using a Strang split advance.

  • Advect Maxwell using PSATD with no J, ½ step
  • Advance particles along with dE/dt = -J, full step, iterating
  • Advect Maxwell using PSATD with no J, ½ step

This requires the input parameter psatd.update_with_rho = 0. With psatd.periodic_single_box_fft = 1, exact energy conservation is obtained. Otherwise good conservation is seen, but not exact ($\Delta E/E$ ~ 1.e-9 but will depend on parameters). Convergence is found for wpedt <= 1.9 (compared to wpedt < 0.25 for FDTD).

Todo:

  • Add CI test
  • Implement specialized advance routines (as noted in source comments)

dpgrote avatar Feb 02 '24 19:02 dpgrote

Charge conservation?

JustinRayAngus avatar Feb 07 '24 06:02 JustinRayAngus

Closed. Replaced by PR #5027.

dpgrote avatar Jul 03 '24 22:07 dpgrote