24#if defined(ESPRESSO_P3M) or defined(ESPRESSO_DP3M)
58 for (i = 0; i < 3; i++)
61 for (i = 0; i < 3; i++)
65 for (i = 0; i < 3; i++) {
72 for (i = 0; i < 3; i++)
75 for (i = 0; i < 3; i++)
78 for (i = 0; i < 3; i++)
81 for (i = 0; i < 3; i++)
84 for (i = 0; i < 3; i++)
88 for (i = 0; i < 3; i++)
93 for (i = 0; i < 3; i++) {
95 size *=
static_cast<std::size_t
>(
dim[i]);
99 for (i = 0; i < 3; i++)
101 for (i = 0; i < 3; i++)
Vector implementation and trait types for boost qvm interoperability.
auto const & my_right() const
Right (top, back) corner of this nodes local box.
auto const & my_left() const
Left (bottom, front) corner of this nodes local box.
static DEVICE_QUALIFIER constexpr Vector< T, N > broadcast(typename Base::value_type const &value) noexcept
Create a vector that has all entries set to the same value.
cudaStream_t stream[1]
CUDA streams for parallel computing on CPU and GPU.
constexpr auto round_error_prec
Precision below which a double-precision float is assumed to be zero.
Common functions for dipolar and charge P3M.
static SteepestDescentParameters params
Currently active steepest descent instance.
Utils::Vector3i ur_no_halo
Utils::Vector3i ld_ind
index of lower left corner of the local mesh in the global mesh.
std::size_t size
number of local mesh points including halo layers.
Utils::Vector3i dim
dimension (size) of local mesh including halo layers.
void calc_local_ca_mesh(P3MParameters const ¶ms, LocalBox const &local_geo, double skin, double space_layer)
Calculate properties of the local FFT mesh for the charge assignment process.
Utils::Vector3i dim_no_halo
Utils::Vector3i n_halo_ld
Utils::Vector3i inner
dimension of mesh inside node domain.
Utils::Vector3i in_ld
inner left down grid point
int margin[6]
number of margin mesh points.
int q_2_off
offset between mesh lines of the last dimension
Utils::Vector3i ld_no_halo
Utils::Vector3i in_ur
inner up right grid point + (1,1,1)
Utils::Vector3i n_halo_ur
int q_21_off
offset between mesh lines of the two last dimensions
Structure to hold P3M parameters and some dependent variables.