OpenFPM  5.2.0
Project that contain the implementation of distributed structures
VerletList< dim, T, opt, Mem_type, transform, vPos_type, CellListImpl > Class Template Reference

Class for Verlet list implementation. More...

#include <VerletList.hpp>

+ Inheritance diagram for VerletList< dim, T, opt, Mem_type, transform, vPos_type, CellListImpl >:

Public Types

typedef Mem_type Mem_type_type
 type for the local index
 
typedef size_t value_type
 Object type that the structure store.
 
- Public Types inherited from Mem_fast< HeapMemory, local_index_ >
typedef Mem_fast_ker< HeapMemory, memory_traits_lin, local_index_ > toKernel_type
 
typedef local_index_ local_index_type
 
typedef local_index_ loc_index
 expose the type of the local index
 

Public Member Functions

void initCl (CellListImpl &cellList, const vPos_type &vPos, size_t ghostMarker)
 Fill the cell-list with data. More...
 
void fillCRSSymmetric (const vPos_type &pos, T r_cut, size_t ghostMarker, const openfpm::vector< size_t > &dom, const openfpm::vector< subsub_lin< dim >> &anom)
 Fill CRS Symmetric Verlet list from a given cell-list. More...
 
void fillSymmetric (const vPos_type &pos, T r_cut, size_t ghostMarker, CellListImpl &cellList)
 Fill Symmetric Verlet list from a given cell-list. More...
 
void fillNonSymmetric (const vPos_type &pos, T r_cut, size_t ghostMarker, CellListImpl &cellList)
 Fill Non-symmetric Verlet list from a given cell-list. More...
 
template<typename domainIterator_type >
void fillNonSymmetricIterator (domainIterator_type &it, const vPos_type &pos, T r_cut, size_t ghostMarker, CellListImpl &cellList)
 Fill Non-symmetric Verlet list from a given cell-list. More...
 
template<typename domainIterator_type , typename vPos_type2 >
void fillNonSymmetricIterator (domainIterator_type &it, const vPos_type2 &domainPos, const vPos_type &supportPos, T r_cut, size_t ghostMarker, CellListImpl &cellList)
 Fill Non-symmetric Verlet list from a given cell-list. More...
 
void InitializeNonSymmAdaptive (const Box< dim, T > &box, openfpm::vector< T > &rCuts, const vPos_type &pos, size_t ghostMarker)
 Initialize non-symmetric adaptive r-cut Verlet list from a list of cut-off radii. More...
 
template<typename domainIterator_type , typename vPos_type2 >
void fillNonSymmAdaptiveIterator (domainIterator_type &it, const vPos_type2 &domainPos, const vPos_type &supportPos, openfpm::vector< T > &rCuts, size_t ghostMarker)
 Fill non-symmetric adaptive r-cut Verlet list from a list of cut-off radii. More...
 
void fillNonSymmetricRadius (const vPos_type &pos, T r_cut, size_t ghostMarker, CellListImpl &cellList)
 Fill Non-symmetric Verlet list from a given cell-list (Radius) More...
 
size_t size ()
 Return for how many particles has been constructed this verlet list. More...
 
void addPart (size_t p, size_t q)
 Add a neighborhood particle to a particle. More...
 
void replaceNeighbParts (size_t p, const openfpm::vector< size_t > &buffer)
 Replace the neighborhood particles for the particle id p with the given buffer. More...
 
void Initialize (const Box< dim, T > &box, T r_cut, vPos_type &pos, size_t ghostMarker)
 
template<typename domainIterator_type >
void Initialize (CellListImpl &cellList, T r_cut, domainIterator_type &it, const vPos_type &pos, size_t ghostMarker)
 
template<typename domainIterator_type >
void Initialize (CellListImpl &cellList, T r_cut, domainIterator_type &it, const vPos_type &domainPos, const vPos_type &supportPos, size_t ghostMarker)
 
void InitializeSym (const Box< dim, T > &box, const Box< dim, T > &dom, const Ghost< dim, T > &ghostSize, T r_cut, vPos_type &pos, size_t ghostMarker)
 Initialize the symmetric Verlet-list. More...
 
void initializeCrs (const Box< dim, T > &box, const Box< dim, T > &dom, const Ghost< dim, T > &ghostSize, T r_cut, vPos_type &pos, size_t ghostMarker)
 Initialize the symmetric Verlet-list CRS scheme. More...
 
void update (const Box< dim, T > &dom, T r_cut, vPos_type &pos, size_t &ghostMarker)
 update the Verlet list More...
 
void updateCrs (vPos_type &pos, T r_cut, size_t &ghostMarker, const openfpm::vector< size_t > &dom_c, const openfpm::vector< subsub_lin< dim >> &anom_c)
 update the Verlet list More...
 
 VerletList ()
 Default Constructor.
 
 VerletList (const VerletList< dim, T, opt, Mem_type, transform, vPos_type, CellListImpl > &cell)
 Copy constructor.
 
 VerletList (VerletList< dim, T, opt, Mem_type, transform, vPos_type, CellListImpl > &&cell)
 Copy constructor.
 
 VerletList (Box< dim, T > &box, T r_cut, Matrix< dim, T > mat, const size_t pad=1, size_t slot=STARTING_NSLOT)
 Verlet-list constructor. More...
 
 VerletList (Box< dim, T > &box, T r_cut, vPos_type &pos, size_t ghostMarker, size_t slot=VERLET_STARTING_NSLOT)
 Verlet-list constructor. More...
 
 VerletList (Box< dim, T > &box, Box< dim, T > &dom, T r_cut, vPos_type &pos, size_t ghostMarker, size_t slot=VERLET_STARTING_NSLOT)
 Cell list constructor. More...
 
 ~VerletList ()
 Destructor.
 
VerletList< dim, T, opt, Mem_type, transform, vPos_type, CellListImpl > & operator= (VerletList< dim, T, opt, Mem_type, transform, vPos_type, CellListImpl > &&vl)
 Copy the verlet list. More...
 
VerletList< dim, T, opt, Mem_type, transform, vPos_type, CellListImpl > & operator= (const VerletList< dim, T, opt, Mem_type, transform, vPos_type, CellListImpl > &vl)
 Copy a verlet list. More...
 
size_t getNNPart (size_t p) const
 Return the number of neighborhood particles for the particle id. More...
 
size_t get (size_t p, size_t q) const
 Get the neighborhood element q for the particle p. More...
 
void swap (VerletList< dim, T, opt, Mem_type, transform, vPos_type, CellListImpl > &vl)
 Swap the memory. More...
 
