ESPResSo
Extensible Simulation Package for Research on Soft Matter Systems
Loading...
Searching...
No Matches
P3MLocalMesh Struct Reference

Properties of the local mesh. More...

#include <common.hpp>

Public Member Functions

void recalc_ld_pos (P3MParameters const &params)
 Recalculate quantities derived from the mesh and box length: ld_pos (position of the left down mesh).
 
void calc_local_ca_mesh (P3MParameters const &params, LocalBox const &local_geo, double skin, double space_layer)
 Calculate properties of the local FFT mesh for the charge assignment process.
 

Public Attributes

Utils::Vector3i dim
 dimension (size) of local mesh including halo layers.
 
Utils::Vector3i dim_no_halo
 
std::size_t size
 number of local mesh points including halo layers.
 
Utils::Vector3i ld_ind
 index of lower left corner of the local mesh in the global mesh.
 
Utils::Vector3d ld_pos
 position of the first local mesh point.
 
Utils::Vector3i ld_no_halo
 
Utils::Vector3i ur_no_halo
 
Utils::Vector3i inner
 dimension of mesh inside node domain.
 
Utils::Vector3i in_ld
 inner left down grid point
 
Utils::Vector3i in_ur
 inner up right grid point + (1,1,1)
 
int margin [6]
 number of margin mesh points.
 
Utils::Vector3i n_halo_ld
 
Utils::Vector3i n_halo_ur
 
int r_margin [6]
 number of margin mesh points from neighbour nodes
 
int q_2_off
 offset between mesh lines of the last dimension
 
int q_21_off
 offset between mesh lines of the two last dimensions
 

Detailed Description

Properties of the local mesh.

Definition at line 178 of file p3m/common.hpp.

Member Function Documentation

◆ calc_local_ca_mesh()

void P3MLocalMesh::calc_local_ca_mesh ( P3MParameters const params,
LocalBox const local_geo,
double  skin,
double  space_layer 
)

Calculate properties of the local FFT mesh for the charge assignment process.

Definition at line 34 of file common.cpp.

References Utils::Vector< T, N >::broadcast(), dim, dim_no_halo, in_ld, in_ur, inner, ld_ind, ld_no_halo, margin, LocalBox::my_left(), LocalBox::my_right(), n_halo_ld, n_halo_ur, params, q_21_off, q_2_off, round_error_prec, size, stream, and ur_no_halo.

◆ recalc_ld_pos()

void P3MLocalMesh::recalc_ld_pos ( P3MParameters const params)
inline

Recalculate quantities derived from the mesh and box length: ld_pos (position of the left down mesh).

Definition at line 212 of file p3m/common.hpp.

References ld_ind, ld_pos, params, and stream.

Referenced by CoulombP3MHeffte< FloatType, Architecture, FFTConfig >::scaleby_box_l(), and DipolarP3MHeffte< FloatType, Architecture, FFTConfig >::scaleby_box_l().

Member Data Documentation

◆ dim

Utils::Vector3i P3MLocalMesh::dim

dimension (size) of local mesh including halo layers.

Definition at line 180 of file p3m/common.hpp.

Referenced by calc_local_ca_mesh(), p3m_calculate_interpolation_weights(), and p3m_send_mesh< FloatType >::resize().

◆ dim_no_halo

Utils::Vector3i P3MLocalMesh::dim_no_halo

Definition at line 181 of file p3m/common.hpp.

Referenced by calc_local_ca_mesh().

◆ in_ld

Utils::Vector3i P3MLocalMesh::in_ld

inner left down grid point

Definition at line 194 of file p3m/common.hpp.

Referenced by calc_local_ca_mesh().

◆ in_ur

Utils::Vector3i P3MLocalMesh::in_ur

inner up right grid point + (1,1,1)

Definition at line 196 of file p3m/common.hpp.

Referenced by calc_local_ca_mesh(), and p3m_send_mesh< FloatType >::resize().

◆ inner

Utils::Vector3i P3MLocalMesh::inner

dimension of mesh inside node domain.

Definition at line 192 of file p3m/common.hpp.

Referenced by calc_local_ca_mesh().

◆ ld_ind

Utils::Vector3i P3MLocalMesh::ld_ind

index of lower left corner of the local mesh in the global mesh.

Definition at line 186 of file p3m/common.hpp.

Referenced by calc_local_ca_mesh(), and recalc_ld_pos().

◆ ld_no_halo

Utils::Vector3i P3MLocalMesh::ld_no_halo

Definition at line 189 of file p3m/common.hpp.

Referenced by calc_local_ca_mesh().

◆ ld_pos

Utils::Vector3d P3MLocalMesh::ld_pos

position of the first local mesh point.

Definition at line 188 of file p3m/common.hpp.

Referenced by p3m_calculate_interpolation_weights(), and recalc_ld_pos().

◆ margin

int P3MLocalMesh::margin[6]

number of margin mesh points.

Definition at line 198 of file p3m/common.hpp.

Referenced by calc_local_ca_mesh(), and p3m_send_mesh< FloatType >::resize().

◆ n_halo_ld

Utils::Vector3i P3MLocalMesh::n_halo_ld

Definition at line 199 of file p3m/common.hpp.

Referenced by calc_local_ca_mesh().

◆ n_halo_ur

Utils::Vector3i P3MLocalMesh::n_halo_ur

Definition at line 200 of file p3m/common.hpp.

Referenced by calc_local_ca_mesh().

◆ q_21_off

int P3MLocalMesh::q_21_off

offset between mesh lines of the two last dimensions

Definition at line 206 of file p3m/common.hpp.

Referenced by calc_local_ca_mesh(), and p3m_interpolate().

◆ q_2_off

int P3MLocalMesh::q_2_off

offset between mesh lines of the last dimension

Definition at line 204 of file p3m/common.hpp.

Referenced by calc_local_ca_mesh(), and p3m_interpolate().

◆ r_margin

int P3MLocalMesh::r_margin[6]

number of margin mesh points from neighbour nodes

Definition at line 202 of file p3m/common.hpp.

◆ size

std::size_t P3MLocalMesh::size

number of local mesh points including halo layers.

Definition at line 183 of file p3m/common.hpp.

Referenced by calc_local_ca_mesh(), and CoulombP3MHeffte< FloatType, Architecture, FFTConfig >::prepare_fft_mesh().

◆ ur_no_halo

Utils::Vector3i P3MLocalMesh::ur_no_halo

Definition at line 190 of file p3m/common.hpp.

Referenced by calc_local_ca_mesh().


The documentation for this struct was generated from the following files: