Class for Verlet list implementation with Multiphase.
More...
template<unsigned int dim, typename T, unsigned int sh_byte, typename CellListImpl = CellListM<dim,T,sh_byte>, typename transform = shift<dim,T>, typename VerletBase = VerletList<dim,T,Mem_fast<>,transform, size_t>>
class VerletListM< dim, T, sh_byte, CellListImpl, transform, VerletBase >
Class for Verlet list implementation with Multiphase.
- Template Parameters
-
dim | Dimensionality of the space |
T | type of the space float, double ... |
CellListImpl | Base structure that store the information |
Definition at line 141 of file VerletListM.hpp.
#include <VerletListM.hpp>
|
void | Initialize (CellListImpl &cli, size_t pp, T r_cut, const openfpm::vector< Point< dim, T >> &pos, const openfpm::vector< struct pos_v< dim, T >> &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. More...
|
|
size_t | getV (size_t part, size_t ele) const |
| Get the element vector in the cell. More...
|
|
template<unsigned int impl = NO_CHECK> |
VerletNNIteratorM< dim,
VerletListM< dim, T, sh_byte,
CellListImpl, transform,
VerletBase >, sh_byte > | getNNIterator (size_t part_id) |
| Get the Neighborhood iterator. More...
|
|
|
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.
|
|
|
void | create (const openfpm::vector< Point< dim, T >> &pos, const openfpm::vector< pos_v< dim, T >> &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. More...
|
|
template<typename NN_type , int type> |
void | create_ (const openfpm::vector< Point< dim, T >> &pos, const openfpm::vector< pos_v< dim, T >> &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. More...
|
|
template<unsigned int dim, typename T, unsigned int sh_byte, typename CellListImpl = CellListM<dim,T,sh_byte>, typename transform = shift<dim,T>, typename VerletBase = VerletList<dim,T,Mem_fast<>,transform, size_t>>
void VerletListM< dim, T, sh_byte, CellListImpl, transform, VerletBase >::create |
( |
const openfpm::vector< Point< dim, T >> & |
pos, |
|
|
const openfpm::vector< pos_v< dim, T >> & |
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 |
|
) |
| |
|
inlineprivate |
Create the Verlet list from a given cell-list.
- Parameters
-
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 162 of file VerletListM.hpp.
template<unsigned int dim, typename T, unsigned int sh_byte, typename CellListImpl = CellListM<dim,T,sh_byte>, typename transform = shift<dim,T>, typename VerletBase = VerletList<dim,T,Mem_fast<>,transform, size_t>>
template<typename NN_type , int type>
void VerletListM< dim, T, sh_byte, CellListImpl, transform, VerletBase >::create_ |
( |
const openfpm::vector< Point< dim, T >> & |
pos, |
|
|
const openfpm::vector< pos_v< dim, T >> & |
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 |
|
) |
| |
|
inlineprivate |
Create the Verlet list from a given cell-list.
- Parameters
-
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 200 of file VerletListM.hpp.
template<unsigned int dim, typename T, unsigned int sh_byte, typename CellListImpl = CellListM<dim,T,sh_byte>, typename transform = shift<dim,T>, typename VerletBase = VerletList<dim,T,Mem_fast<>,transform, size_t>>
template<unsigned int impl = NO_CHECK>
VerletNNIteratorM<dim,VerletListM<dim,T,sh_byte,CellListImpl,transform,VerletBase>,sh_byte> VerletListM< dim, T, sh_byte, CellListImpl, transform, VerletBase >::getNNIterator |
( |
size_t |
part_id | ) |
|
|
inline |
Get the Neighborhood iterator.
It iterate across all the neighborhood particles of a selected particle
- Parameters
-
- Returns
- an interator across the neighborhood particles
Definition at line 331 of file VerletListM.hpp.
template<unsigned int dim, typename T, unsigned int sh_byte, typename CellListImpl = CellListM<dim,T,sh_byte>, typename transform = shift<dim,T>, typename VerletBase = VerletList<dim,T,Mem_fast<>,transform, size_t>>
size_t VerletListM< dim, T, sh_byte, CellListImpl, transform, VerletBase >::getP |
( |
size_t |
part, |
|
|
size_t |
ele |
|
) |
| const |
|
inline |
Get the element-id in the cell.
- Template Parameters
-
- Parameters
-
part | part id |
ele | element id |
- Returns
- The element value
Definition at line 302 of file VerletListM.hpp.
template<unsigned int dim, typename T, unsigned int sh_byte, typename CellListImpl = CellListM<dim,T,sh_byte>, typename transform = shift<dim,T>, typename VerletBase = VerletList<dim,T,Mem_fast<>,transform, size_t>>
size_t VerletListM< dim, T, sh_byte, CellListImpl, transform, VerletBase >::getV |
( |
size_t |
part, |
|
|
size_t |
ele |
|
) |
| const |
|
inline |
Get the element vector in the cell.
- Template Parameters
-
- Parameters
-
part | particle id |
ele | element id |
- Returns
- The element value
Definition at line 317 of file VerletListM.hpp.
template<unsigned int dim, typename T, unsigned int sh_byte, typename CellListImpl = CellListM<dim,T,sh_byte>, typename transform = shift<dim,T>, typename VerletBase = VerletList<dim,T,Mem_fast<>,transform, size_t>>
void VerletListM< dim, T, sh_byte, CellListImpl, transform, VerletBase >::Initialize |
( |
CellListImpl & |
cli, |
|
|
size_t |
pp, |
|
|
T |
r_cut, |
|
|
const openfpm::vector< Point< dim, T >> & |
pos, |
|
|
const openfpm::vector< struct pos_v< dim, T >> & |
pos2, |
|
|
size_t |
g_m, |
|
|
size_t |
opt = VL_NON_SYMMETRIC |
|
) |
| |
|
inline |
Initialize the verlet list from an already filled cell-list
- Parameters
-
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 266 of file VerletListM.hpp.
The documentation for this class was generated from the following file: