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

#include <mintshelper.h>

Public Types

enum  { kFromCartesianAO = true, kFromBF = false }
 

Public Member Functions

void init_helper (std::shared_ptr< Wavefunction > wavefunction=std::shared_ptr< Wavefunction >())
 
void init_helper (std::shared_ptr< BasisSet > basis)
 
 MintsHelper (std::shared_ptr< BasisSet > basis, Options &options=Process::environment.options, int print=0)
 Constructor, using basisset. More...
 
 MintsHelper (std::shared_ptr< Wavefunction > wavefunction)
 Constructor, using wavefunction. More...
 
 ~MintsHelper ()
 Destructor, does nothing. More...
 
OperatorSymmetry operator_symmetry (int order)
 
int nbf () const
 Returns the number of basis functions. More...
 
void set_print (int print)
 Sets the print level. More...
 
void set_nthread (int nthread)
 
std::shared_ptr< PetiteListpetite_list () const
 Returns petite list that is capable of transforming basis functions (nbf) to SO's. More...
 
std::shared_ptr< PetiteListpetite_list (bool include_pure_transform) const
 
std::shared_ptr< BasisSetbasisset () const
 Basis set being used. More...
 
std::shared_ptr< SOBasisSetsobasisset () const
 SO basis set being used. More...
 
std::shared_ptr< MatrixFactoryfactory () const
 Matrix factory being used. More...
 
std::shared_ptr< IntegralFactoryintegral () const
 Integral factory being used. More...
 
void set_rel_basisset (std::shared_ptr< BasisSet > rel_basis)
 
void integrals ()
 Molecular integrals (just like cints used to do) More...
 
void integrals_erf (double w=-1.0)
 
void integrals_erfc (double w=-1.0)
 
void one_electron_integrals ()
 Standard one electron integrals (just like oeints used to do) More...
 
void integral_gradients ()
 Derivative integrals (not implemented) More...
 
void integral_hessians ()
 Hessian integrals (not implemented) More...
 
SharedMatrix ao_eri ()
 AO ERI Integrals (Full matrix, not recommended for large systems) More...
 
SharedMatrix ao_eri (std::shared_ptr< BasisSet > bs1, std::shared_ptr< BasisSet > bs2, std::shared_ptr< BasisSet > bs3, std::shared_ptr< BasisSet > bs4)
 
SharedMatrix ao_eri_shell (int M, int N, int P, int Q)
 AO ERI Shell. More...
 
SharedMatrix ao_erf_eri (double omega)
 AO ERF Integrals. More...
 
SharedMatrix ao_erfc_eri (double omega)
 MO ERFC Omega Integrals. More...
 
SharedMatrix ao_f12 (std::shared_ptr< CorrelationFactor > corr)
 MO F12 Integrals. More...
 
SharedMatrix ao_f12 (std::shared_ptr< CorrelationFactor > corr, std::shared_ptr< BasisSet > bs1, std::shared_ptr< BasisSet > bs2, std::shared_ptr< BasisSet > bs3, std::shared_ptr< BasisSet > bs4)
 
SharedMatrix ao_f12_scaled (std::shared_ptr< CorrelationFactor > corr)
 MO F12 Integrals. More...
 
SharedMatrix ao_f12_scaled (std::shared_ptr< CorrelationFactor > corr, std::shared_ptr< BasisSet > bs1, std::shared_ptr< BasisSet > bs2, std::shared_ptr< BasisSet > bs3, std::shared_ptr< BasisSet > bs4)
 
SharedMatrix ao_f12_squared (std::shared_ptr< CorrelationFactor > corr)
 MO F12 squared Integrals. More...
 
SharedMatrix ao_f12_squared (std::shared_ptr< CorrelationFactor > corr, std::shared_ptr< BasisSet > bs1, std::shared_ptr< BasisSet > bs2, std::shared_ptr< BasisSet > bs3, std::shared_ptr< BasisSet > bs4)
 
SharedMatrix ao_f12g12 (std::shared_ptr< CorrelationFactor > corr)
 MO F12G12 Integrals. More...
 
