votca 2024.2-dev
Loading...
Searching...
No Matches
votca::csg::NBListGrid Class Reference

#include <nblistgrid.h>

Inheritance diagram for votca::csg::NBListGrid:
Collaboration diagram for votca::csg::NBListGrid:

Classes

struct  cell_t
 

Public Member Functions

void Generate (BeadList &list1, BeadList &list2, bool do_exclusions=true) override
 Generate the neighbour list based on two bead lists (e.g. bead types)
 
void Generate (BeadList &list, bool do_exclusions=true) override
 Generate the neighbour list based on a single bead list.
 
- Public Member Functions inherited from votca::csg::NBList
 NBList ()
 
 ~NBList () override
 
void setCutoff (double cutoff)
 set the cutoff for the neighbour search
 
double getCutoff () const
 get the cutoff for the neighbour search
 
template<typename T >
void SetMatchFunction (T *object, bool(T::*fkt)(Bead *, Bead *, const Eigen::Vector3d &, double dist))
 match function for class member functions
 
void SetMatchFunction (bool(*fkt)(Bead *, Bead *, const Eigen::Vector3d &, double))
 match function for static member functions or plain functions
 
template<typename pair_type >
void setPairType ()
 function to use a user defined pair type
 
- Public Member Functions inherited from votca::csg::PairList< Bead *, BeadPair >
 PairList ()=default
 
virtual ~PairList ()
 
void AddPair (BeadPair *p)
 
iterator begin ()
 
const_iterator begin () const
 
iterator end ()
 
const_iterator end () const
 
BeadPairfront ()
 
BeadPairback ()
 
bool empty () const
 
Index size () const
 
void Cleanup ()
 
BeadPairFindPair (Bead *e1, Bead *e2)
 
const BeadPairFindPair (Bead *e1, Bead *e2) const
 
partnersFindPartners (Bead *e1)
 

Protected Member Functions

void InitializeGrid (const Eigen::Matrix3d &box)
 
cell_tgetCell (const Eigen::Vector3d &r)
 
cell_tgetCell (const Index &a, const Index &b, const Index &c)
 
void TestBead (const Topology &top, cell_t &cell, Bead *bead)
 
void TestCell (const Topology &top, cell_t &cell, Bead *bead)
 

Protected Attributes

Eigen::Vector3d box_a_
 
Eigen::Vector3d box_b_
 
Eigen::Vector3d box_c_
 
Eigen::Vector3d norm_a_
 
Eigen::Vector3d norm_b_
 
Eigen::Vector3d norm_c_
 
Index box_Na_
 
Index box_Nb_
 
Index box_Nc_
 
tools::NDimVector< cell_t, 3 > grid_
 
- Protected Attributes inherited from votca::csg::NBList
double cutoff_
 cutoff
 
bool do_exclusions_
 take into account exclusions from topolgoy
 
pair_creator_t pair_creator_
 the current bead pair creator function
 
std::unique_ptr< Functormatch_function_
 
- Protected Attributes inherited from votca::csg::PairList< Bead *, BeadPair >
std::vector< BeadPair * > pairs_
 
std::map< Bead *, std::map< Bead *, BeadPair * > > pair_map_
 

Additional Inherited Members

- Public Types inherited from votca::csg::PairList< Bead *, BeadPair >
using iterator
 
using const_iterator
 
typedef std::map< Bead *, BeadPair * > partners
 
using element_t
 
using pair_t
 
- Static Public Member Functions inherited from votca::csg::NBList
static bool match_always (Bead *, Bead *, const Eigen::Vector3d &, double)
 standard match function
 
- Protected Types inherited from votca::csg::NBList
using pair_creator_t = BeadPair *(*)(Bead *, Bead *, const Eigen::Vector3d &)
 
- Static Protected Member Functions inherited from votca::csg::NBList
template<typename pair_type >
static BeadPairbeadpair_create_policy (Bead *bead1, Bead *bead2, const Eigen::Vector3d &r)
 policy function to create new bead types
 

Detailed Description

Definition at line 34 of file nblistgrid.h.

Member Function Documentation

◆ Generate() [1/2]

void votca::csg::NBListGrid::Generate ( BeadList & list,
bool do_exclusions = true )
overridevirtual

Generate the neighbour list based on a single bead list.

Reimplemented from votca::csg::NBList.

Definition at line 55 of file nblistgrid.cc.

◆ Generate() [2/2]

void votca::csg::NBListGrid::Generate ( BeadList & list1,
BeadList & list2,
bool do_exclusions = true )
overridevirtual

Generate the neighbour list based on two bead lists (e.g. bead types)

Reimplemented from votca::csg::NBList.

Definition at line 28 of file nblistgrid.cc.

◆ getCell() [1/2]

NBListGrid::cell_t & votca::csg::NBListGrid::getCell ( const Eigen::Vector3d & r)
protected

Definition at line 148 of file nblistgrid.cc.

◆ getCell() [2/2]

cell_t & votca::csg::NBListGrid::getCell ( const Index & a,
const Index & b,
const Index & c )
protected

◆ InitializeGrid()

void votca::csg::NBListGrid::InitializeGrid ( const Eigen::Matrix3d & box)
protected

Definition at line 71 of file nblistgrid.cc.

◆ TestBead()

void votca::csg::NBListGrid::TestBead ( const Topology & top,
NBListGrid::cell_t & cell,
Bead * bead )
protected

Definition at line 171 of file nblistgrid.cc.

◆ TestCell()

void votca::csg::NBListGrid::TestCell ( const Topology & top,
NBListGrid::cell_t & cell,
Bead * bead )
protected

Definition at line 179 of file nblistgrid.cc.

Member Data Documentation

◆ box_a_

Eigen::Vector3d votca::csg::NBListGrid::box_a_
protected

Definition at line 46 of file nblistgrid.h.

◆ box_b_

Eigen::Vector3d votca::csg::NBListGrid::box_b_
protected

Definition at line 46 of file nblistgrid.h.

◆ box_c_

Eigen::Vector3d votca::csg::NBListGrid::box_c_
protected

Definition at line 46 of file nblistgrid.h.

◆ box_Na_

Index votca::csg::NBListGrid::box_Na_
protected

Definition at line 48 of file nblistgrid.h.

◆ box_Nb_

Index votca::csg::NBListGrid::box_Nb_
protected

Definition at line 48 of file nblistgrid.h.

◆ box_Nc_

Index votca::csg::NBListGrid::box_Nc_
protected

Definition at line 48 of file nblistgrid.h.

◆ grid_

tools::NDimVector<cell_t, 3> votca::csg::NBListGrid::grid_
protected

Definition at line 50 of file nblistgrid.h.

◆ norm_a_

Eigen::Vector3d votca::csg::NBListGrid::norm_a_
protected

Definition at line 47 of file nblistgrid.h.

◆ norm_b_

Eigen::Vector3d votca::csg::NBListGrid::norm_b_
protected

Definition at line 47 of file nblistgrid.h.

◆ norm_c_

Eigen::Vector3d votca::csg::NBListGrid::norm_c_
protected

Definition at line 47 of file nblistgrid.h.


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