13 #include "./base/base_uses.f90"
18 CHARACTER(len=*),
PARAMETER,
PRIVATE :: moduleN =
'pair_potential_coulomb'
39 REAL(kind=
dp),
INTENT(IN) :: r2
40 REAL(kind=
dp),
INTENT(INOUT) :: fscalar
41 REAL(kind=
dp),
INTENT(IN) :: qfac
42 INTEGER,
INTENT(IN) :: ewald_type
43 REAL(kind=
dp),
INTENT(IN) :: alpha, beta, interaction_cutoff
46 REAL(kind=
dp),
PARAMETER :: two_over_sqrt_pi = 2.0_dp*
oorootpi
48 REAL(kind=
dp) :: r, x1, x2
51 IF (beta > 0.0_dp)
THEN
56 two_over_sqrt_pi*exp(-x2*x2)*beta)/r2
62 two_over_sqrt_pi*(exp(-x1*x1)*alpha - exp(-x2*x2)*beta))/r2
72 two_over_sqrt_pi*exp(-x1*x1)*alpha)/r2
Defines the basic variable types.
integer, parameter, public dp
Definition of mathematical constants and functions.
real(kind=dp), parameter, public oorootpi
real(kind=dp) function, public potential_coulomb(r2, fscalar, qfac, ewald_type, alpha, beta, interaction_cutoff)
Evaluates the electrostatic energy and force.
functions related to the poisson solver on regular grids
integer, parameter, public do_ewald_none