SharedMatrix ao_f12_double_commutator (std::shared_ptr< CorrelationFactor > corr)
 MO F12 double commutator Integrals. More...
 
SharedMatrix ao_3coverlap ()
 3Center overlap integrals More...
 
SharedMatrix ao_3coverlap (std::shared_ptr< BasisSet > bs1, std::shared_ptr< BasisSet > bs2, std::shared_ptr< BasisSet > bs3)
 
SharedMatrix mo_eri (SharedMatrix Cocc, SharedMatrix Cvir)
 
SharedMatrix mo_eri (SharedMatrix C1, SharedMatrix C2, SharedMatrix C3, SharedMatrix C4)
 Non Symmetric MO ERI Omega Integrals, (12|34) type (Full matrix, N^5, not recommended for large systems) More...
 
SharedMatrix mo_erf_eri (double omega, SharedMatrix C1, SharedMatrix C2, SharedMatrix C3, SharedMatrix C4)
 MO ERI Omega Integrals (Full matrix, not recommended for large systems) More...
 
SharedMatrix mo_erfc_eri (double omega, SharedMatrix C1, SharedMatrix C2, SharedMatrix C3, SharedMatrix C4)
 MO ERFC Omega Integrals. More...
 
SharedMatrix mo_f12 (std::shared_ptr< CorrelationFactor > corr, SharedMatrix C1, SharedMatrix C2, SharedMatrix C3, SharedMatrix C4)
 MO F12 Integrals. More...
 
SharedMatrix mo_f12_squared (std::shared_ptr< CorrelationFactor > corr, SharedMatrix C1, SharedMatrix C2, SharedMatrix C3, SharedMatrix C4)
 MO F12 squared Integrals. More...
 
SharedMatrix mo_f12g12 (std::shared_ptr< CorrelationFactor > corr, SharedMatrix C1, SharedMatrix C2, SharedMatrix C3, SharedMatrix C4)
 MO F12G12 Integrals. More...
 
SharedMatrix mo_f12_double_commutator (std::shared_ptr< CorrelationFactor > corr, SharedMatrix C1, SharedMatrix C2, SharedMatrix C3, SharedMatrix C4)
 MO F12 double commutator Integrals. More...
 
SharedMatrix mo_erf_eri (double omega, SharedMatrix Cocc, SharedMatrix Cvir)
 
SharedMatrix mo_spin_eri (SharedMatrix Co, SharedMatrix Cv)
 
SharedMatrix ao_overlap ()
 AO Overlap Integrals. More...
 
SharedMatrix ao_overlap (std::shared_ptr< BasisSet >, std::shared_ptr< BasisSet >)
 
SharedMatrix ao_kinetic ()
 AO Kinetic Integrals. More...
 
SharedMatrix ao_kinetic (std::shared_ptr< BasisSet >, std::shared_ptr< BasisSet >)
 
SharedMatrix ao_potential ()
 AO Potential Integrals. More...
 
SharedMatrix ao_potential (std::shared_ptr< BasisSet >, std::shared_ptr< BasisSet >)
 
SharedMatrix ao_pvp ()
 AO pVp Integrals. More...
 
SharedMatrix ao_dkh (int dkh_order=-1)
 AO DKH Integrals. More...
 
SharedMatrix so_dkh (int dkh_order=-1)
 SO DKH Integrals. More...
 
std::vector< SharedMatrixao_dipole ()
 Vector AO Dipole Integrals. More...
 
std::vector< SharedMatrixao_angular_momentum ()
 Vector AO Angular Momentum Integrals. More...
 
std::vector< SharedMatrixao_nabla ()
 Vector AO Nabla Integrals. More...
 
SharedMatrix so_overlap ()
 SO Overlap Integrals. More...
 
SharedMatrix so_kinetic ()
 SO Kinetic Integrals. More...
 
SharedMatrix so_potential (bool include_perturbations=true)
 SO Potential Integrals. More...
 
std::vector< SharedMatrixso_dipole ()
 Vector SO Dipole Integrals. More...
 
std::vector< SharedMatrixso_nabla ()
 Vector SO Nabla Integrals. More...
 
std::vector< SharedMatrixso_angular_momentum ()
 Vector SO Angular Momentum Integrals. More...
 
