Class for Verlet list implementation with Multiphase. More...
Class for Verlet list implementation with Multiphase.
dim | Dimensionality of the space |
T | type of the space float, double ... |
CellListImpl | Base structure that store the information |
Definition at line 142 of file VerletListM.hpp.
#include <VerletListM.hpp>
Public Member Functions | |
void | Initialize (CellListImpl &cli, size_t pp, T r_cut, const vector_pos_type &pos, const openfpm::vector< struct pos_v< vector_pos_type > > &pos2, size_t g_m, size_t opt=VL_NON_SYMMETRIC) |
size_t | getP (size_t part, size_t ele) const |
Get the element-id in the cell. | |
size_t | getV (size_t part, size_t ele) const |
Get the element vector in the cell. | |
template<unsigned int impl = NO_CHECK> | |
VerletNNIteratorM< dim, VerletListM< dim, T, sh_byte, CellListImpl, transform, vector_pos_type, VerletBase >, sh_byte > | getNNIterator (size_t part_id) |
Get the Neighborhood iterator. | |
Private Types | |
typedef boost::high_bit_mask_t< sh_byte > | mask_high |
Mask to get the high bits of a number. | |
typedef boost::low_bits_mask_t< sizeof(size_t) *8-sh_byte > | mask_low |
Mask to get the low bits of a number. | |
Private Member Functions | |
void | create (const vector_pos_type &pos, const openfpm::vector< pos_v< vector_pos_type > > &pos2, const openfpm::vector< size_t > &dom, const openfpm::vector< subsub_lin< dim > > &anom, size_t pp, T r_cut, size_t g_m, CellListImpl &cl, size_t opt) |
Create the Verlet list from a given cell-list. | |
template<typename NN_type , int type> | |
void | create_ (const vector_pos_type &pos, const openfpm::vector< pos_v< vector_pos_type > > &pos2, const openfpm::vector< size_t > &dom, const openfpm::vector< subsub_lin< dim > > &anom, size_t pp, T r_cut, size_t g_m, CellListImpl &cli, size_t opt) |
Create the Verlet list from a given cell-list. | |
|
private |
Mask to get the high bits of a number.
Definition at line 146 of file VerletListM.hpp.
|
private |
Mask to get the low bits of a number.
Definition at line 149 of file VerletListM.hpp.
|
inlineprivate |
Create the Verlet list from a given cell-list.
pos | vector of positions |
pos2 | vector of neighborhood particles position |
r_cut | cut-off radius to get the neighborhood particles |
g_m | Indicate form which particles to construct the verlet list. For example if we have 120 particles and g_m = 100, the Verlet list will be constructed only for the first 100 particles |
cl | Cell-list elements to use to construct the verlet list |
opt | options to create the verlet list like VL_SYMMETRIC or VL_NON_SYMMETRIC |
Definition at line 163 of file VerletListM.hpp.
|
inlineprivate |
Create the Verlet list from a given cell-list.
pos | vector of positions |
pos2 | vector of position for the neighborhood |
r_cut | cut-off radius to get the neighborhood particles |
g_m | Indicate form which particles to construct the verlet list. For example if we have 120 particles and g_m = 100, the Verlet list will be constructed only for the first 100 particles |
cli | Cell-list elements to use to construct the verlet list |
dom | list of domain cells with normal neighborhood |
anom | list of domain cells with non-normal neighborhood |
opt | options |
Definition at line 201 of file VerletListM.hpp.
|
inline |
Get the Neighborhood iterator.
It iterate across all the neighborhood particles of a selected particle
part_id | particle id |
Definition at line 335 of file VerletListM.hpp.
|
inline |
Get the element-id in the cell.
i | property to get |
part | part id |
ele | element id |
Definition at line 306 of file VerletListM.hpp.
|
inline |
Get the element vector in the cell.
i | property to get |
part | particle id |
ele | element id |
Definition at line 321 of file VerletListM.hpp.
|
inline |
Initialize the verlet list from an already filled cell-list
cli | external Cell-list |
pp | phase of pos |
r_cut | cutoff-radius |
pos | vector of particle positions |
pos2 | vector of particle position for the neighborhood |
g_m | Indicate form which particles to construct the verlet list. For example if we have 120 particles and g_m = 100, the Verlet list will be constructed only for the first 100 particles |
opt | options for the Verlet-list creation |
Definition at line 267 of file VerletListM.hpp.