sarkas.potentials.coulomb#

Module for handling Coulomb interaction.

Potential#

The Coulomb potential between two particles \(a,b\) is

\[U_{ab}(r) = \frac{q_{a}q_b}{4 \pi \epsilon_0 r}.\]

Potential Attributes#

The elements of the sarkas.potentials.core.Potential.matrix are:

matrix[0] : qi qj/(4pi esp0) Force factor between two particles.
matrix[1] : Ewald parameter in the case of pppm Algorithm. Same value for all species.
matrix[2] : Short-range cutoff. Same value for all species.

Functions

coulomb_force(r_in, pot_matrix)

Numba'd function to calculate the bare coulomb potential and force between two particles.

coulomb_force_pppm(r_in, pot_matrix)

Numba'd function to calculate the potential and force between two particles when the pppm algorithm is chosen.

potential_derivatives(r, pot_matrix)

Calculate the first and second derivatives of the potential.

pretty_print_info(potential)

Print potential specific parameters in a user-friendly way.

update_params(potential)

Assign potential dependent simulation's parameters.