Loading [MathJax]/extensions/TeX/AMSmath.js
ESPResSo
Extensible Simulation Package for Research on Soft Matter Systems
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages Concepts
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
 
int size
 number of local mesh points.
 
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 176 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, 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 210 of file p3m/common.hpp.

References ld_ind, ld_pos, and params.

Referenced by CoulombP3MImpl< FloatType, Architecture >::scaleby_box_l(), and DipolarP3MImpl< FloatType, Architecture >::scaleby_box_l().

Member Data Documentation

◆ dim

Utils::Vector3i P3MLocalMesh::dim

dimension (size) of local mesh including halo layers.

Definition at line 178 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 179 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 192 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 194 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 190 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 184 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 187 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 186 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 196 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 197 of file p3m/common.hpp.

Referenced by calc_local_ca_mesh().

◆ n_halo_ur

Utils::Vector3i P3MLocalMesh::n_halo_ur

Definition at line 198 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 204 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 202 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 200 of file p3m/common.hpp.

◆ size

int P3MLocalMesh::size

number of local mesh points.

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

Referenced by calc_local_ca_mesh().

◆ ur_no_halo

Utils::Vector3i P3MLocalMesh::ur_no_halo

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

Referenced by calc_local_ca_mesh().


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