I'm recently studying for the spectral solver to implement EM-PIC code. I read an article and have some questions.

Many PIC codes uses spectral solver to overcome numerical artifacts on FDTD.

In the high-order approximation of spatial derivative in PSTD and PSATD scheme, $$ \partial_{x}E_{x}|^{n}_{i,j,k} = \Sigma_{l=0}^{p/2-1} c_{l,p}\frac{E_x|^{n}_{i+1/2+l,j,k}-E_x|^{n}_{i-1/2-l,j,k}}{\Delta x} $$ after Fourier transform due to the efficiency of calculation, $$ F[\partial_{x}E_{x}] = i[k_x]_p \hat{E_x} \\ [k_x]_p = \Sigma_{l=0}^{p/2-1} c_{l,p}\frac{e^{ik_x(l+1/2)\Delta x}-e^{-ik_x(l+1/2)\Delta x}}{\Delta x} $$ where $F$ represent the Fourier transform and $\hat{E_x} = F[E_x]$.

The term $[k_x]_p$ goes to $k_x$ as p goes to infinity. But commonly use values for $p$ in practice 32 or 64 (as the article said).

Is there any reason to use the $p$ value of 32 or 64 in practice?

If I let $p=\infty$, I don't need to use the above high-order approximation formula. Then, it becomes simpler and the computational cost will be reduced I think.

  • $\begingroup$ I am more of an EM expert, but would be interested to take a look at the article. $\endgroup$
    – Anton Menshov
    Commented Mar 25, 2020 at 20:58
  • $\begingroup$ The author is R. Lehe and the doi code is doi:10.18429/JACoW-ICAP2018-WEPLG05. He said that avoid to use p=infty due to the parallelization issue. But i cannot understand what it means.. I don't know what to study to understand it. $\endgroup$ Commented Mar 26, 2020 at 9:43


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.