Fast calculation of plasma dispersion functions for Maxwellian distribution and arbitrary distributions.
A fast and accurate approach is provided, where FFT is used.
Ref and cite: [Xie2013] Hua-Sheng Xie, Generalized plasma dispersion function: One-solve-all treatment, visualizations, and application to Landau damping, Phys. Plasmas 20, 092125 (2013), doi: 10.1063/1.4822332.
The plasma dispersion function
For J=8, one can use
b1= -0.017340112270401 - 0.046306439626294i;
b2= -0.739917811220052 + 0.839518284620274i;
b3= 5.840632105105495 + 0.953602751322040i;
b4= -5.583374181615043 -11.208550459628098i;
c1= 2.237687725134293 - 1.625941024120362i;
c2= 1.465234091939142 - 1.789620299603315i;
c3= 0.839253966367922 - 1.891995211531426i;
c4= 0.273936218055381 - 1.941787037576095i;
b(5:8)=(b(1:4))*;
c(5:8)=-(c(1:4))*,
where * denotes complex conjugate. The above approximation is valid for the upper plane. For
Other J, such as J=4,8,12,16,24 can also be found. The J-pole method is probably the quickest method to calculate plasma dispersion function, which is accurate better to 1e-6 for J=8, and 1e-13 for J=24. The coding to Fortran and Python is also straightforward.
Ref and cite: [Xie2019] Huasheng Xie, BO: A unified tool for plasma waves and instabilities analysis, Computer Physics Communications 244 (2019) 343–371.