ERKALE
ERKALE - DFT from Hel
 All Classes Functions Variables Friends Pages
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
ERItable Class Reference

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_tshpairs
 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.
 

Detailed Description

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.

Author
Susi Lehtola
Date
2011/05/12 18:35

The documentation for this class was generated from the following files: