QNANO
Public Member Functions | List of all members
Neighbor_List Class Reference
Inheritance diagram for Neighbor_List:
Inheritance graph
[legend]
Collaboration diagram for Neighbor_List:
Collaboration graph
[legend]

Public Member Functions

void setup (Parameter_Map &param_map, const Atom_List &atlist)
 setup from command line parameters. Typically, an Atom_List has to be set up anyway, so use if it possible
 
void setup (Parameter_Map &param_map)
 If not, the set up Atom_List temporarliy and drop it when Neighbor_List is set up.
 
void add (const Atom_List &atlist, const Neighborhood_Criterion &criterion, double boxwidth=-1.)
 calculate neighbors from Atom_List according to the specified Neighborhood_Criterion, then add them to the existing neighbors
 
void add_shifted (const Atom_List &atlist, const Neighborhood_Criterion &criterion, const Vec3d &shift, double boxwidth=-1.)
 Same as 'add' but shift the atom positions before checking if the Neighborhood_Criterion is fulfilled. Used for periodic boundaries.
 
void calculate (const Atom_List &atlist, const Neighborhood_Criterion &criterion, const std::vector< Vec3d > &periodic_vec=std::vector< Vec3d >(), double boxwidth=-1.)
 Clear existing data and 'add'.
 
void calculate (const Atom_List &atlist, const Lattice &lat, const std::vector< Vec3d > &periodic_vec=std::vector< Vec3d >(), double tolerance=0.20)
 
void calculate_unrelaxed (const Atom_List &atlist, const Lattice &lat, double tolerance=0.2)
 Same as 'calculate', but set the bond vector 'D' of each 'Neighbor' to one matching a neighbor in an equilibirum lattice bond.
 
void setup_unrelaxed_from_relaxed (const Atom_List &atlist, const Neighbor_List &neilist_relaxed, const TB_Parameter_List &parlist)
 
bool calcualte_unrelaxed_single (const Neighbor_List &other, size_t index, size_t n, const Lattice &lat, double tolerance=0.2, const Vec3d &shift=Vec3d())
 If there is more than one material, there is more than one equilibrium lattice. Thus, we have to go through all atoms individually to get the correct equilibirum distance vectors. Returns false if neighbor is not found.
 
size_t get_max_neighbors_per_atom () const
 
void read (const std::string &filename, const Atom_List &atlist)
 
void print (const std::string &filename) const
 
void print_withD (const std::string &filename) const
 
void check_consistency () const
 
 Neighbor_List (const Atom_List &atlist, const Neighborhood_Criterion &criterion, const std::vector< Vec3d > &periodic_vec=std::vector< Vec3d >(), double boxwidth=-1.)
 
 Neighbor_List (const Atom_List &atlist, const Lattice &lat, const std::vector< Vec3d > &periodic_vec=std::vector< Vec3d >(), double tolerance=0.2)
 
- Public Member Functions inherited from List_Class< std::vector< Neighbor > >
std::vector< Neighbor > & operator[] (size_t i)
 
const std::vector< Neighbor > & operator[] (size_t i) const
 
size_t size () const
 
virtual void resize (size_t i)
 
virtual void reserve (size_t i)
 
virtual void push_back (const std::vector< Neighbor > &value)
 
virtual void clear ()
 
List_Class< std::vector< Neighbor > > & operator= (const std::vector< std::vector< Neighbor > > &Tvec)
 
int find (std::vector< Neighbor >element) const
 
int find_check (std::vector< Neighbor >element) const
 
void add_if_new (std::vector< Neighbor >element)
 
void add_if_new_check (std::vector< Neighbor >element)
 

Additional Inherited Members

- Public Attributes inherited from List_Class< std::vector< Neighbor > >
std::vector< std::vector< Neighbor > > list
 

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