Psi4
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
psi::DFERI Class Reference

#include <lreri.h>

Inheritance diagram for psi::DFERI:
psi::LRERI

Public Member Functions

 DFERI (std::shared_ptr< BasisSet > primary, std::shared_ptr< BasisSet > auxiliary)
 
virtual ~DFERI ()
 
virtual void load_options (Options &options)
 O: Load the usual options objects. More...
 
void add_pair_space (const std::string &name, const std::string &space1, const std::string &space2, double pow=-1.0/2.0, bool transpose12=false)
 
virtual void clear ()
 Clear the C matrix and orbital spaces list. More...
 
virtual void clear_pair_spaces ()
 
virtual void print_header (int level=1)
 Print info. More...
 
int size_Q ()
 The size of the auxiliary basis. More...
 
virtual void compute ()
 R: Compute the requested DF 3-index integrals. More...
 
std::map< std::string,
std::shared_ptr< Tensor > > & 
ints ()
 Handle to computed disk tensors, by name in add_pair above. More...
 
std::shared_ptr< MatrixJpow (double power=-1.0/2.0)
 Return the J matrix raised to the desired power. More...
 
void set_J_cutoff (double J_cutoff)
 Set the relative eigenvalue cutoff in J^{-1/2}. More...
 
void set_schwarz_cutoff (double schwarz_cutoff)
 Set the schwarz sieve cutoff. More...
 
void set_keep_raw_integrals (bool val)
 Set to keep the raw integrals in (Q|ia) striping? More...
 
void set_omega (double omega)
 Set the omega value. ALL integrals and metrics will use this value if set. More...
 
- Public Member Functions inherited from psi::LRERI
 LRERI (std::shared_ptr< BasisSet > primary)
 
virtual ~LRERI ()
 
virtual void load_wavefunction (std::shared_ptr< Wavefunction > ref)
 O: Load the usual orbital spaces for an RHF or UHF wavefunction. More...
 
void set_C (std::shared_ptr< Matrix > C)
 R: Set the overall C matrix (calls clear before starting) More...
 
void add_space (const std::string &key, int start, int end)
 R: Add an orbital subspace to the queue. The subspace will be referred to by key, and ranges from start to end-1. More...
 
void set_print (int print)
 Set the print flag. More...
 
void set_debug (int debug)
 Set the debug flag. More...
 
void set_bench (int bench)
 Set the bench flag. More...
 
void set_memory (unsigned long int memory)
 Set the allowed memory in doubles. More...
 

Static Public Member Functions

static std::shared_ptr< DFERIbuild (std::shared_ptr< BasisSet > primary, std::shared_ptr< BasisSet > auxiliary, Options &options)
 
static std::shared_ptr< DFERIbuild (std::shared_ptr< BasisSet > primary, std::shared_ptr< BasisSet > auxiliary, Options &options, std::shared_ptr< Wavefunction > ref)
 

Protected Member Functions

void common_init ()
 Set defaults. More...
 
void allocate ()
 
void transform ()
 
void fit ()
 
- Protected Member Functions inherited from psi::LRERI
void common_init ()
 Set defaults. More...
 
std::shared_ptr< MatrixJm12 (std::shared_ptr< BasisSet > auxiliary, double condition)
 Inverse fitting metric. More...
 

Protected Attributes

std::shared_ptr< BasisSetauxiliary_
 Auxiliary orbital-pair basis. More...
 
double J_cutoff_
 Relative condition number in J^-1/2. More...
 
double schwarz_cutoff_
 Schwarz sieve tolerance. More...
 
double omega_
 
std::map< std::string,
std::shared_ptr< Tensor > > 
ints_
 Three-center integrals, by name, sorted e.g. (ov|Q), DiskTensor. More...
 
std::map< std::string,
std::pair< std::string,
std::string > > 
pair_spaces_
 Requested pair spaces. More...
 
std::map< std::string, double > pair_powers_
 Requested pair space powers. More...
 
std::map< std::string, bool > pair_transposes_
 Requested pair space transpositions (ab|Q) -> (ba|Q) More...
 
std::vector< std::string > pair_spaces_order_
 Order of pair spaces, to keep printing nice. More...
 
bool keep_raw_integrals_
 Keep the raw (Q|ia)-type integrals? More...
 
- Protected Attributes inherited from psi::LRERI
int print_
 Print flag. More...
 
int debug_
 Debug flag. More...
 
int bench_
 Bench flag. More...
 
unsigned long int memory_
 Memory in doubles. More...
 
std::shared_ptr< BasisSetprimary_
 Primary orbital basis (nso) More...
 
std::shared_ptr< MatrixC_
 Occupation matrix coefficients (nso x nmo) More...
 
std::map< std::string,
std::pair< int, int > > 
spaces_
 Orbital spaces, each defined by a keyword and the index range in <start, end+1>. More...
 
std::vector< std::string > spaces_order_
 Orbital spaces order buffer, to keep the printing nice. More...
 

Detailed Description

DFERI

Constructor & Destructor Documentation

psi::DFERI::DFERI ( std::shared_ptr< BasisSet primary,
std::shared_ptr< BasisSet auxiliary 
)
psi::DFERI::~DFERI ( )
virtual

Member Function Documentation

void psi::DFERI::add_pair_space ( const std::string &  name,
const std::string &  space1,
const std::string &  space2,
double  pow = -1.0/2.0,
bool  transpose12 = false 
)
void psi::DFERI::allocate ( )
protected
std::shared_ptr< DFERI > psi::DFERI::build ( std::shared_ptr< BasisSet primary,
std::shared_ptr< BasisSet auxiliary,
Options options 
)
static
std::shared_ptr< DFERI > psi::DFERI::build ( std::shared_ptr< BasisSet primary,
std::shared_ptr< BasisSet auxiliary,
Options options,
std::shared_ptr< Wavefunction ref 
)
static
void psi::DFERI::clear ( void  )
virtual

Clear the C matrix and orbital spaces list.

Reimplemented from psi::LRERI.

void psi::DFERI::clear_pair_spaces ( )
virtual
void psi::DFERI::common_init ( void  )
protected

Set defaults.

void psi::DFERI::compute ( )
virtual

R: Compute the requested DF 3-index integrals.

Implements psi::LRERI.

void psi::DFERI::fit ( )
protected
std::map<std::string, std::shared_ptr<Tensor> >& psi::DFERI::ints ( )
inline

Handle to computed disk tensors, by name in add_pair above.

std::shared_ptr< Matrix > psi::DFERI::Jpow ( double  power = -1.0/2.0)

Return the J matrix raised to the desired power.

void psi::DFERI::load_options ( Options options)
virtual

O: Load the usual options objects.

Reimplemented from psi::LRERI.

void psi::DFERI::print_header ( int  level = 1)
virtual

Print info.

Implements psi::LRERI.

void psi::DFERI::set_J_cutoff ( double  J_cutoff)
inline

Set the relative eigenvalue cutoff in J^{-1/2}.

void psi::DFERI::set_keep_raw_integrals ( bool  val)
inline

Set to keep the raw integrals in (Q|ia) striping?

void psi::DFERI::set_omega ( double  omega)
inline

Set the omega value. ALL integrals and metrics will use this value if set.

void psi::DFERI::set_schwarz_cutoff ( double  schwarz_cutoff)
inline

Set the schwarz sieve cutoff.

int psi::DFERI::size_Q ( void  )

The size of the auxiliary basis.

void psi::DFERI::transform ( )
protected

Member Data Documentation

std::shared_ptr<BasisSet> psi::DFERI::auxiliary_
protected

Auxiliary orbital-pair basis.

std::map<std::string, std::shared_ptr<Tensor> > psi::DFERI::ints_
protected

Three-center integrals, by name, sorted e.g. (ov|Q), DiskTensor.

double psi::DFERI::J_cutoff_
protected

Relative condition number in J^-1/2.

bool psi::DFERI::keep_raw_integrals_
protected

Keep the raw (Q|ia)-type integrals?

double psi::DFERI::omega_
protected
std::map<std::string, double> psi::DFERI::pair_powers_
protected

Requested pair space powers.

std::map<std::string, std::pair<std::string, std::string> > psi::DFERI::pair_spaces_
protected

Requested pair spaces.

std::vector<std::string> psi::DFERI::pair_spaces_order_
protected

Order of pair spaces, to keep printing nice.

std::map<std::string, bool> psi::DFERI::pair_transposes_
protected

Requested pair space transpositions (ab|Q) -> (ba|Q)

double psi::DFERI::schwarz_cutoff_
protected

Schwarz sieve tolerance.


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