VerletNNIterator< dim, VerletList< dim, T, opt, Mem_type, transform, vPos_type, CellListImpl > > getNNIterator (size_t p)
 Get the Neighborhood iterator. More...
 
void clear ()
 Clear the cell list.
 
const Mem_type::local_index_type & getStart (typename Mem_type::local_index_type p)
 Return the starting point of the neighborhood for the particle p. More...
 
const Mem_type::local_index_type & getStop (typename Mem_type::local_index_type p)
 Return the end point of the neighborhood for the particle p. More...
 
const Mem_type::local_index_type & get_lin (const typename Mem_type::local_index_type *p)
 Return the neighborhood id. More...
 
CellListImpl & getInternalCellList ()
 Get the internal cell-list used to construct the Verlet-list. More...
 
void set_ndec (size_t n_dec)
 Set the n_dec number. More...
 
size_t get_ndec ()
 Set the n_dec number. More...
 
size_t getNeighborMaxNum () const
 Returns the max number of neighbors per particle. Only with opt | VL_NMAX_NEIGHBOR. More...
 
void setNeighborMaxNum (size_t neighborMaxNum)
 Sets the max number of neighbors per particle. Only with opt | VL_NMAX_NEIGHBOR. More...
 
size_t getOpt () const
 Returns the option flag template parameter opt that controls the Verlet list. More...
 
openfpm::vector< typename Mem_type::local_index_type > & getParticleSeq ()
 Return the domain particle sequence. More...
 
getRCut ()
 Return the cut-off radius of the Verlet list. More...
 
getRCuts (size_t p)
 Return the cut-off radii for individual particles. More...
 
void clear (typename Mem_type::local_index_type p)
 Clear support of one particle in the verlet list. More...
 
- Public Member Functions inherited from Mem_fast< HeapMemory, local_index_ >
size_t size () const
 return the number of elements More...
 
void destroy ()
 Destroy the internal memory including the retained one.
 
void init_to_zero (local_index_ slot, local_index_ tot_n_cell)
 Initialize the data to zero. More...
 
void operator= (const Mem_fast< HeapMemory, local_index_ > &mem)
 copy an object Mem_fast More...
 
void operator= (Mem_fast< HeapMemory, local_index_ > &&mem)
 copy an object Mem_fast More...
 
void copy_general (const Mem_fast< Memory2, local_index_ > &mem)
 copy an object Mem_fast More...
 
void addCellGhostMarkers ()
 Add ghost marker to the cell. More...
 
size_t getGhostMarker (local_index_ cell_id) const
 Get ghost marker of the cell.
 
void addCell (local_index_ cell_id, local_index_ ele)
 Add an element to the cell. More...
 
auto get (local_index_ cell, local_index_ ele) -> decltype(cl_base.template get< 0 >(cell *slot+ele)) &
 Get an element in the cell. More...
 
auto get (local_index_ cell, local_index_ ele) const -> decltype(cl_base.template get< 0 >(cell *slot+ele)) &
 Get an element in the cell. More...
 
void remove (local_index_ cell_id, local_index_ ele)
 Remove an element in the cell. More...
 
size_t getNelements (const local_index_ cell_id) const
 Get the number of elements in the cell. More...
 
void swap (Mem_fast< HeapMemory, local_index_ > &mem)
 swap to Mem_fast object More...
 
void swap (Mem_fast< HeapMemory, local_index_ > &&mem)
 swap to Mem_fast object More...
 
void clear ()
 Delete all the elements in every cell.
 
void clear (local_index_ cell_id)
 Delete cell elements in Cell p.
 
const local_index_ & getStartId (local_index_ cell_id) const
 Get the first element of a cell (as reference) More...
 
const local_index_ & getGhostId (local_index_ cell_id) const
 Get the index of the first ghost element. More...
 
const local_index_ & getStopId (local_index_ cell_id) const
 Get the last element of a cell (as reference) More...
 
const local_index_ & get_lin (const local_index_ *part_id) const
 Just return the value pointed by part_id. More...
 
 Mem_fast (local_index_ slot)
 Constructor. More...
 
void set_slot (local_index_ slot)
 Set the number of slot for each cell. More...
 
const openfpm::vector< aggregate< local_index_ >, HeapMemory > & private_get_cl_n () const
 Return the private data-structure cl_n. More...
 
const openfpm::vector< size_t > & getGhostMarkers () const
 Return the private data-structure ghostMarkers. More...
 
const int & private_get_slot () const
 Return the private slot. More...
 
const baseprivate_get_cl_base () const
 Return the private data-structure cl_base. More...
 
void pack (ExtPreAlloc< HeapMemory > &mem, Pack_stat &sts) const
 pack a vector selecting the properties to pack More...
 
void packRequest (size_t &req) const
 It calculate the number of byte required to serialize the object. More...
 
void unpack (ExtPreAlloc< MemType > &mem, Unpack_stat &ps)
 unpack a vector More...
 

Protected Attributes

Mem_type::local_index_type slot
 Number of slot for each particle. Or maximum number of particles for each particle.
 
openfpm::vector< typename Mem_type::local_index_type > domainParticlesCRS
 Domain particles.
 
size_t neighborMaxNum =0
 Max number of Nieghbors. Only with opt |= VL_NMAX_NEIGHBOR.
 
rCut
 Cut-off radius.
 
openfpm::vector< T > rCuts
 Cut-off radius vector.
 

Private Attributes

size_t n_dec
 decomposition counter
 
CellListImpl cellList
 Internal cell-list.
 

Additional Inherited Members

- Static Public Member Functions inherited from Mem_fast< HeapMemory, local_index_ >
static bool pack ()
 
static bool packRequest ()
 

Detailed Description

template<unsigned int dim, typename T, unsigned int opt = VL_NON_SYMMETRIC, typename Mem_type = Mem_fast<HeapMemory,local_index_>, typename transform = no_transform<dim,T>, typename vPos_type = openfpm::vector<Point<dim,T>>, typename CellListImpl = CellList<dim,T,Mem_fast<HeapMemory,typename Mem_type::local_index_type>,transform,vPos_type>>
class VerletList< dim, T, opt, Mem_type, transform, vPos_type, CellListImpl >

Class for Verlet list implementation.

Template Parameters
dimDimensionality of the space
Ttype of the space float, double ...
baseBase structure that store the information

Declaration of a Verlet list [VerS == VerletList<3,double,FAST>]

VerS vl2;
vl2.Initialize(box,r_cut,pos,pos.size());

Declaration of a Verlet list from external Cell-list [VerS == CellList<3,double,FAST>]

// Initialize an external cell-list
Box<dim,T> bt = box;
// Calculate the divisions for the Cell-lists
cl_param_calculate(bt,div,r_cut,Ghost<dim,T>(0.0));
// Initialize a cell-list
cli.Initialize(bt,div,5);
for (size_t i = 0; i < pos.size() ; i++)
cli.add(pos.get(i), i);
This class represent an N-dimensional box.
Definition: Box.hpp:60
Class for FAST cell list implementation.
Definition: CellList.hpp:558
void add(const T(&pos)[dim], typename Mem_type::local_index_type ele)
Add an element in the cell list.
Definition: CellList.hpp:971
void Initialize(CellDecomposer_sm< dim, T, transform > &cd_sm, const Box< dim, T > &dom_box, const size_t pad=1, size_t slot=STARTING_NSLOT)
Definition: CellList.hpp:731
Definition: Ghost.hpp:40
VerS vl1;
vl1.Initialize(cli,r_cut,pos,pos.size());

Usage of Verlet-list

bool ret = true;
auto NN = vl1.getNNIterator(i);
while (NN.isNext())
{
auto k = NN.get();
T dist = p.distance(Point<dim,T>(pos.get(k)));
ret &= (dist < r_cut);
v1.add(k);
++NN;
}
This class implement the point shape in an N-dimensional space.
Definition: Point.hpp:28

Definition at line 268 of file VerletList.hpp.

Constructor & Destructor Documentation

◆ VerletList() [1/3]

template<unsigned int dim, typename T , unsigned int opt = VL_NON_SYMMETRIC, typename Mem_type = Mem_fast<HeapMemory,local_index_>, typename transform = no_transform<dim,T>, typename vPos_type = openfpm::vector<Point<dim,T>>, typename CellListImpl = CellList<dim,T,Mem_fast<HeapMemory,typename Mem_type::local_index_type>,transform,vPos_type>>
VerletList< dim, T, opt, Mem_type, transform, vPos_type, CellListImpl >::VerletList ( Box< dim, T > &  box,
r_cut,
Matrix< dim, T >  mat,
const size_t  pad = 1,
size_t  slot = STARTING_NSLOT 
)
inline

Verlet-list constructor.

Parameters
boxDomain where this verlet-list is living
r_cutcutoff radius
matMatrix transformation
padpadding for the internal Cell-list padding
slotmaximum number of slots or maximum number of neighborhood per particle

Definition at line 911 of file VerletList.hpp.

◆ VerletList() [2/3]

template<unsigned int dim, typename T , unsigned int opt = VL_NON_SYMMETRIC, typename Mem_type = Mem_fast<HeapMemory,local_index_>, typename transform = no_transform<dim,T>, typename vPos_type = openfpm::vector<Point<dim,T>>, typename CellListImpl = CellList<dim,T,Mem_fast<HeapMemory,typename Mem_type::local_index_type>,transform,vPos_type>>
VerletList< dim, T, opt, Mem_type, transform, vPos_type, CellListImpl >::VerletList ( Box< dim, T > &  box,
r_cut,
vPos_type &  pos,
size_t  ghostMarker,
size_t  slot = VERLET_STARTING_NSLOT 
)
inline

Verlet-list constructor.

Parameters
boxDomain where this cell list is living
r_cutcut-off radius
posvector position of particles
ghostMarkerIndicate form which particles to construct the verlet list. For example if we have 120 particles and ghostMarker = 100, the Verlet list will be constructed only for the first 100 particles
slotmaximum number of slots (or maximum number each particle can have)
Note
the maximum number of particle per slot if just an indication for performance

Definition at line 931 of file VerletList.hpp.

◆ VerletList() [3/3]

template<unsigned int dim, typename T , unsigned int opt = VL_NON_SYMMETRIC, typename Mem_type = Mem_fast<HeapMemory,local_index_>, typename transform = no_transform<dim,T>, typename vPos_type = openfpm::vector<Point<dim,T>>, typename CellListImpl = CellList<dim,T,Mem_fast<HeapMemory,typename Mem_type::local_index_type>,transform,vPos_type>>
VerletList< dim, T, opt, Mem_type, transform, vPos_type, CellListImpl >::VerletList ( Box< dim, T > &  box,
Box< dim, T > &  dom,
r_cut,
vPos_type &  pos,
size_t  ghostMarker,
size_t  slot = VERLET_STARTING_NSLOT 
)
inline

Cell list constructor.

Parameters
boxDomain where this cell list is living
domSimulation domain
r_cutcut-off radius
posvector position of particles
ghostMarkerIndicate form which particles to construct the verlet list. For example if we have 120 particles and ghostMarker = 100, the Verlet list will be constructed only for the first 100 particles
slotmaximum number of slots (or maximum number each particle can have)
Note
the maximum number of particle per slot if just an indication for performance

Definition at line 952 of file VerletList.hpp.

Member Function Documentation

◆ addPart()

template<unsigned int dim, typename T , unsigned int opt = VL_NON_SYMMETRIC, typename Mem_type = Mem_fast<HeapMemory,local_index_>, typename transform = no_transform<dim,T>, typename vPos_type = openfpm::vector<Point<dim,T>>, typename CellListImpl = CellList<dim,T,Mem_fast<HeapMemory,typename Mem_type::local_index_type>,transform,vPos_type>>
void VerletList< dim, T, opt, Mem_type, transform, vPos_type, CellListImpl >::addPart ( size_t  p,
size_t  q 
)
inline

Add a neighborhood particle to a particle.

Parameters
ppart id where to add
qelement to add

Definition at line 660 of file VerletList.hpp.

◆ clear()

template<unsigned int dim, typename T , unsigned int opt = VL_NON_SYMMETRIC, typename Mem_type = Mem_fast<HeapMemory,local_index_>, typename transform = no_transform<dim,T>, typename vPos_type = openfpm::vector<Point<dim,T>>, typename CellListImpl = CellList<dim,T,Mem_fast<HeapMemory,typename Mem_type::local_index_type>,transform,vPos_type>>
void VerletList< dim, T, opt, Mem_type, transform, vPos_type, CellListImpl >::clear ( typename Mem_type::local_index_type  p)
inline

Clear support of one particle in the verlet list.

Parameters
pid of particle to clear support

Definition at line 1218 of file VerletList.hpp.

◆ fillCRSSymmetric()