std::vector< SharedMatrixso_quadrupole ()
 Vector SO Quadrupole Integrals. More...
 
std::vector< SharedMatrixso_traceless_quadrupole ()
 Vector SO Traceless Quadrupole Integrals. More...
 
std::shared_ptr< CdSalcListcdsalcs (int needed_irreps=0xF, bool project_out_translations=true, bool project_out_rotations=true)
 Returns a CdSalcList object. More...
 
SharedMatrix mo_transform (SharedMatrix Iso, SharedMatrix C1, SharedMatrix C2, SharedMatrix C3, SharedMatrix C4)
 N^5 ao->mo transform, in memory, smart indexing. More...
 
void play ()
 Play function. More...
 

Private Member Functions

SharedMatrix mo_eri_helper (SharedMatrix Iso, SharedMatrix Co, SharedMatrix Cv)
 
SharedMatrix mo_eri_helper (SharedMatrix Iso, SharedMatrix C1, SharedMatrix C2, SharedMatrix C3, SharedMatrix C4)
 
SharedMatrix mo_spin_eri_helper (SharedMatrix Iso, int n1, int n2)
 In-core builds spin eri's. More...
 
SharedMatrix ao_helper (const std::string &label, std::shared_ptr< TwoBodyAOInt > ints)
 
SharedMatrix ao_shell_getter (const std::string &label, std::shared_ptr< TwoBodyAOInt > ints, int M, int N, int P, int Q)
 
SharedMatrix ao_3coverlap_helper (const std::string &label, std::shared_ptr< ThreeCenterOverlapInt > ints)
 
void common_init ()
 
void one_body_ao_computer (std::vector< std::shared_ptr< OneBodyAOInt >> obv, SharedMatrix out, bool symm)
 

Private Attributes

Optionsoptions_
 The Options reference for basis sets and things. More...
 
std::shared_ptr< PSIOpsio_
 
std::shared_ptr< MatrixFactoryfactory_
 
std::shared_ptr< Moleculemolecule_
 
std::shared_ptr< IntegralFactoryintegral_
 
std::shared_ptr< BasisSetbasisset_
 
std::shared_ptr< SOBasisSetsobasis_
 
std::shared_ptr< TwoBodyAOInteriInts_
 
std::shared_ptr< BasisSetrel_basisset_
 
int print_
 
int nthread_
 
double cutoff_
 Value which any two-electron integral is below is discarded. More...
 

Detailed Description

The MintsHelper object, places molecular integrals (and later derivative integrals) on disk

Member Enumeration Documentation

anonymous enum
Enumerator
kFromCartesianAO 
kFromBF 

Constructor & Destructor Documentation

psi::MintsHelper::MintsHelper ( std::shared_ptr< BasisSet basis,
Options options = Process::environment.options,
int  print = 0 
)

Constructor, using basisset.

psi::MintsHelper::MintsHelper ( std::shared_ptr< Wavefunction wavefunction)

Constructor, using wavefunction.

psi::MintsHelper::~MintsHelper ( )

Destructor, does nothing.

Member Function Documentation

SharedMatrix psi::MintsHelper::ao_3coverlap ( )

3Center overlap integrals

SharedMatrix psi::MintsHelper::ao_3coverlap ( std::shared_ptr< BasisSet bs1,
std::shared_ptr< BasisSet bs2,
std::shared_ptr< BasisSet bs3 
)
SharedMatrix psi::MintsHelper::ao_3coverlap_helper ( const std::string &  label,
std::shared_ptr< ThreeCenterOverlapInt ints 
)
private
std::vector< SharedMatrix > psi::MintsHelper::ao_angular_momentum ( )

Vector AO Angular Momentum Integrals.

std::vector< SharedMatrix > psi::MintsHelper::ao_dipole ( )

Vector AO Dipole Integrals.

SharedMatrix psi::MintsHelper::ao_dkh ( int  dkh_order = -1)

AO DKH Integrals.

SharedMatrix psi::MintsHelper::ao_erf_eri ( double  omega)

AO ERF Integrals.

SharedMatrix psi::MintsHelper::ao_erfc_eri ( double  omega)

MO ERFC Omega Integrals.

SharedMatrix psi::MintsHelper::ao_eri ( )

AO ERI Integrals (Full matrix, not recommended for large systems)

SharedMatrix psi::MintsHelper::ao_eri ( std::shared_ptr< BasisSet bs1,
std::shared_ptr< BasisSet bs2,
std::shared_ptr< BasisSet bs3,
std::shared_ptr< BasisSet bs4 
)
SharedMatrix psi::MintsHelper::ao_eri_shell ( int  M,
int  N,
int  P,
int  Q 
)

AO ERI Shell.

SharedMatrix psi::MintsHelper::ao_f12 ( std::shared_ptr< CorrelationFactor corr)

MO F12 Integrals.

SharedMatrix psi::MintsHelper::ao_f12 ( std::shared_ptr< CorrelationFactor corr,
std::shared_ptr< BasisSet bs1,
std::shared_ptr< BasisSet bs2,
std::shared_ptr< BasisSet bs3,
std::shared_ptr< BasisSet bs4 
)
SharedMatrix psi::MintsHelper::ao_f12_double_commutator ( std::shared_ptr< CorrelationFactor corr)

MO F12 double commutator Integrals.

SharedMatrix psi::MintsHelper::ao_f12_scaled ( std::shared_ptr< CorrelationFactor corr)

MO F12 Integrals.

SharedMatrix psi::MintsHelper::ao_f12_scaled ( std::shared_ptr< CorrelationFactor corr,
std::shared_ptr< BasisSet bs1,
std::shared_ptr< BasisSet bs2,
std::shared_ptr< BasisSet bs3,
std::shared_ptr< BasisSet bs4 
)
SharedMatrix psi::MintsHelper::ao_f12_squared ( std::shared_ptr< CorrelationFactor corr)

MO F12 squared Integrals.

SharedMatrix psi::MintsHelper::ao_f12_squared ( std::shared_ptr< CorrelationFactor corr,
std::shared_ptr< BasisSet bs1,
std::shared_ptr< BasisSet bs2,
std::shared_ptr< BasisSet bs3,
std::shared_ptr< BasisSet bs4 
)
SharedMatrix psi::MintsHelper::ao_f12g12 ( std::shared_ptr< CorrelationFactor corr)

MO F12G12 Integrals.

SharedMatrix psi::MintsHelper::ao_helper ( const std::string &  label,
std::shared_ptr< TwoBodyAOInt ints 
)
private
SharedMatrix psi::MintsHelper::ao_kinetic ( )

AO Kinetic Integrals.

SharedMatrix psi::MintsHelper::ao_kinetic ( std::shared_ptr< BasisSet bs1,
std::shared_ptr< BasisSet bs2 
)
std::vector< SharedMatrix > psi::MintsHelper::ao_nabla ( )

Vector AO Nabla Integrals.

SharedMatrix psi::MintsHelper::ao_overlap ( )

AO Overlap Integrals.

SharedMatrix psi::MintsHelper::ao_overlap ( std::shared_ptr< BasisSet bs1,
std::shared_ptr< BasisSet bs2 
)
SharedMatrix psi::MintsHelper::ao_potential ( )

AO Potential Integrals.

SharedMatrix psi::MintsHelper::ao_potential ( std::shared_ptr< BasisSet bs1,
std::shared_ptr< BasisSet bs2 
)
SharedMatrix psi::MintsHelper::ao_pvp ( )

AO pVp Integrals.

SharedMatrix psi::MintsHelper::ao_shell_getter ( const std::string &  label,
std::shared_ptr< TwoBodyAOInt ints,
int  M,
int  N,
int  P,
int  Q 
)
private
std::shared_ptr< BasisSet > psi::MintsHelper::basisset ( ) const

Basis set being used.

std::shared_ptr< CdSalcList > psi::MintsHelper::cdsalcs ( int  needed_irreps = 0xF,
bool  project_out_translations = true,
bool  project_out_rotations = true 
)

Returns a CdSalcList object.

void psi::MintsHelper::common_init ( void  )
private
std::shared_ptr< MatrixFactory > psi::MintsHelper::factory ( ) const

