ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
Loading...
Searching...
No Matches
bin_manager.h
Go to the documentation of this file.
1#ifndef BIN_MANAGER_H
2#define BIN_MANAGER_H
3
4#include <vector>
7
8
9
10class Bin
11{
12public:
13 Bin()=default;
14 ~Bin()=default;
15
16 int id_x;
17 int id_y;
18 int id_z;
19
20 std::vector<NeighborAtom> atoms;
21};
22
23
25{
26public:
27
28 void init_bins(
29 double sr,
30 const std::vector<NeighborAtom>& inside_atoms,
31 const std::vector<NeighborAtom>& ghost_atoms
32 );
33
34
35 void do_binning(
36 const std::vector<NeighborAtom>& inside_atoms,
37 const std::vector<NeighborAtom>& ghost_atoms
38 );
39
40
42 NeighborList& neighbor_list,
43 std::vector<NeighborAtom>& atoms
44 );
45
46
47 void clear();
48
49
50 double sradius;
51
52 double x_min, y_min, z_min;
53 double x_max, y_max, z_max;
54
55 double bin_sizex;
56 double bin_sizey;
57 double bin_sizez;
58
59 int nbinx;
60 int nbiny;
61 int nbinz;
62
63 std::vector<Bin> bins;
64};
65
66#endif // BIN_MANAGER_H
Definition bin_manager.h:25
void init_bins(double sr, const std::vector< NeighborAtom > &inside_atoms, const std::vector< NeighborAtom > &ghost_atoms)
Definition bin_manager.cpp:8
double bin_sizey
Definition bin_manager.h:56
void build_atom_neighbors(NeighborList &neighbor_list, std::vector< NeighborAtom > &atoms)
Definition bin_manager.cpp:114
double z_min
Definition bin_manager.h:52
std::vector< Bin > bins
Definition bin_manager.h:63
double sradius
Definition bin_manager.h:50
double y_min
Definition bin_manager.h:52
double bin_sizex
Definition bin_manager.h:55
int nbinz
Definition bin_manager.h:61
int nbiny
Definition bin_manager.h:60
void do_binning(const std::vector< NeighborAtom > &inside_atoms, const std::vector< NeighborAtom > &ghost_atoms)
Definition bin_manager.cpp:82
double x_max
Definition bin_manager.h:53
double y_max
Definition bin_manager.h:53
int nbinx
Definition bin_manager.h:59
double z_max
Definition bin_manager.h:53
void clear()
Definition bin_manager.cpp:194
double x_min
Definition bin_manager.h:52
double bin_sizez
Definition bin_manager.h:57
Definition bin_manager.h:11
std::vector< NeighborAtom > atoms
Definition bin_manager.h:20
Bin()=default
int id_y
Definition bin_manager.h:17
int id_z
Definition bin_manager.h:18
int id_x
Definition bin_manager.h:16
~Bin()=default
Definition neighbor_list.h:77