template<unsigned int dim, typename T , unsigned int opt = VL_NON_SYMMETRIC, typename Mem_type = Mem_fast<HeapMemory,local_index_>, typename transform = no_transform<dim,T>, typename vPos_type = openfpm::vector<Point<dim,T>>, typename CellListImpl = CellList<dim,T,Mem_fast<HeapMemory,typename Mem_type::local_index_type>,transform,vPos_type>>
void VerletList< dim, T, opt, Mem_type, transform, vPos_type, CellListImpl >::fillCRSSymmetric ( const vPos_type &  pos,
r_cut,
size_t  ghostMarker,
const openfpm::vector< size_t > &  dom,
const openfpm::vector< subsub_lin< dim >> &  anom 
)
inline

Fill CRS Symmetric Verlet list from a given cell-list.

Parameters
posvector of positions
r_cutcut-off radius to get the neighborhood particles
ghostMarkerIndicate form which particles to construct the verlet list. For example if we have 120 particles and ghostMarker = 100, the Verlet list will be constructed only for the first 100 particles
cellListCell-list elements to use to construct the verlet list
domlist of domain cells with normal neighborhood
anomlist of domain cells with non-normal neighborhood

Definition at line 331 of file VerletList.hpp.

◆ fillNonSymmAdaptiveIterator()

template<unsigned int dim, typename T , unsigned int opt = VL_NON_SYMMETRIC, typename Mem_type = Mem_fast<HeapMemory,local_index_>, typename transform = no_transform<dim,T>, typename vPos_type = openfpm::vector<Point<dim,T>>, typename CellListImpl = CellList<dim,T,Mem_fast<HeapMemory,typename Mem_type::local_index_type>,transform,vPos_type>>
template<typename domainIterator_type , typename vPos_type2 >
void VerletList< dim, T, opt, Mem_type, transform, vPos_type, CellListImpl >::fillNonSymmAdaptiveIterator ( domainIterator_type &  it,
const vPos_type2 &  domainPos,
const vPos_type &  supportPos,
openfpm::vector< T > &  rCuts,
size_t  ghostMarker 
)
inline

Fill non-symmetric adaptive r-cut Verlet list from a list of cut-off radii.

Parameters
itdomain iterator of particle ids
domainPosvector of particle positions of the domain vector
supportPosvector of particle positions of the support vector
rCutslist of cut-off radii for every particle in pos
ghostMarkerIndicate form which particles to construct the verlet list. For example if we have 120 particles and ghostMarker = 100, the Verlet list will be constructed only for the first 100 particles

Definition at line 568 of file VerletList.hpp.

◆ fillNonSymmetric()

template<unsigned int dim, typename T , unsigned int opt = VL_NON_SYMMETRIC, typename Mem_type = Mem_fast<HeapMemory,local_index_>, typename transform = no_transform<dim,T>, typename vPos_type = openfpm::vector<Point<dim,T>>, typename CellListImpl = CellList<dim,T,Mem_fast<HeapMemory,typename Mem_type::local_index_type>,transform,vPos_type>>
void VerletList< dim, T, opt, Mem_type, transform, vPos_type, CellListImpl >::fillNonSymmetric ( const vPos_type &  pos,
r_cut,
size_t  ghostMarker,
CellListImpl &  cellList 
)
inline

Fill Non-symmetric Verlet list from a given cell-list.

Parameters
posvector of positions
r_cutcut-off radius to get the neighborhood particles
ghostMarkerIndicate form which particles to construct the verlet list. For example if we have 120 particles and ghostMarker = 100, the Verlet list will be constructed only for the first 100 particles
cellListCell-list elements to use to construct the verlet list

Definition at line 406 of file VerletList.hpp.

◆ fillNonSymmetricIterator() [1/2]

template<unsigned int dim, typename T , unsigned int opt = VL_NON_SYMMETRIC, typename Mem_type = Mem_fast<HeapMemory,local_index_>, typename transform = no_transform<dim,T>, typename vPos_type = openfpm::vector<Point<dim,T>>, typename CellListImpl = CellList<dim,T,Mem_fast<HeapMemory,typename Mem_type::local_index_type>,transform,vPos_type>>
template<typename domainIterator_type >
void VerletList< dim, T, opt, Mem_type, transform, vPos_type, CellListImpl >::fillNonSymmetricIterator ( domainIterator_type &  it,
const vPos_type &  pos,
r_cut,
size_t  ghostMarker,
CellListImpl &  cellList 
)
inline

Fill Non-symmetric Verlet list from a given cell-list.

Parameters
itdomain iterator of particle ids
posvector of particle positions
r_cutcut-off radius to get the neighborhood particles
ghostMarkerIndicate form which particles to construct the verlet list. For example if we have 120 particles and ghostMarker = 100, the Verlet list will be constructed only for the first 100 particles
cellListCell-list elements to use to construct the verlet list

Definition at line 443 of file VerletList.hpp.

◆ fillNonSymmetricIterator() [2/2]

template<unsigned int dim, typename T , unsigned int opt = VL_NON_SYMMETRIC, typename Mem_type = Mem_fast<HeapMemory,local_index_>, typename transform = no_transform<dim,T>, typename vPos_type = openfpm::vector<Point<dim,T>>, typename CellListImpl = CellList<dim,T,Mem_fast<HeapMemory,typename Mem_type::local_index_type>,transform,vPos_type>>
template<typename domainIterator_type , typename vPos_type2 >
void VerletList< dim, T, opt, Mem_type, transform, vPos_type, CellListImpl >::fillNonSymmetricIterator ( domainIterator_type &  it,
const vPos_type2 &  domainPos,
const vPos_type &  supportPos,
r_cut,
size_t  ghostMarker,
CellListImpl &  cellList 
)
inline

Fill Non-symmetric Verlet list from a given cell-list.

Parameters
itdomain iterator of particle ids
domainPosvector of particle positions of the domain vector
supportPosvector of particle positions of the support vector
r_cutcut-off radius to get the neighborhood particles
ghostMarkerIndicate form which particles to construct the verlet list. For example if we have 120 particles and ghostMarker = 100, the Verlet list will be constructed only for the first 100 particles
cellListCell-list elements to use to construct the verlet list

Definition at line 466 of file VerletList.hpp.

◆ fillNonSymmetricRadius()

template<unsigned int dim, typename T , unsigned int opt = VL_NON_SYMMETRIC, typename Mem_type = Mem_fast<HeapMemory,local_index_>, typename transform = no_transform<dim,T>, typename vPos_type = openfpm::vector<Point<dim,T>>, typename CellListImpl = CellList<dim,T,Mem_fast<HeapMemory,typename Mem_type::local_index_type>,transform,vPos_type>>
void VerletList< dim, T, opt, Mem_type, transform, vPos_type, CellListImpl >::fillNonSymmetricRadius ( const vPos_type &  pos,
r_cut,
size_t  ghostMarker,
CellListImpl &  cellList 
)
inline