Matrix factory being used.

void psi::MintsHelper::init_helper ( std::shared_ptr< Wavefunction wavefunction = std::shared_ptr<Wavefunction>())
void psi::MintsHelper::init_helper ( std::shared_ptr< BasisSet basis)
std::shared_ptr< IntegralFactory > psi::MintsHelper::integral ( ) const

Integral factory being used.

void psi::MintsHelper::integral_gradients ( )

Derivative integrals (not implemented)

void psi::MintsHelper::integral_hessians ( )

Hessian integrals (not implemented)

void psi::MintsHelper::integrals ( )

Molecular integrals (just like cints used to do)

void psi::MintsHelper::integrals_erf ( double  w = -1.0)
void psi::MintsHelper::integrals_erfc ( double  w = -1.0)
SharedMatrix psi::MintsHelper::mo_erf_eri ( double  omega,
SharedMatrix  C1,
SharedMatrix  C2,
SharedMatrix  C3,
SharedMatrix  C4 
)

MO ERI Omega Integrals (Full matrix, not recommended for large systems)

SharedMatrix psi::MintsHelper::mo_erf_eri ( double  omega,
SharedMatrix  Cocc,
SharedMatrix  Cvir 
)

Symmetric MO ERI Omega Integrals, (ov|ov) type (Full matrix, N^5, not recommended for large systems) Pass C_ C_ for (aa|aa) type, Cocc_, Cocc_ for (oo|oo) type, or Cvir_, Cvir_ for (vv|vv) type

SharedMatrix psi::MintsHelper::mo_erfc_eri ( double  omega,
SharedMatrix  C1,
SharedMatrix  C2,
SharedMatrix  C3,
SharedMatrix  C4 
)

MO ERFC Omega Integrals.

SharedMatrix psi::MintsHelper::mo_eri ( SharedMatrix  Cocc,
SharedMatrix  Cvir 
)

Symmetric MO ERI Integrals, (ov|ov) type (Full matrix, N^5, not recommended for large systems) Pass C_ C_ for (aa|aa) type, Cocc_, Cocc_ for (oo|oo) type, or Cvir_, Cvir_ for (vv|vv) type

SharedMatrix psi::MintsHelper::mo_eri ( SharedMatrix  C1,
SharedMatrix  C2,
SharedMatrix  C3,
SharedMatrix  C4 
)

Non Symmetric MO ERI Omega Integrals, (12|34) type (Full matrix, N^5, not recommended for large systems)

SharedMatrix psi::MintsHelper::mo_eri_helper ( SharedMatrix  Iso,
SharedMatrix  Co,
SharedMatrix  Cv 
)
private
SharedMatrix psi::MintsHelper::mo_eri_helper ( SharedMatrix  Iso,
SharedMatrix  C1,
SharedMatrix  C2,
SharedMatrix  C3,
SharedMatrix  C4 
)
private
SharedMatrix psi::MintsHelper::mo_f12 ( std::shared_ptr< CorrelationFactor corr,
SharedMatrix  C1,
SharedMatrix  C2,
SharedMatrix  C3,
SharedMatrix  C4 
)

MO F12 Integrals.

SharedMatrix psi::MintsHelper::mo_f12_double_commutator ( std::shared_ptr< CorrelationFactor corr,
SharedMatrix  C1,
SharedMatrix  C2,
SharedMatrix  C3,
SharedMatrix  C4 
)

MO F12 double commutator Integrals.

SharedMatrix psi::MintsHelper::mo_f12_squared ( std::shared_ptr< CorrelationFactor corr,
SharedMatrix  C1,
SharedMatrix  C2,
SharedMatrix  C3,
SharedMatrix  C4 
)

MO F12 squared Integrals.

SharedMatrix psi::MintsHelper::mo_f12g12 ( std::shared_ptr< CorrelationFactor corr,
SharedMatrix  C1,
SharedMatrix  C2,
SharedMatrix  C3,
SharedMatrix  C4 
)

MO F12G12 Integrals.

SharedMatrix psi::MintsHelper::mo_spin_eri ( SharedMatrix  Co,
SharedMatrix  Cv 
)

