WarpX
Loading...
Searching...
No Matches
SemiImplicitEM.H File Reference

Go to the source code of this file.

Classes

class  SemiImplicitEM
 

Detailed Description

Semi-implicit electromagnetic time solver class. The electric field and the particles are implicitly coupled in this algorithm, but the magnetic field is advanced in the standard explicit leap-frog manner (hence semi-implicit).

The time stencil is Eg^{n+1} = Eg^n + c^2*dt*( curlBg^{n+1/2} - mu0*Jg^{n+1/2} ) Bg^{n+3/2} = Bg^{n+1/2} - dt*curlEg^{n+1} xp^{n+1} = xp^n + dt*up^{n+1/2}/(0.5(gammap^n + gammap^{n+1})) up^{n+1} = up^n + dt*qp/mp*(Ep^{n+1/2} + up^{n+1/2}/gammap^{n+1/2} x Bp^{n+1/2}) where f^{n+1/2} = (f^{n+1} + f^n)/2.0, for all but Bg, which lives at half steps

This algorithm is approximately energy conserving. It is exactly energy conserving using a non-standard definition for the magnetic field energy. The advantage of this method over the exactly energy-conserving theta-implicit EM method is that light wave dispersion is captured much better. However, the CFL condition for light waves has to be satisifed for numerical stability (and for the modified definition of the magnetic field energy to be well-posed).

See G. Chen, L. Chacon, L. Yin, B.J. Albright, D.J. Stark, R.F. Bird, "A semi-implicit energy- and charge-conserving particle-in-cell algorithm for the relativistic Vlasov-Maxwell equations.", JCP 407 (2020).