Fill Non-symmetric Verlet list from a given cell-list (Radius)

Parameters
posvector of positions
r_cutcut-off radius to get the neighborhood particles
ghostMarkerIndicate form which particles to construct the verlet list. For example if we have 120 particles and ghostMarker = 100, the Verlet list will be constructed only for the first 100 particles
cellListCell-list elements to use to construct the verlet list

Definition at line 613 of file VerletList.hpp.

◆ fillSymmetric()

template<unsigned int dim, typename T , unsigned int opt = VL_NON_SYMMETRIC, typename Mem_type = Mem_fast<HeapMemory,local_index_>, typename transform = no_transform<dim,T>, typename vPos_type = openfpm::vector<Point<dim,T>>, typename CellListImpl = CellList<dim,T,Mem_fast<HeapMemory,typename Mem_type::local_index_type>,transform,vPos_type>>
void VerletList< dim, T, opt, Mem_type, transform, vPos_type, CellListImpl >::fillSymmetric ( const vPos_type &  pos,
r_cut,
size_t  ghostMarker,
CellListImpl &  cellList 
)
inline

Fill Symmetric Verlet list from a given cell-list.

Parameters
posvector of positions
r_cutcut-off radius to get the neighborhood particles
ghostMarkerIndicate form which particles to construct the verlet list. For example if we have 120 particles and ghostMarker = 100, the Verlet list will be constructed only for the first 100 particles
cellListCell-list elements to use to construct the verlet list

Definition at line 370 of file VerletList.hpp.

◆ get()

template<unsigned int dim, typename T , unsigned int opt = VL_NON_SYMMETRIC, typename Mem_type = Mem_fast<HeapMemory,local_index_>, typename transform = no_transform<dim,T>, typename vPos_type = openfpm::vector<Point<dim,T>>, typename CellListImpl = CellList<dim,T,Mem_fast<HeapMemory,typename Mem_type::local_index_type>,transform,vPos_type>>
size_t VerletList< dim, T, opt, Mem_type, transform, vPos_type, CellListImpl >::get ( size_t  p,
size_t  q 
) const
inline

Get the neighborhood element q for the particle p.

Parameters
pparticle id
qneighborhood j
Returns
The element value

Definition at line 1027 of file VerletList.hpp.

◆ get_lin()

template<unsigned int dim, typename T , unsigned int opt = VL_NON_SYMMETRIC, typename Mem_type = Mem_fast<HeapMemory,local_index_>, typename transform = no_transform<dim,T>, typename vPos_type = openfpm::vector<Point<dim,T>>, typename CellListImpl = CellList<dim,T,Mem_fast<HeapMemory,typename Mem_type::local_index_type>,transform,vPos_type>>
const Mem_type::local_index_type& VerletList< dim, T, opt, Mem_type, transform, vPos_type, CellListImpl >::get_lin ( const typename Mem_type::local_index_type *  p)
inline

Return the neighborhood id.

Parameters
pparticle id
Returns
the neighborhood id

Definition at line 1112 of file VerletList.hpp.

◆ get_ndec()

template<unsigned int dim, typename T , unsigned int opt = VL_NON_SYMMETRIC, typename Mem_type = Mem_fast<HeapMemory,local_index_>, typename transform = no_transform<dim,T>, typename vPos_type = openfpm::vector<Point<dim,T>>, typename CellListImpl = CellList<dim,T,Mem_fast<HeapMemory,typename Mem_type::local_index_type>,transform,vPos_type>>
size_t VerletList< dim, T, opt, Mem_type, transform, vPos_type, CellListImpl >::get_ndec ( )
inline

Set the n_dec number.

Returns
n_dec

Definition at line 1144 of file VerletList.hpp.

◆ getInternalCellList()

template<unsigned int dim, typename T , unsigned int opt = VL_NON_SYMMETRIC, typename Mem_type = Mem_fast<HeapMemory,local_index_>, typename transform = no_transform<dim,T>, typename vPos_type = openfpm::vector<Point<dim,T>>, typename CellListImpl = CellList<dim,T,Mem_fast<HeapMemory,typename Mem_type::local_index_type>,transform,vPos_type>>
CellListImpl& VerletList< dim, T, opt, Mem_type, transform, vPos_type, CellListImpl >::getInternalCellList ( )
inline

Get the internal cell-list used to construct the Verlet-list.

Returns
the internal Cell-list

Definition at line 1122 of file VerletList.hpp.

◆ getNeighborMaxNum()

template<unsigned int dim, typename T , unsigned int opt = VL_NON_SYMMETRIC, typename Mem_type = Mem_fast<HeapMemory,local_index_>, typename transform = no_transform<dim,T>, typename vPos_type = openfpm::vector<Point<dim,T>>, typename CellListImpl = CellList<dim,T,Mem_fast<HeapMemory,typename Mem_type::local_index_type>,transform,vPos_type>>
size_t VerletList< dim, T, opt, Mem_type, transform, vPos_type, CellListImpl >::getNeighborMaxNum ( ) const
inline

Returns the max number of neighbors per particle. Only with opt | VL_NMAX_NEIGHBOR.

Returns
max number of neighbors per particle

Definition at line 1155 of file VerletList.hpp.

◆ getNNIterator()

template<unsigned int dim, typename T , unsigned int opt = VL_NON_SYMMETRIC, typename Mem_type = Mem_fast<HeapMemory,local_index_>, typename transform = no_transform<dim,T>, typename vPos_type = openfpm::vector<Point<dim,T>>, typename CellListImpl = CellList<dim,T,Mem_fast<HeapMemory,typename Mem_type::local_index_type>,transform,vPos_type>>
VerletNNIterator<dim,VerletList<dim,T,opt,Mem_type,transform,vPos_type,CellListImpl> > VerletList< dim, T, opt, Mem_type, transform, vPos_type, CellListImpl >::getNNIterator ( size_t  p)
inline

Get the Neighborhood iterator.

It iterate across all the neighborhood particles of a selected particle

Parameters
pparticle id
Returns
an interator across the neighborhood particles

Definition at line 1063 of file VerletList.hpp.

◆ getNNPart()

template<unsigned int dim, typename T , unsigned int opt = VL_NON_SYMMETRIC, typename Mem_type = Mem_fast<HeapMemory,local_index_>, typename transform = no_transform<dim,T>, typename vPos_type = openfpm::vector<Point<dim,T>>, typename CellListImpl = CellList<dim,T,Mem_fast<HeapMemory,typename Mem_type::local_index_type>,transform,vPos_type>>
size_t VerletList< dim, T, opt, Mem_type, transform, vPos_type, CellListImpl >::getNNPart ( size_t  p) const
inline

