ESPResSo
Extensible Simulation Package for Research on Soft Matter Systems
|
Common functions for dipolar and charge P3M. More...
#include "config/config.hpp"
#include <utils/Vector.hpp>
#include <algorithm>
#include <array>
#include <vector>
#include "LocalBox.hpp"
#include <cstddef>
#include <span>
#include <stdexcept>
Go to the source code of this file.
Classes | |
struct | P3MParameters |
Structure to hold P3M parameters and some dependent variables. More... | |
struct | P3MLocalMesh |
Properties of the local mesh. More... | |
struct | P3MFFTMesh< FloatType > |
Local mesh FFT buffers. More... | |
Enumerations | |
enum class | Arch { CPU , GPU } |
Variables | |
auto constexpr | P3M_EPSILON_METALLIC = 0.0 |
This value indicates metallic boundary conditions. | |
Common functions for dipolar and charge P3M.
We use here a P3M (Particle-Particle Particle-Mesh) method based on the Ewald summation. Details of the used method can be found in [22] and [10] [11]. The file p3m contains only the Particle-Mesh part.
Further reading: [18], [22], [10], [11], [12], [13], [9]
Definition in file p3m/common.hpp.
|
strong |
Enumerator | |
---|---|
CPU | |
GPU |
Definition at line 56 of file p3m/common.hpp.
|
constexpr |
This value indicates metallic boundary conditions.
Definition at line 46 of file p3m/common.hpp.
Referenced by CoulombP3MImpl< FloatType, Architecture >::adapt_epsilon_elc(), DipolarLayerCorrection::adapt_solver(), DipolarLayerCorrection::add_force_corrections(), DipolarLayerCorrection::energy_correction(), CoulombP3MImpl< FloatType, Architecture >::long_range_kernel(), DipolarP3MImpl< FloatType, Architecture >::long_range_kernel(), AdaptSolver::operator()(), and CoulombP3M::sanity_checks_boxl().