ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
Loading...
Searching...
No Matches
neighbor_search.h
Go to the documentation of this file.
1#ifndef NEIGHBOR_SEARCH_H
2#define NEIGHBOR_SEARCH_H
3
4
9
11{
12public:
13 NeighborSearch()=default;
14 ~NeighborSearch()=default;
15
16 void init(const IAtomProvider& ucell, double sr, int mpi_rank);
17
18
19 void build_neighbors();
20
22
23 void Check_Expand_Condition(const IAtomProvider& ucell);
24
25 void setMemberVariables(const IAtomProvider& ucell);
27
28 double distance(
29 double position_x,
30 double position_y,
31 double position_z,
32 double x_low,
33 double y_low,
34 double z_low);
35
36 void decompose(int mpi_size, int& nx, int& ny, int& nz);
37
39
40
41 int x, y, z;
43
46
47 std::vector<NeighborAtom> all_atoms;
48 std::vector<NeighborAtom> inside_atoms;
49 std::vector<NeighborAtom> ghost_atoms;
50
53};
54
55#endif
Definition bin_manager.h:25
Definition unitcell_interface.h:9
Definition neighbor_atom.h:24
Definition neighbor_list.h:77
Definition neighbor_search.h:11
int glayerZ_minus
Definition neighbor_search.h:45
~NeighborSearch()=default
int glayerY
Definition neighbor_search.h:44
int glayerZ
Definition neighbor_search.h:44
std::vector< NeighborAtom > all_atoms
Definition neighbor_search.h:47
double wide_x
Definition neighbor_search.h:42
void decompose(int mpi_size, int &nx, int &ny, int &nz)
Definition neighbor_search.cpp:250
int y
Definition neighbor_search.h:41
int x
Definition neighbor_search.h:41
InputAtoms ucell_to_input_atoms(const IAtomProvider &ucell)
Definition neighbor_search.cpp:7
int z
Definition neighbor_search.h:41
double search_radius
Definition neighbor_search.h:38
NeighborList & get_neighbor_list()
Definition neighbor_search.h:26
NeighborSearch()=default
BinManager bin_manager
Definition neighbor_search.h:52
void build_neighbors()
Definition neighbor_search.cpp:155
int glayerX
Definition neighbor_search.h:44
int glayerX_minus
Definition neighbor_search.h:45
std::vector< NeighborAtom > ghost_atoms
Definition neighbor_search.h:49
void Check_Expand_Condition(const IAtomProvider &ucell)
Definition neighbor_search.cpp:162
NeighborList neighbor_list
Definition neighbor_search.h:51
std::vector< NeighborAtom > inside_atoms
Definition neighbor_search.h:48
void init(const IAtomProvider &ucell, double sr, int mpi_rank)
Definition neighbor_search.cpp:45
void setMemberVariables(const IAtomProvider &ucell)
Definition neighbor_search.cpp:194
int glayerY_minus
Definition neighbor_search.h:45
double wide_y
Definition neighbor_search.h:42
double wide_z
Definition neighbor_search.h:42
double distance(double position_x, double position_y, double position_z, double x_low, double y_low, double z_low)
Definition neighbor_search.cpp:236