Table of electron repulsion integrals. More...
#include <eritable.h>
Public Member Functions | |
ERItable () | |
Constructor. | |
~ERItable () | |
Destructor. | |
void | set_range_separation (double omega, double alpha, double beta) |
Set range separation. | |
void | get_range_separation (double &omega, double &alpha, double &beta) const |
Get range separation. | |
size_t | fill (const BasisSet *basis, double thr) |
Fill table, return amount of significant shell pairs. | |
size_t | N_ints (const BasisSet *basis, double thr) |
Compute number of integrals. | |
void | print () const |
Print ERI table. | |
size_t | get_N () const |
Get size of ERI table. | |
arma::mat | calcJ (const arma::mat &P) const |
Form Coulomb matrix. | |
arma::mat | calcK (const arma::mat &P) const |
Form exchange matrix. | |
arma::cx_mat | calcK (const arma::cx_mat &P) const |
Form exchange matrix. | |
Protected Member Functions | |
size_t | offset (size_t ip, size_t jp) const |
Calculate offset in integrals table. | |
Protected Attributes | |
std::vector< eripair_t > | shpairs |
Integral pairs sorted by value. | |
arma::mat | screen |
Screening matrix. | |
std::vector< double > | ints |
Table of integrals. | |
std::vector< size_t > | shoff |
Offset lookup. | |
double | omega |
Range separation parameter. | |
double | alpha |
Fraction of long-range (i.e. exact) exchange. | |
double | beta |
Fraction of short-range exchange. | |
Table of electron repulsion integrals.
This class is used to store electron repulsion integrals in memory and to form the Coulomb and exchange matrices. There is no special indexing, so also zeros are stored.