sarkas.potentials.force_pm.sum_over_aliases#

sarkas.potentials.force_pm.sum_over_aliases(kx, ky, kz, kx_M, ky_M, kz_M, h_array, p, four_pi, alpha_sq, kappa_sq)[source]#

Perform the sum over aliases in each direction.

Parameters
  • kx (float) – Value of the k_x wavenumber.

  • ky (float) – Value of the k_y wavenumber.

  • kz (float) – Value of the k_z wavenumber.

  • kx_M (numpy.ndarray) – Array of aliases for each kx value. Shape=( 2 * aliases[0] + 1)

  • ky_M (numpy.ndarray) – Array of aliases for each ky value. Shape=(2 * aliases[1] + 1)

  • kz_M (numpy.ndarray) – Array of aliases for each kz value. Shape=(2 * aliases[2] + 1)

  • h_array (numpy.ndarray) – Mesh spacings.

  • p (numpy.ndarray) – Charge assignment order for each direction. i.e. cao_x, cao_y, cao_z

  • four_pi (float) – Multiplier constant. \(4 \pi\) if cgs units or \(4 \pi \eplison_0\) if mks units.

  • alpha_sq (float) – Ewald parameter squared, \(\alpha^2\).

  • kappa_sq (float) – Screening parameter squared. It is equal to 0 (zero) in case of Coulomb interaction.

Returns

  • U_G_k (float) – Product of the Green’s function and the FFT of the B-splines squared. i.e. The numerator of eq.(31) in [Dharuman et al., 2017].

  • U_k_sq (float) – Sqared sum of the FFT of the B-spline. i.e. The denominator (without the \(|k_n|^2\):) in cite:Dharuman2017.