#include <badergrid.h>
Public Member Functions | |
BaderGrid () | |
Constructor. | |
~BaderGrid () | |
Destructor. | |
void | set (const BasisSet &basis, bool verbose=true, bool lobatto=false) |
Set parameters. | |
void | construct_bader (const arma::mat &P, double thr) |
Construct grid with AO overlap matrix threshold thr and classify points into regions with P. | |
void | construct_voronoi (double tol) |
Construct grid with AO overlap matrix threshold thr and classify points into Voronoi regions. | |
size_t | get_Nmax () const |
Get amount of regions. | |
arma::vec | regional_charges (const arma::mat &P) |
Compute regional charges. | |
arma::vec | nuclear_charges (const arma::mat &P) |
Compute nuclear charges. | |
std::vector< arma::mat > | regional_overlap () |
Compute regional overlap matrices. | |
arma::mat | regional_overlap (size_t ireg) |
Compute regional overlap matrix. | |
Private Member Functions | |
void | print_maxima () const |
Print maxima. | |
Private Attributes | |
const BasisSet * | basp |
Basis set. | |
AngularGrid | wrk |
Grid worker. | |
std::vector< coords_t > | maxima |
Locations of maxima. | |
std::vector< std::vector < gridpoint_t > > | reggrid |
Grid points corresponding to the regions. | |
size_t | Nnuc |
Amount of nuclei. | |
bool | verbose |
Verbose operation? | |
The algorithms here are original work, but actually are very much similar to the work in
J. I. Rodríguez, A. M. Köster, P. W. Ayers, A. Santos-Valle, A. Vela, and G. Merino, "An efficient grid-based scheme to compute QTAIM atomic properties without explicit calculation of zero-flux surfaces", J. Comp. Chem. 30, 1082 (2009). Integration over Bader regions