Return the number of neighborhood particles for the particle id.

Parameters
pid of the particle
Returns
number of neighborhood particles for a particular particle id

Definition at line 1014 of file VerletList.hpp.

◆ getOpt()

template<unsigned int dim, typename T , unsigned int opt = VL_NON_SYMMETRIC, typename Mem_type = Mem_fast<HeapMemory,local_index_>, typename transform = no_transform<dim,T>, typename vPos_type = openfpm::vector<Point<dim,T>>, typename CellListImpl = CellList<dim,T,Mem_fast<HeapMemory,typename Mem_type::local_index_type>,transform,vPos_type>>
size_t VerletList< dim, T, opt, Mem_type, transform, vPos_type, CellListImpl >::getOpt ( ) const
inline

Returns the option flag template parameter opt that controls the Verlet list.

Returns
option flags

Definition at line 1177 of file VerletList.hpp.

◆ getParticleSeq()

template<unsigned int dim, typename T , unsigned int opt = VL_NON_SYMMETRIC, typename Mem_type = Mem_fast<HeapMemory,local_index_>, typename transform = no_transform<dim,T>, typename vPos_type = openfpm::vector<Point<dim,T>>, typename CellListImpl = CellList<dim,T,Mem_fast<HeapMemory,typename Mem_type::local_index_type>,transform,vPos_type>>
openfpm::vector<typename Mem_type::local_index_type>& VerletList< dim, T, opt, Mem_type, transform, vPos_type, CellListImpl >::getParticleSeq ( )
inline

Return the domain particle sequence.

Returns
the particle sequence

Definition at line 1187 of file VerletList.hpp.

◆ getRCut()

template<unsigned int dim, typename T , unsigned int opt = VL_NON_SYMMETRIC, typename Mem_type = Mem_fast<HeapMemory,local_index_>, typename transform = no_transform<dim,T>, typename vPos_type = openfpm::vector<Point<dim,T>>, typename CellListImpl = CellList<dim,T,Mem_fast<HeapMemory,typename Mem_type::local_index_type>,transform,vPos_type>>
T VerletList< dim, T, opt, Mem_type, transform, vPos_type, CellListImpl >::getRCut ( )
inline

Return the cut-off radius of the Verlet list.

Returns
cut-off radius

Definition at line 1197 of file VerletList.hpp.

◆ getRCuts()

template<unsigned int dim, typename T , unsigned int opt = VL_NON_SYMMETRIC, typename Mem_type = Mem_fast<HeapMemory,local_index_>, typename transform = no_transform<dim,T>, typename vPos_type = openfpm::vector<Point<dim,T>>, typename CellListImpl = CellList<dim,T,Mem_fast<HeapMemory,typename Mem_type::local_index_type>,transform,vPos_type>>
T VerletList< dim, T, opt, Mem_type, transform, vPos_type, CellListImpl >::getRCuts ( size_t  p)
inline

Return the cut-off radii for individual particles.

Avaiable only if filled with fillNonSymmAdaptive

Returns
cut-off radius of particle p

Definition at line 1209 of file VerletList.hpp.

◆ getStart()

template<unsigned int dim, typename T , unsigned int opt = VL_NON_SYMMETRIC, typename Mem_type = Mem_fast<HeapMemory,local_index_>, typename transform = no_transform<dim,T>, typename vPos_type = openfpm::vector<Point<dim,T>>, typename CellListImpl = CellList<dim,T,Mem_fast<HeapMemory,typename Mem_type::local_index_type>,transform,vPos_type>>
const Mem_type::local_index_type& VerletList< dim, T, opt, Mem_type, transform, vPos_type, CellListImpl >::getStart ( typename Mem_type::local_index_type  p)
inline

Return the starting point of the neighborhood for the particle p.

Parameters
pparticle id
Returns
the index

Definition at line 1086 of file VerletList.hpp.

◆ getStop()

template<unsigned int dim, typename T , unsigned int opt = VL_NON_SYMMETRIC, typename Mem_type = Mem_fast<HeapMemory,local_index_>, typename transform = no_transform<dim,T>, typename vPos_type = openfpm::vector<Point<dim,T>>, typename CellListImpl = CellList<dim,T,Mem_fast<HeapMemory,typename Mem_type::local_index_type>,transform,vPos_type>>
const Mem_type::local_index_type& VerletList< dim, T, opt, Mem_type, transform, vPos_type, CellListImpl >::getStop ( typename Mem_type::local_index_type  p)
inline

Return the end point of the neighborhood for the particle p.

Parameters
pparticle id
Returns
the stop index

Definition at line 1099 of file VerletList.hpp.

◆ initCl()

template<unsigned int dim, typename T , unsigned int opt = VL_NON_SYMMETRIC, typename Mem_type = Mem_fast<HeapMemory,local_index_>, typename transform = no_transform<dim,T>, typename vPos_type = openfpm::vector<Point<dim,T>>, typename CellListImpl = CellList<dim,T,Mem_fast<HeapMemory,typename Mem_type::local_index_type>,transform,vPos_type>>
void VerletList< dim, T, opt, Mem_type, transform, vPos_type, CellListImpl >::initCl ( CellListImpl &  cellList,
const vPos_type &  vPos,
size_t  ghostMarker 
)
inline

Fill the cell-list with data.

Parameters
cellListCell-list
vPosvector of positions
ghostMarkermarker
optVL_SYMMETRIC or VL_NON_SYMMETRIC

Definition at line 305 of file VerletList.hpp.

◆ Initialize() [1/3]

template<unsigned int dim, typename T , unsigned int opt = VL_NON_SYMMETRIC, typename Mem_type = Mem_fast<HeapMemory,local_index_>, typename transform = no_transform<dim,T>, typename vPos_type = openfpm::vector<Point<dim,T>>, typename CellListImpl = CellList<dim,T,Mem_fast<HeapMemory,typename Mem_type::local_index_type>,transform,vPos_type>>
template<typename domainIterator_type >
void VerletList< dim, T, opt, Mem_type, transform, vPos_type, CellListImpl >::Initialize ( CellListImpl &  cellList,
r_cut,
domainIterator_type &  it,
const vPos_type &  domainPos,
const vPos_type &  supportPos,
size_t  ghostMarker 
)
inline

Initialize the verlet list for Non-Symmetric case from an already filled cell-list

Parameters
cellListexternal Cell-list
r_cutcutoff-radius
itdomain iterator of particle ids
domainPosvector of domain particle positions
supportPosvector of support particle positions
ghostMarkerIndicate form which particles to construct the verlet list. For example if we have 120 particles and ghostMarker = 100, the Verlet list will be constructed only for the first 100 particles

