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

#include <jk.h>

Inheritance diagram for psi::DiskJK:
psi::JK

Public Member Functions

 DiskJK (std::shared_ptr< BasisSet > primary, Options &options)
 
virtual ~DiskJK ()
 Destructor. More...
 
virtual void print_header () const
 
- Public Member Functions inherited from psi::JK
 JK (std::shared_ptr< BasisSet > primary)
 
virtual ~JK ()
 Destructor. More...
 
void set_cutoff (double cutoff)
 
void set_memory (size_t memory)
 
void set_omp_nthread (int omp_nthread)
 
void set_print (int print)
 Print flag (defaults to 1) More...
 
void set_debug (int debug)
 Debug flag (defaults to 0) More...
 
void set_bench (int bench)
 Bench flag (defaults to 0) More...
 
void set_do_J (bool do_J)
 
void set_do_K (bool do_K)
 
void set_do_wK (bool do_wK)
 
void set_omega (double omega)
 
void initialize ()
 
void compute ()
 
void finalize ()
 
virtual SharedVector iaia (SharedMatrix Ci, SharedMatrix Ca)
 
std::vector< SharedMatrix > & C_left ()
 
std::vector< SharedMatrix > & C_right ()
 
const std::vector< SharedMatrix > & J () const
 
const std::vector< SharedMatrix > & K () const
 
const std::vector< SharedMatrix > & wK () const
 
const std::vector< SharedMatrix > & D () const
 

Private Member Functions

virtual bool C1 () const
 Do we need to backtransform to C1 under the hood? More...
 
virtual void preiterations ()
 Setup integrals, files, etc. More...
 
virtual void compute_JK ()
 Compute J/K for current C/D. More...
 
virtual void postiterations ()
 Delete integrals, files, etc. More...
 
void common_init ()
 Common initialization. More...
 

Private Attributes

int * so2index_
 Absolute AO index to relative SO index. More...
 
int * so2symblk_
 Absolute AO index to irrep. More...
 
Optionsoptions_
 Options object. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from psi::JK
static std::shared_ptr< JKbuild_JK (std::shared_ptr< BasisSet > primary, std::shared_ptr< BasisSet > auxiliary, Options &options)
 
static std::shared_ptr< JKbuild_JK (std::shared_ptr< BasisSet > primary, std::shared_ptr< BasisSet > auxiliary, Options &options, std::string jk_type)
 
- Protected Member Functions inherited from psi::JK
void compute_D ()
 Build the pseudo-density D_, before compute_JK() More...
 
void USO2AO ()
 Transform current C_left_/C_right_/D_ to C_left_ao_/C_right_ao_/D_ao_, before compute_JK() More...
 
void AO2USO ()
 Transform finished J_ao_/K_ao_ to J_/K_, after compute_JK() More...
 
void allocate_JK ()
 Allocate J_/K_ should we be using SOs. More...
 
void common_init ()
 
size_t memory_overhead () const
 Memory (doubles) used to hold J/K/wK/C/D and ao versions, at current moment. More...
 
- Protected Attributes inherited from psi::JK
int print_
 Print flag, defaults to 1. More...
 
int debug_
 Debug flag, defaults to 0. More...
 
int bench_
 Bench flag, defaults to 0. More...
 
size_t memory_
 Memory available, in doubles, defaults to 256 MB (32 M doubles) More...
 
int omp_nthread_
 Number of OpenMP threads (defaults to 1 in no OpenMP, Process::environment.get_n_threads() otherwise) More...
 
double cutoff_
 Integral cutoff (defaults to 0.0) More...
 
std::vector< bool > input_symmetry_cast_map_
 Whether to all desymmetrization, for cases when it's already been performed elsewhere. More...
 
bool do_J_
 Do J matrices? Defaults to true. More...
 
bool do_K_
 Do K matrices? Defaults to true. More...
 
bool do_wK_
 Do wK matrices? Defaults to false. More...
 
double omega_
 Omega, defaults to 0.0. More...
 
bool lr_symmetric_
 Left-right symmetric? Determined in each call of compute() More...
 
std::vector< SharedMatrixC_left_
 Pseudo-occupied C matrices, left side. More...
 
std::vector< SharedMatrixC_right_
 Pseudo-occupied C matrices, right side. More...
 
std::vector< SharedMatrixD_
 Pseudo-density matrices $D_{ls}=C_{li}^{left}C_{si}^{right}$. More...
 
std::vector< SharedMatrixJ_
 J matrices: $J_{mn}=(mn|ls)C_{li}^{left}C_{si}^{right}$. More...
 
std::vector< SharedMatrixK_
 K matrices: $K_{mn}=(ml|ns)C_{li}^{left}C_{si}^{right}$. More...
 
std::vector< SharedMatrixwK_
 wK matrices: $K_{mn}(\omega)=(ml|\omega|ns)C_{li}^{left}C_{si}^{right}$ More...
 
std::shared_ptr< BasisSetprimary_
 Primary basis set. More...
 
SharedMatrix AO2USO_
 AO2USO transformation matrix. More...
 
std::vector< SharedMatrixC_left_ao_
 Pseudo-occupied C matrices, left side. More...
 
std::vector< SharedMatrixC_right_ao_
 Pseudo-occupied C matrices, right side. More...
 
std::vector< SharedMatrixD_ao_
 Pseudo-density matrices. More...
 
std::vector< SharedMatrixJ_ao_
 J matrices: J_mn = (mn|ls) C_li^left C_si^right. More...
 
std::vector< SharedMatrixK_ao_
 K matrices: K_mn = (ml|ns) C_li^left C_si^right. More...
 
std::vector< SharedMatrixwK_ao_
 wK matrices: wK_mn = (ml|w|ns) C_li^left C_si^right More...
 

Detailed Description

Class DiskJK

JK implementation using disk-based PK integral technology

Constructor & Destructor Documentation

psi::DiskJK::DiskJK ( std::shared_ptr< BasisSet primary,
Options options 
)
Parameters
primaryprimary basis set for this system. AO2USO transforms will be built with the molecule contained in this basis object, so the incoming C matrices must have the same spatial symmetry structure as this molecule
psi::DiskJK::~DiskJK ( )
virtual

Destructor.

Member Function Documentation

virtual bool psi::DiskJK::C1 ( ) const
inlineprivatevirtual

Do we need to backtransform to C1 under the hood?

Implements psi::JK.

void psi::DiskJK::common_init ( void  )
private

Common initialization.

void psi::DiskJK::compute_JK ( )
privatevirtual

Compute J/K for current C/D.

Implements psi::JK.

void psi::DiskJK::postiterations ( )
privatevirtual

Delete integrals, files, etc.

Implements psi::JK.

void psi::DiskJK::preiterations ( )
privatevirtual

Setup integrals, files, etc.

Implements psi::JK.

void psi::DiskJK::print_header ( ) const
virtual

Print header information regarding JK type on output file

Implements psi::JK.

Member Data Documentation

Options& psi::DiskJK::options_
private

Options object.

int* psi::DiskJK::so2index_
private

Absolute AO index to relative SO index.

int* psi::DiskJK::so2symblk_
private

Absolute AO index to irrep.


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