17 #ifndef ERKALE_POPULATION
18 #define ERKALE_POPULATION
25 arma::vec add_nuclear_charges(
const BasisSet & basis,
const arma::vec & q);
28 arma::vec mulliken_charges(
const BasisSet & basis,
const arma::mat & P);
30 arma::mat mulliken_charges(
const BasisSet & basis,
const arma::mat & Pa,
const arma::mat & Pb);
33 void mulliken_analysis(
const BasisSet & basis,
const arma::mat & P);
35 void mulliken_analysis(
const BasisSet & basis,
const arma::mat & Pa,
const arma::mat & Pb);
38 arma::vec lowdin_charges(
const BasisSet & basis,
const arma::mat & P);
40 arma::mat lowdin_charges(
const BasisSet & basis,
const arma::mat & Pa,
const arma::mat & Pb);
43 void lowdin_analysis(
const BasisSet & basis,
const arma::mat & P);
45 void lowdin_analysis(
const BasisSet & basis,
const arma::mat & Pa,
const arma::mat & Pb);
48 arma::vec IAO_charges(
const BasisSet & basis,
const arma::mat & C, std::string minbas=
"MINAO.gbs");
50 arma::vec IAO_charges(
const BasisSet & basis,
const arma::cx_mat & C, std::string minbas=
"MINAO.gbs");
53 void IAO_analysis(
const BasisSet & basis,
const arma::mat & C, std::string minbas=
"MINAO.gbs");
55 void IAO_analysis(
const BasisSet & basis,
const arma::cx_mat & C, std::string minbas=
"MINAO.gbs");
57 void IAO_analysis(
const BasisSet & basis,
const arma::mat & Ca,
const arma::mat & Cb, std::string minbas=
"MINAO.gbs");
59 void IAO_analysis(
const BasisSet & basis,
const arma::cx_mat & Ca,
const arma::cx_mat & Cb, std::string minbas=
"MINAO.gbs");
62 arma::vec nuclear_density(
const BasisSet & basis,
const arma::mat & P);
65 void nuclear_analysis(
const BasisSet & basis,
const arma::mat & P);
67 void nuclear_analysis(
const BasisSet & basis,
const arma::mat & Pa,
const arma::mat & Pb);
70 arma::vec becke_charges(
const BasisSet & basis,
const arma::mat & P,
double tol=1e-5);
72 arma::mat becke_charges(
const BasisSet & basis,
const arma::mat & Pa,
const arma::mat & Pb,
double tol=1e-5);
75 void becke_analysis(
const BasisSet & basis,
const arma::mat & P,
double tol=1e-5);
77 void becke_analysis(
const BasisSet & basis,
const arma::mat & Pa,
const arma::mat & Pb,
double tol=1e-5);
80 arma::vec hirshfeld_charges(
const BasisSet & basis,
const arma::mat & P, std::string method=
"HF",
double tol=1e-5);
82 arma::mat hirshfeld_charges(
const BasisSet & basis,
const arma::mat & Pa,
const arma::mat & Pb, std::string method=
"HF",
double tol=1e-5);
85 void hirshfeld_analysis(
const BasisSet & basis,
const arma::mat & P, std::string method=
"HF",
double tol=1e-5);
87 void hirshfeld_analysis(
const BasisSet & basis,
const arma::mat & Pa,
const arma::mat & Pb, std::string method=
"HF",
double tol=1e-5);
90 arma::vec iterative_hirshfeld_charges(
const BasisSet & basis,
const arma::mat & P, std::string method=
"HF",
double tol=1e-5);
92 arma::mat iterative_hirshfeld_charges(
const BasisSet & basis,
const arma::mat & Pa,
const arma::mat & Pb, std::string method=
"HF",
double tol=1e-5);
95 void iterative_hirshfeld_analysis(
const BasisSet & basis,
const arma::mat & P, std::string method=
"HF",
double tol=1e-5);
97 void iterative_hirshfeld_analysis(
const BasisSet & basis,
const arma::mat & Pa,
const arma::mat & Pb, std::string method=
"HF",
double tol=1e-5);
100 arma::vec stockholder_charges(
const BasisSet & basis,
const arma::mat & P,
double tol=1e-5);
102 arma::mat stockholder_charges(
const BasisSet & basis,
const arma::mat & Pa,
const arma::mat & Pb,
double tol=1e-5);
105 void stockholder_analysis(
const BasisSet & basis,
const arma::mat & P,
double tol=1e-5);
107 void stockholder_analysis(
const BasisSet & basis,
const arma::mat & Pa,
const arma::mat & Pb,
double tol=1e-5);
110 arma::vec bader_charges(
const BasisSet & basis,
const arma::mat & P,
double tol=1e-5);
112 arma::mat bader_charges(
const BasisSet & basis,
const arma::mat & Pa,
const arma::mat & Pb,
double tol=1e-5);
115 void bader_analysis(
const BasisSet & basis,
const arma::mat & P,
double tol=1e-5);
117 void bader_analysis(
const BasisSet & basis,
const arma::mat & Pa,
const arma::mat & Pb,
double tol=1e-5);
120 arma::vec voronoi_charges(
const BasisSet & basis,
const arma::mat & P,
double tol=1e-5);
122 arma::mat voronoi_charges(
const BasisSet & basis,
const arma::mat & Pa,
const arma::mat & Pb,
double tol=1e-5);
125 void voronoi_analysis(
const BasisSet & basis,
const arma::mat & P,
double tol=1e-5);
127 void voronoi_analysis(
const BasisSet & basis,
const arma::mat & Pa,
const arma::mat & Pb,
double tol=1e-5);
141 arma::mat mulliken_overlap(
const BasisSet & basis,
const arma::mat & P);
148 arma::mat bond_order(
const BasisSet & basis,
const arma::mat & P);
154 arma::mat bond_order(
const BasisSet & basis,
const arma::mat & Pa,
const arma::mat & Pb);
159 void population_analysis(
const BasisSet & basis,
const arma::mat & P);
160 void population_analysis(
const BasisSet & basis,
const arma::mat & Pa,
const arma::mat & Pb);
163 double spin_S2(
const BasisSet & basis,
const arma::mat & Ca,
const arma::mat & Cb);
168 double darwin_1e(
const BasisSet & basis,
const arma::mat & P);
173 double mass_velocity(
const BasisSet & basis,
const arma::mat & P);
Basis set.
Definition: basis.h:187