Definition at line 751 of file VerletList.hpp.

◆ Initialize() [2/3]

template<unsigned int dim, typename T , unsigned int opt = VL_NON_SYMMETRIC, typename Mem_type = Mem_fast<HeapMemory,local_index_>, typename transform = no_transform<dim,T>, typename vPos_type = openfpm::vector<Point<dim,T>>, typename CellListImpl = CellList<dim,T,Mem_fast<HeapMemory,typename Mem_type::local_index_type>,transform,vPos_type>>
template<typename domainIterator_type >
void VerletList< dim, T, opt, Mem_type, transform, vPos_type, CellListImpl >::Initialize ( CellListImpl &  cellList,
r_cut,
domainIterator_type &  it,
const vPos_type &  pos,
size_t  ghostMarker 
)
inline

Initialize the verlet list for Non-Symmetric case from an already filled cell-list

Parameters
cellListexternal Cell-list
r_cutcutoff-radius
itdomain iterator of particle ids
posvector of particle positions
ghostMarkerIndicate form which particles to construct the verlet list. For example if we have 120 particles and ghostMarker = 100, the Verlet list will be constructed only for the first 100 particles

Definition at line 725 of file VerletList.hpp.

◆ Initialize() [3/3]

template<unsigned int dim, typename T , unsigned int opt = VL_NON_SYMMETRIC, typename Mem_type = Mem_fast<HeapMemory,local_index_>, typename transform = no_transform<dim,T>, typename vPos_type = openfpm::vector<Point<dim,T>>, typename CellListImpl = CellList<dim,T,Mem_fast<HeapMemory,typename Mem_type::local_index_type>,transform,vPos_type>>
void VerletList< dim, T, opt, Mem_type, transform, vPos_type, CellListImpl >::Initialize ( const Box< dim, T > &  box,
r_cut,
vPos_type &  pos,
size_t  ghostMarker 
)
inline

Initialize the verlet list for Non-Symmetric case

Parameters
boxDomain where this cell list is living
r_cutcut-off radius
posvector of particle positions
ghostMarkerIndicate form which particles to construct the verlet list. For example if we have 120 particles and ghostMarker = 100, the Verlet list will be constructed only for the first 100 particles

Definition at line 690 of file VerletList.hpp.

◆ initializeCrs()

template<unsigned int dim, typename T , unsigned int opt = VL_NON_SYMMETRIC, typename Mem_type = Mem_fast<HeapMemory,local_index_>, typename transform = no_transform<dim,T>, typename vPos_type = openfpm::vector<Point<dim,T>>, typename CellListImpl = CellList<dim,T,Mem_fast<HeapMemory,typename Mem_type::local_index_type>,transform,vPos_type>>
void VerletList< dim, T, opt, Mem_type, transform, vPos_type, CellListImpl >::initializeCrs ( const Box< dim, T > &  box,
const Box< dim, T > &  dom,
const Ghost< dim, T > &  ghostSize,
r_cut,
vPos_type &  pos,
size_t  ghostMarker 
)
inline

Initialize the symmetric Verlet-list CRS scheme.

Parameters
boxSimulation domain
domProcessor domain
ghostSizeghost size
r_cutcut-off radius
posvector of particle positions
ghostMarkerIndicate form which particles to construct the verlet list. For example if we have 120 particles and ghostMarker = 100, the Verlet list will be constructed only for the first 100 particles

Definition at line 816 of file VerletList.hpp.

◆ InitializeNonSymmAdaptive()

template<unsigned int dim, typename T , unsigned int opt = VL_NON_SYMMETRIC, typename Mem_type = Mem_fast<HeapMemory,local_index_>, typename transform = no_transform<dim,T>, typename vPos_type = openfpm::vector<Point<dim,T>>, typename CellListImpl = CellList<dim,T,Mem_fast<HeapMemory,typename Mem_type::local_index_type>,transform,vPos_type>>
void VerletList< dim, T, opt, Mem_type, transform, vPos_type, CellListImpl >::InitializeNonSymmAdaptive ( const Box< dim, T > &  box,
openfpm::vector< T > &  rCuts,
const vPos_type &  pos,
size_t  ghostMarker 
)
inline

Initialize non-symmetric adaptive r-cut Verlet list from a list of cut-off radii.

Parameters
boxDomain where this Verlet list is to be created
posvector of positions
rCutslist of cut-off radii for every particle in pos
ghostMarkerIndicate form which particles to construct the verlet list. For example if we have 120 particles and ghostMarker = 100, the Verlet list will be constructed only for the first 100 particles

Definition at line 502 of file VerletList.hpp.

◆ InitializeSym()

template<unsigned int dim, typename T , unsigned int opt = VL_NON_SYMMETRIC, typename Mem_type = Mem_fast<HeapMemory,local_index_>, typename transform = no_transform<dim,T>, typename vPos_type = openfpm::vector<Point<dim,T>>, typename CellListImpl = CellList<dim,T,Mem_fast<HeapMemory,typename Mem_type::local_index_type>,transform,vPos_type>>
void VerletList< dim, T, opt, Mem_type, transform, vPos_type, CellListImpl >::InitializeSym ( const Box< dim, T > &  box,
const Box< dim, T > &  dom,
const Ghost< dim, T > &  ghostSize,
r_cut,
vPos_type &  pos,
size_t  ghostMarker 
)
inline

Initialize the symmetric Verlet-list.

Parameters
boxSimulation domain
domProcessor domain
ghostSizeghost size
r_cutcut-off radius
posvector of particle positions
ghostMarkerIndicate form which particles to construct the verlet list. For example if we have 120 particles and ghostMarker = 100, the Verlet list will be constructed only for the first 100 particles

Definition at line 777 of file VerletList.hpp.

◆ operator=() [1/2]

template<unsigned int dim, typename T , unsigned int opt = VL_NON_SYMMETRIC, typename Mem_type = Mem_fast<HeapMemory,local_index_>, typename transform = no_transform<dim,T>, typename vPos_type = openfpm::vector<Point<dim,T>>, typename CellListImpl = CellList<dim,T,Mem_fast<HeapMemory,typename Mem_type::local_index_type>,transform,vPos_type>>
VerletList<dim,T,opt,Mem_type,transform,vPos_type,CellListImpl>& VerletList< dim, T, opt, Mem_type, transform, vPos_type, CellListImpl >::operator= ( const VerletList< dim, T, opt, Mem_type, transform, vPos_type, CellListImpl > &  vl)
inline

Copy a verlet list.

