votca 2024.2-dev
|
#include <nblistgrid_3body.h>
Classes | |
struct | cell_t |
Public Member Functions | |
void | Generate (BeadList &list1, BeadList &list2, BeadList &list3, bool do_exclusions=true) override |
void | Generate (BeadList &list1, BeadList &list2, bool do_exclusions=true) override |
void | Generate (BeadList &list, bool do_exclusions=true) override |
Public Member Functions inherited from votca::csg::NBList_3Body | |
NBList_3Body () | |
~NBList_3Body () override | |
void | setCutoff (const double cutoff) |
double | getCutoff () |
get the cutoff for the neighbour search | |
template<typename T > | |
void | SetMatchFunction (T *object, bool(T::*fkt)(Bead *, Bead *, Bead *, const Eigen::Vector3d &, const Eigen::Vector3d &, const Eigen::Vector3d &, const double dist12, const double dist13, const double dist23)) |
match function for class member functions | |
void | SetMatchFunction (bool(*fkt)(Bead *, Bead *, Bead *, const Eigen::Vector3d &, const Eigen::Vector3d &, const Eigen::Vector3d &, const double dist12, const double dist13, const double dist23)) |
match function for static member functions or plain functions | |
template<typename triple_type > | |
void | setTripleType () |
function to use a user defined triple type | |
Public Member Functions inherited from votca::csg::TripleList< Bead *, BeadTriple > | |
TripleList ()=default | |
virtual | ~TripleList () |
void | AddTriple (BeadTriple *t) |
iterator | begin () |
iterator | end () |
std::vector< BeadTriple * >::size_type | size () |
BeadTriple * | front () |
BeadTriple * | back () |
bool | empty () |
void | Cleanup () |
BeadTriple * | FindTriple (Bead *e1, Bead *e2, Bead *e3) |
Protected Member Functions | |
void | InitializeGrid (const Eigen::Matrix3d &box) |
cell_t & | getCell (const Eigen::Vector3d &r) |
cell_t & | getCell (const Index &a, const Index &b, const Index &c) |
void | TestBead (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_ |
std::vector< cell_t > | grid_ |
Protected Attributes inherited from votca::csg::NBList_3Body | |
double | cutoff_ |
cutoff (at the moment use only one cutoff value) | |
bool | do_exclusions_ |
take into account exclusions from topolgoy | |
triple_creator_t | triple_creator_ |
the current bead pair creator function | |
std::unique_ptr< Functor > | match_function_ |
Additional Inherited Members | |
Public Types inherited from votca::csg::TripleList< Bead *, BeadTriple > | |
using | iterator |
using | element_t |
using | triple_t |
Static Public Member Functions inherited from votca::csg::NBList_3Body | |
static bool | match_always (Bead *, Bead *, Bead *, const Eigen::Vector3d &, const Eigen::Vector3d &, const Eigen::Vector3d &, const double, const double, const double) |
standard match function | |
Protected Types inherited from votca::csg::NBList_3Body | |
using | triple_creator_t |
Static Protected Member Functions inherited from votca::csg::NBList_3Body | |
template<typename triple_type > | |
static BeadTriple * | beadtriple_create_policy (Bead *bead1, Bead *bead2, Bead *bead3, const Eigen::Vector3d &r12, const Eigen::Vector3d &r13, const Eigen::Vector3d &r23) |
policy function to create new bead types | |
Definition at line 30 of file nblistgrid_3body.h.
|
overridevirtual |
Generate the 3body neighbour list based on a single bead list (nblist will have the structure bead type 1, bead type 1, bead type 1)
Reimplemented from votca::csg::NBList_3Body.
Definition at line 109 of file nblistgrid_3body.cc.
|
overridevirtual |
Generate the 3body neighbour list based on three bead lists (e.g. bead types)
experimental: at the moment exclude interaction as soon as one of the three pairs (1,2) (1,3) (2,3) is excluded!
Reimplemented from votca::csg::NBList_3Body.
Definition at line 27 of file nblistgrid_3body.cc.
|
overridevirtual |
Generate the 3body neighbour list based on two bead lists (e.g. bead types) Experimental: here the second and the third bead list are the same (nblist will have the structure bead type 1, bead type 2, bead type 2)
Reimplemented from votca::csg::NBList_3Body.
Definition at line 71 of file nblistgrid_3body.cc.
|
protected |
Definition at line 212 of file nblistgrid_3body.cc.
|
inlineprotected |
Definition at line 60 of file nblistgrid_3body.h.
|
protected |
Definition at line 137 of file nblistgrid_3body.cc.
|
protected |
experimental: at the moment exclude interaction as soon as one of the three pairs (1,2) (1,3) (2,3) is excluded!
Definition at line 235 of file nblistgrid_3body.cc.
|
protected |
Definition at line 46 of file nblistgrid_3body.h.
|
protected |
Definition at line 46 of file nblistgrid_3body.h.
|
protected |
Definition at line 46 of file nblistgrid_3body.h.
|
protected |
Definition at line 48 of file nblistgrid_3body.h.
|
protected |
Definition at line 48 of file nblistgrid_3body.h.
|
protected |
Definition at line 48 of file nblistgrid_3body.h.
|
protected |
Definition at line 50 of file nblistgrid_3body.h.
|
protected |
Definition at line 47 of file nblistgrid_3body.h.
|
protected |
Definition at line 47 of file nblistgrid_3body.h.
|
protected |
Definition at line 47 of file nblistgrid_3body.h.