Symmetric MO Spin ERI Integrals, <oo|vv> type (Full matrix (16x larger than MO ERI), N^5, most definitely not recommended for large systems) Pass C_ C_ for <aa|aa> type, Cocc_, Cocc_ for <oo|oo> type, or Cvir_, Cvir_ for <vv|vv> type

SharedMatrix psi::MintsHelper::mo_spin_eri_helper ( SharedMatrix  Iso,
int  n1,
int  n2 
)
private

In-core builds spin eri's.

SharedMatrix psi::MintsHelper::mo_transform ( SharedMatrix  Iso,
SharedMatrix  C1,
SharedMatrix  C2,
SharedMatrix  C3,
SharedMatrix  C4 
)

N^5 ao->mo transform, in memory, smart indexing.

int psi::MintsHelper::nbf ( ) const

Returns the number of basis functions.

void psi::MintsHelper::one_body_ao_computer ( std::vector< std::shared_ptr< OneBodyAOInt >>  obv,
SharedMatrix  out,
bool  symm 
)
private
void psi::MintsHelper::one_electron_integrals ( )

Standard one electron integrals (just like oeints used to do)

OperatorSymmetry psi::MintsHelper::operator_symmetry ( int  order)
inline
std::shared_ptr< PetiteList > psi::MintsHelper::petite_list ( ) const

Returns petite list that is capable of transforming basis functions (nbf) to SO's.

std::shared_ptr< PetiteList > psi::MintsHelper::petite_list ( bool  include_pure_transform) const

Returns petite list that is capable of transforming AO basis functions (nbf) to SO's.

Parameters
include_pure_transformIs either kFromCartesianAO or kFromBF.
void psi::MintsHelper::play ( )

Play function.

void psi::MintsHelper::set_nthread ( int  nthread)
inline
void psi::MintsHelper::set_print ( int  print)
inline

Sets the print level.

void psi::MintsHelper::set_rel_basisset ( std::shared_ptr< BasisSet rel_basis)
inline
std::vector< SharedMatrix > psi::MintsHelper::so_angular_momentum ( )

Vector SO Angular Momentum Integrals.

std::vector< SharedMatrix > psi::MintsHelper::so_dipole ( )

Vector SO Dipole Integrals.

SharedMatrix psi::MintsHelper::so_dkh ( int  dkh_order = -1)

SO DKH Integrals.

SharedMatrix psi::MintsHelper::so_kinetic ( )

SO Kinetic Integrals.

std::vector< SharedMatrix > psi::MintsHelper::so_nabla ( )

Vector SO Nabla Integrals.

SharedMatrix psi::MintsHelper::so_overlap ( )

SO Overlap Integrals.

SharedMatrix psi::MintsHelper::so_potential ( bool  include_perturbations = true)

SO Potential Integrals.

std::vector< SharedMatrix > psi::MintsHelper::so_quadrupole ( )

Vector SO Quadrupole Integrals.

std::vector< SharedMatrix > psi::MintsHelper::so_traceless_quadrupole ( )

Vector SO Traceless Quadrupole Integrals.

std::shared_ptr< SOBasisSet > psi::MintsHelper::sobasisset ( ) const

SO basis set being used.

Member Data Documentation

std::shared_ptr<BasisSet> psi::MintsHelper::basisset_
private
double psi::MintsHelper::cutoff_
private

Value which any two-electron integral is below is discarded.

std::shared_ptr<TwoBodyAOInt> psi::MintsHelper::eriInts_
private
std::shared_ptr<MatrixFactory> psi::MintsHelper::factory_
private
std::shared_ptr<IntegralFactory> psi::MintsHelper::integral_
private
std::shared_ptr<Molecule> psi::MintsHelper::molecule_
private
int psi::MintsHelper::nthread_
private
Options& psi::MintsHelper::options_
private

The Options reference for basis sets and things.

int psi::MintsHelper::print_
private
std::shared_ptr<PSIO> psi::MintsHelper::psio_
private
std::shared_ptr<BasisSet> psi::MintsHelper::rel_basisset_
private
std::shared_ptr<SOBasisSet> psi::MintsHelper::sobasis_
private

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