Gromacs  2026.0-dev-20241113-4b16639
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Macros | Typedefs | Variables
#include "config.h"
#include <memory>
#include <vector>
#include "gromacs/math/gmxcomplex.h"
#include "gromacs/math/vectypes.h"
#include "gromacs/utility/alignedallocator.h"
#include "gromacs/utility/arrayref.h"
#include "gromacs/utility/defaultinitializationallocator.h"
#include "gromacs/utility/gmxassert.h"
#include "gromacs/utility/gmxmpi.h"
#include "gromacs/utility/unique_cptr.h"
+ Include dependency graph for pme_internal.h:
+ This graph shows which files directly or indirectly include this file:

Description

This file contains function declarations necessary for computing energies and forces for the PME long-ranged part (Coulomb and LJ).

Author
Berk Hess hess@.nosp@m.kth..nosp@m.se
Mark Abraham mark..nosp@m.j.ab.nosp@m.raham.nosp@m.@gma.nosp@m.il.co.nosp@m.m

Macros

#define PME_ORDER_MAX   12
 We only define a maximum to be able to use local arrays without allocation. An order larger than 12 should never be needed, even for test cases. If needed it can be changed here.
 

Typedefs

typedef struct gmx_parallel_3dfft * gmx_parallel_3dfft_t
 A repeat of typedef from parallel_3dfft.h.
 

Variables

static constexpr int sc_numGridsLJLB = 7
 The number of grids for LJ-PME with LB combination rules.
 
static const real lb_scale_factor []
 Pascal triangle coefficients scaled with (1/2)^6 for LJ-PME with LB-rules. More...
 
static const real lb_scale_factor_symm [] = { 2.0 / 64, 12.0 / 64, 30.0 / 64, 20.0 / 64 }
 Pascal triangle coefficients used in solve_pme_lj_yzx, only need to do 4 calculations due to symmetry.
 

Variable Documentation

const real lb_scale_factor[]
static
Initial value:
= { 1.0 / 64, 6.0 / 64, 15.0 / 64, 20.0 / 64,
15.0 / 64, 6.0 / 64, 1.0 / 64 }

Pascal triangle coefficients scaled with (1/2)^6 for LJ-PME with LB-rules.