34 std::vector<double> &
series) {
37 auto const deriv =
static_cast<double>(2 * n);
42 series[0] = 2. * (1. - std::numbers::egamma);
74 std::vector<double> &
series) {
75 auto const deriv =
static_cast<double>(2 * n + 1);
95void CoulombMMM1D::create_mod_psi_up_to(
int new_n) {
96 auto const old_n =
static_cast<int>(modPsi.size() >> 1);
98 modPsi.resize(2 *
new_n);
101 for (
int n = 0; n <
old_n; n++)
102 binom *= (-0.5 - n) /
static_cast<double>(n + 1);
107 binom *= (-0.5 - n) /
static_cast<double>(n + 1);
cudaStream_t stream[1]
CUDA streams for parallel computing on CPU and GPU.
This file contains the defaults for ESPResSo.
#define ROUND_ERROR_PREC
Precision for capture of round off errors.
static void preparePolygammaOdd(int n, double binom, std::vector< double > &series)
static void preparePolygammaEven(int n, double binom, std::vector< double > &series)
MMM1D algorithm for long-range Coulomb interactions on the CPU.
double hzeta(double s, double q)
Hurwitz zeta function.
This file contains implementations for some special functions which are needed by the MMM family of a...