Gromacs  2019-beta2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Files
Ewald-family treatments of long-ranged forces
+ Collaboration diagram for Ewald-family treatments of long-ranged forces:

Description

Computes energies and forces for long-ranged interactions using the Ewald decomposition. Includes plain Ewald, PME, P3M for Coulomb, PME for Lennard-Jones, load-balancing for PME, and supporting code.

Author
Berk Hess hess@.nosp@m.kth..nosp@m.se
Erik Lindahl erik@.nosp@m.kth..nosp@m.se
Roland Schulz rolan.nosp@m.d@rs.nosp@m.chulz.nosp@m..eu
Mark Abraham mark..nosp@m.j.ab.nosp@m.raham.nosp@m.@gma.nosp@m.il.co.nosp@m.m
Christan Wennberg cwenn.nosp@m.berg.nosp@m.@kth..nosp@m.se

Files

file  ewald-utils.h
 Declares utility functions related to Ewald.
 
file  ewald.cpp
 This file contains function definitions necessary for computing energies and forces for the plain-Ewald long-ranged part, and the correction for overall system charge for all Ewald-family methods.
 
file  ewald.h
 This file contains function declarations necessary for computing energies and forces for the plain-Ewald long-ranged part, and the correction for overall system charge for all Ewald-family methods.
 
file  long-range-correction.h
 This file contains function declarations necessary for computing energies and forces for the PME long-ranged part (Coulomb and LJ).
 
file  pme-gpu-3dfft-ocl.cpp
 Implements OpenCL 3D FFT routines for PME GPU.
 
file  pme-gpu-3dfft.h
 Declares the 3D FFT class for PME.
 
file  pme-gpu-constants.h
 This file defines the PME GPU compile-time constants/macros, used both in device and host code.
 
file  pme-gpu-internal.cpp
 This file contains internal function implementations for performing the PME calculations on GPU.
 
file  pme-gpu-internal.h
 This file contains internal function definitions for performing the PME calculations on GPU. These are not meant to be exposed outside of the PME GPU code. As of now, their bodies are still in the common pme-gpu.cpp files.
 
file  pme-gpu-program-impl-ocl.cpp
 Implements PmeGpuProgramImpl, which stores permanent PME GPU context-derived data, such as (compiled) kernel handles.
 
file  pme-gpu-program-impl.cpp
 Implements PmeGpuProgramImpl for non-GPU builds.
 
file  pme-gpu-program-impl.h
 Declares PmeGpuProgramImpl, which stores PME GPU (compiled) kernel handles.
 
file  pme-gpu-program.cpp
 Implements PmeGpuProgram, which wrap arounds PmeGpuProgramImpl to store permanent PME GPU context-derived data, such as (compiled) kernel handles.
 
file  pme-gpu-program.h
 Declares PmeGpuProgram, which wrap arounds PmeGpuProgramImpl to store permanent PME GPU context-derived data, such as (compiled) kernel handles.
 
file  pme-gpu-timings.cpp
 Implements PME GPU timing events wrappers.
 
file  pme-gpu-timings.h
 Defines PME GPU timing functions.
 
file  pme-gpu-types-host-impl.h
 Defines the host-side PME GPU data structure, which is dependent on the GPU types. It's included by pointer in the general PmeGpu host structure in pme-gpu-types-host.h.
 
file  pme-gpu-types-host.h
 Defines the host-side PME GPU data structures.
 
file  pme-gpu-types.h
 Defines the PME GPU data structures (the GPU function parameters used both on host and device sides).
 
file  pme-gpu-utils.h
 This file defines small PME GPU inline host/device functions. Note that OpenCL device-side functions can't use C++ features, so they are located in a similar file pme-gpu-utils.clh. Be sure to keep the logic in sync in both files when changing it!
 
file  pme-gpu.cpp
 Implements high-level PME GPU functions which do not require GPU framework-specific code.
 
file  pme-internal.h
 This file contains function declarations necessary for computing energies and forces for the PME long-ranged part (Coulomb and LJ).
 
file  pme-load-balancing.cpp
 This file contains function definitions necessary for managing automatic load balance of PME calculations (Coulomb and LJ).
 
file  pme-load-balancing.h
 This file contains function declarations necessary for managing automatic load balance of PME calculations (Coulomb and LJ).
 
file  pme-pp-communication.h
 This file contains declarations and constants necessary for coordinating the communication for the offload of long-ranged PME work to separate MPI rank, for computing energies and forces (Coulomb and LJ).
 
file  pme-pp.cpp
 This file contains function definitions necessary for managing the offload of long-ranged PME work to separate MPI rank, for computing energies and forces (Coulomb and LJ).
 
file  pme.cpp
 This file contains function definitions necessary for computing energies and forces for the PME long-ranged part (Coulomb and LJ).
 
file  pme.h
 This file contains function declarations necessary for computing energies and forces for the PME long-ranged part (Coulomb and LJ).
 
file  pmebsplinetest.cpp
 Implements PME B-spline moduli computation tests.
 
file  pmegathertest.cpp
 Implements PME force gathering tests.
 
file  pmesolvetest.cpp
 Implements PME solving tests.
 
file  pmesplinespreadtest.cpp
 Implements PME spline computation and charge spreading tests.
 
file  pmetestcommon.cpp
 Implements common routines for PME tests.
 
file  pmetestcommon.h
 Describes common routines and types for PME tests.
 
file  testhardwarecontexts.cpp
 Implements test environment class which performs hardware enumeration for unit tests.
 
file  testhardwarecontexts.h
 Describes test environment class which performs hardware enumeration for unit tests.