Parameters
vlverlet-list to copy
Returns
itself

Definition at line 993 of file VerletList.hpp.

◆ operator=() [2/2]

template<unsigned int dim, typename T , unsigned int opt = VL_NON_SYMMETRIC, typename Mem_type = Mem_fast<HeapMemory,local_index_>, typename transform = no_transform<dim,T>, typename vPos_type = openfpm::vector<Point<dim,T>>, typename CellListImpl = CellList<dim,T,Mem_fast<HeapMemory,typename Mem_type::local_index_type>,transform,vPos_type>>
VerletList<dim,T,opt,Mem_type,transform,vPos_type,CellListImpl>& VerletList< dim, T, opt, Mem_type, transform, vPos_type, CellListImpl >::operator= ( VerletList< dim, T, opt, Mem_type, transform, vPos_type, CellListImpl > &&  vl)
inline

Copy the verlet list.

Parameters
vlverlet list to copy
Returns
itself

Definition at line 973 of file VerletList.hpp.

◆ replaceNeighbParts()

template<unsigned int dim, typename T , unsigned int opt = VL_NON_SYMMETRIC, typename Mem_type = Mem_fast<HeapMemory,local_index_>, typename transform = no_transform<dim,T>, typename vPos_type = openfpm::vector<Point<dim,T>>, typename CellListImpl = CellList<dim,T,Mem_fast<HeapMemory,typename Mem_type::local_index_type>,transform,vPos_type>>
void VerletList< dim, T, opt, Mem_type, transform, vPos_type, CellListImpl >::replaceNeighbParts ( size_t  p,
const openfpm::vector< size_t > &  buffer 
)
inline

Replace the neighborhood particles for the particle id p with the given buffer.

Parameters
pid of the particle
bufferused to update the neighborhood

Definition at line 671 of file VerletList.hpp.

◆ set_ndec()

template<unsigned int dim, typename T , unsigned int opt = VL_NON_SYMMETRIC, typename Mem_type = Mem_fast<HeapMemory,local_index_>, typename transform = no_transform<dim,T>, typename vPos_type = openfpm::vector<Point<dim,T>>, typename CellListImpl = CellList<dim,T,Mem_fast<HeapMemory,typename Mem_type::local_index_type>,transform,vPos_type>>
void VerletList< dim, T, opt, Mem_type, transform, vPos_type, CellListImpl >::set_ndec ( size_t  n_dec)
inline

Set the n_dec number.

Parameters
n_dec

Definition at line 1132 of file VerletList.hpp.

◆ setNeighborMaxNum()

template<unsigned int dim, typename T , unsigned int opt = VL_NON_SYMMETRIC, typename Mem_type = Mem_fast<HeapMemory,local_index_>, typename transform = no_transform<dim,T>, typename vPos_type = openfpm::vector<Point<dim,T>>, typename CellListImpl = CellList<dim,T,Mem_fast<HeapMemory,typename Mem_type::local_index_type>,transform,vPos_type>>
void VerletList< dim, T, opt, Mem_type, transform, vPos_type, CellListImpl >::setNeighborMaxNum ( size_t  neighborMaxNum)
inline

Sets the max number of neighbors per particle. Only with opt | VL_NMAX_NEIGHBOR.

Returns
max number of neighbors per particle

Definition at line 1166 of file VerletList.hpp.

◆ size()

template<unsigned int dim, typename T , unsigned int opt = VL_NON_SYMMETRIC, typename Mem_type = Mem_fast<HeapMemory,local_index_>, typename transform = no_transform<dim,T>, typename vPos_type = openfpm::vector<Point<dim,T>>, typename CellListImpl = CellList<dim,T,Mem_fast<HeapMemory,typename Mem_type::local_index_type>,transform,vPos_type>>
size_t VerletList< dim, T, opt, Mem_type, transform, vPos_type, CellListImpl >::size ( )
inline

Return for how many particles has been constructed this verlet list.

Returns
number of particles

Definition at line 649 of file VerletList.hpp.

◆ swap()

template<unsigned int dim, typename T , unsigned int opt = VL_NON_SYMMETRIC, typename Mem_type = Mem_fast<HeapMemory,local_index_>, typename transform = no_transform<dim,T>, typename vPos_type = openfpm::vector<Point<dim,T>>, typename CellListImpl = CellList<dim,T,Mem_fast<HeapMemory,typename Mem_type::local_index_type>,transform,vPos_type>>
void VerletList< dim, T, opt, Mem_type, transform, vPos_type, CellListImpl >::swap ( VerletList< dim, T, opt, Mem_type, transform, vPos_type, CellListImpl > &  vl)
inline

Swap the memory.

Parameters
vlVerlet list with witch you swap the memory

Definition at line 1037 of file VerletList.hpp.

◆ update()

template<unsigned int dim, typename T , unsigned int opt = VL_NON_SYMMETRIC, typename Mem_type = Mem_fast<HeapMemory,local_index_>, typename transform = no_transform<dim,T>, typename vPos_type = openfpm::vector<Point<dim,T>>, typename CellListImpl = CellList<dim,T,Mem_fast<HeapMemory,typename Mem_type::local_index_type>,transform,vPos_type>>
void VerletList< dim, T, opt, Mem_type, transform, vPos_type, CellListImpl >::update ( const Box< dim, T > &  dom,
r_cut,
vPos_type &  pos,
size_t &  ghostMarker 
)
inline

update the Verlet list

Parameters
r_cutcutoff radius
domProcessor domain
posvector of particle positions
ghostMarkerghost marker

Definition at line 847 of file VerletList.hpp.

◆ updateCrs()

template<unsigned int dim, typename T , unsigned int opt = VL_NON_SYMMETRIC, typename Mem_type = Mem_fast<HeapMemory,local_index_>, typename transform = no_transform<dim,T>, typename vPos_type = openfpm::vector<Point<dim,T>>, typename CellListImpl = CellList<dim,T,Mem_fast<HeapMemory,typename Mem_type::local_index_type>,transform,vPos_type>>
void VerletList< dim, T, opt, Mem_type, transform, vPos_type, CellListImpl >::updateCrs ( vPos_type &  pos,
r_cut,
size_t &  ghostMarker,
const openfpm::vector< size_t > &  dom_c,
const openfpm::vector< subsub_lin< dim >> &  anom_c 
)
inline

update the Verlet list

Parameters
r_cutcutoff radius
domProcessor domain
posvector of particle positions
ghostMarkerghost marker
dom_clist of cells with normal neighborhood
anom_clist of cells with anormal neighborhood

Definition at line 871 of file VerletList.hpp.


The documentation for this class was generated from the following file: