Psi4
Public Member Functions | Private Member Functions | Private Attributes | List of all members
psi::psimrcc::CCTransform Class Reference

#include <transform.h>

Public Member Functions

 CCTransform ()
 
 ~CCTransform ()
 
void print ()
 
void presort_integrals ()
 
void read_oei_from_transqt ()
 
void read_integrals_from_transqt ()
 
void read_integrals_mrpt2 (IntegralTransform *ints)
 
int read_tei_mo_integrals_block (int first_irrep)
 
void free_tei_mo_integrals_block (int first_irrep, int last_irrep)
 
void free_memory ()
 
void transform_tei_integrals ()
 
double oei (int p, int q)
 
double tei (int p, int q, int r, int s)
 
double tei_block (int p, int q, int r, int s)
 
double tei_mrpt2 (int p, int q, int r, int s)
 

Private Member Functions

void read_mo_integrals ()
 
void read_so_integrals ()
 
void read_oei_so_integrals ()
 
void read_oei_mo_integrals ()
 
void read_oei_mo_integrals_mrpt2 ()
 
void read_tei_so_integrals ()
 
void read_tei_mo_integrals ()
 
void read_tei_mo_integrals_mrpt2 (IntegralTransform *ints)
 
void transform_oei_so_integrals ()
 
void transform_tei_so_integrals ()
 
void allocate_oei_so ()
 
void allocate_oei_mo ()
 
void free_oei_mo ()
 
void free_oei_so ()
 
void allocate_tei_so ()
 
void allocate_tei_mo ()
 
void allocate_tei_half_transformed ()
 
void free_tei_mo ()
 
void free_tei_so ()
 
void free_tei_half_transformed ()
 
int allocate_tei_mo_block (int first_irrep)
 
void presort_blocks (int first_irrep, int last_irrep)
 

Private Attributes

size_t * ioff
 
double ** s_so
 
double ** oei_mo
 
double ** oei_so
 
double ** tei_so
 
double *** tei_half_transformed
 
double ** tei_mo
 
CCIndexoei_so_indexing
 
CCIndextei_so_indexing
 
CCIndextei_mo_indexing
 
int first_irrep_in_core
 
int last_irrep_in_core
 
std::map< size_t, double > integral_map
 
double fraction_of_memory_for_presorting
 

Detailed Description

Author
Francesco A. Evangelista and Andrew C. Simmonett frank.nosp@m.@ccc.nosp@m..uga..nosp@m.edu

Constructor & Destructor Documentation

psi::psimrcc::CCTransform::CCTransform ( )
psi::psimrcc::CCTransform::~CCTransform ( )

Member Function Documentation

void psi::psimrcc::CCTransform::allocate_oei_mo ( )
private

Allocate the oei_mo array

void psi::psimrcc::CCTransform::allocate_oei_so ( )
private

Allocate the oei_so array

void psi::psimrcc::CCTransform::allocate_tei_half_transformed ( )
private
void psi::psimrcc::CCTransform::allocate_tei_mo ( )
private

Allocate the tei_mo array and exit(EXIT_FAILURE) if there is not enough space

int psi::psimrcc::CCTransform::allocate_tei_mo_block ( int  first_irrep)
private

Allocate as many blocks of the tei_mo array and exit(EXIT_FAILURE) if there is not enough space

void psi::psimrcc::CCTransform::allocate_tei_so ( )
private
void psi::psimrcc::CCTransform::free_memory ( )

Free all the memory allocated by CCTransform

void psi::psimrcc::CCTransform::free_oei_mo ( )
private

Free the oei_mo array

void psi::psimrcc::CCTransform::free_oei_so ( )
private

Free the oei_so array

void psi::psimrcc::CCTransform::free_tei_half_transformed ( )
private
void psi::psimrcc::CCTransform::free_tei_mo ( )
private

Free the tei_mo array

void psi::psimrcc::CCTransform::free_tei_mo_integrals_block ( int  first_irrep,
int  last_irrep 
)

Free the blocks included in the first_irrep->last_irrep range

void psi::psimrcc::CCTransform::free_tei_so ( )
private
double psi::psimrcc::CCTransform::oei ( int  p,
int  q 
)
void psi::psimrcc::CCTransform::presort_blocks ( int  first_irrep,
int  last_irrep 
)
private
void psi::psimrcc::CCTransform::presort_integrals ( )

Reads and IWL buffer and sorts the two-electron integrals (pq|rs) as p >= q, r >= s, and pq >= rs. Each symmetry block (determined by pq or rs) is stored in a separate file. This routine makes psimrcc compatible with transqt and transqt2.

void psi::psimrcc::CCTransform::print ( )
void psi::psimrcc::CCTransform::read_integrals_from_transqt ( )
inline
void psi::psimrcc::CCTransform::read_integrals_mrpt2 ( IntegralTransform ints)
void psi::psimrcc::CCTransform::read_mo_integrals ( )
private
void psi::psimrcc::CCTransform::read_oei_from_transqt ( )
inline
void psi::psimrcc::CCTransform::read_oei_mo_integrals ( )
private

Read the one electron MO integrals from an iwl buffer assuming Pitzer ordering and store them in oei_mo

void psi::psimrcc::CCTransform::read_oei_mo_integrals_mrpt2 ( )
private

Read the one electron MO integrals from an iwl buffer assuming Pitzer ordering and store them in oei_mo

void psi::psimrcc::CCTransform::read_oei_so_integrals ( )
private
void psi::psimrcc::CCTransform::read_so_integrals ( )
private
void psi::psimrcc::CCTransform::read_tei_mo_integrals ( )
private

Read the two electron MO integrals from an iwl buffer assuming Pitzer ordering and store them in the packed array tei_mo

int psi::psimrcc::CCTransform::read_tei_mo_integrals_block ( int  first_irrep)

Read at least one block of the two electron MO integrals from an iwl buffer assuming Pitzer ordering and store them in the packed array tei_mo

void psi::psimrcc::CCTransform::read_tei_mo_integrals_mrpt2 ( IntegralTransform ints)
private

Read the two electron MO integrals from an iwl buffer assuming Pitzer ordering and store them in the packed array tei_mo

void psi::psimrcc::CCTransform::read_tei_so_integrals ( )
private
double psi::psimrcc::CCTransform::tei ( int  p,
int  q,
int  r,
int  s 
)
double psi::psimrcc::CCTransform::tei_block ( int  p,
int  q,
int  r,
int  s 
)
double psi::psimrcc::CCTransform::tei_mrpt2 ( int  p,
int  q,
int  r,
int  s 
)
void psi::psimrcc::CCTransform::transform_oei_so_integrals ( )
private
psi::psimrcc::CCTransform::transform_tei_integrals ( )
void psi::psimrcc::CCTransform::transform_tei_so_integrals ( )
private

Member Data Documentation

int psi::psimrcc::CCTransform::first_irrep_in_core
private
double psi::psimrcc::CCTransform::fraction_of_memory_for_presorting
private
std::map<size_t,double> psi::psimrcc::CCTransform::integral_map
private
size_t* psi::psimrcc::CCTransform::ioff
private
int psi::psimrcc::CCTransform::last_irrep_in_core
private
double** psi::psimrcc::CCTransform::oei_mo
private
double** psi::psimrcc::CCTransform::oei_so
private
CCIndex* psi::psimrcc::CCTransform::oei_so_indexing
private
double** psi::psimrcc::CCTransform::s_so
private
double*** psi::psimrcc::CCTransform::tei_half_transformed
private
double** psi::psimrcc::CCTransform::tei_mo
private
CCIndex* psi::psimrcc::CCTransform::tei_mo_indexing
private
double** psi::psimrcc::CCTransform::tei_so
private
CCIndex* psi::psimrcc::CCTransform::tei_so_indexing
private

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