Psi4
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
psi::VBase Class Referenceabstract

#include <v.h>

Inheritance diagram for psi::VBase:
psi::RV psi::UV psi::RK psi::UK

Public Member Functions

 VBase (std::shared_ptr< SuperFunctional > functional, std::shared_ptr< BasisSet > primary, Options &options)
 
virtual ~VBase ()
 
std::shared_ptr< BasisSetbasis () const
 
std::shared_ptr< SuperFunctionalfunctional () const
 
std::shared_ptr< PointFunctionsproperties () const
 
std::shared_ptr< DFTGridgrid () const
 
std::map< std::string, double > & quadrature_values ()
 
std::vector< SharedMatrix > & C ()
 Grab this, clear, and push Cocc matrices (with symmetry) to change GS density. More...
 
std::vector< SharedMatrix > & Caocc ()
 
std::vector< SharedMatrix > & Cavir ()
 
std::vector< SharedMatrix > & P ()
 
const std::vector< SharedMatrix > & V () const
 
const std::vector< SharedMatrix > & D () const
 
virtual SharedMatrix compute_gradient ()
 Throws by default. More...
 
void set_print (int print)
 
void set_debug (int debug)
 
virtual void initialize ()
 
virtual void compute ()
 
virtual void finalize ()
 
virtual void print_header () const
 

Static Public Member Functions

static std::shared_ptr< VBasebuild_V (std::shared_ptr< BasisSet > primary, std::shared_ptr< SuperFunctional > functional, Options &options, const std::string &type="RV")
 

Protected Member Functions

virtual void compute_D ()
 
virtual void USO2AO ()
 
virtual void AO2USO ()
 
virtual void compute_V ()=0
 Actually build V_AO. More...
 
void common_init ()
 Set things up. More...
 

Protected Attributes

int debug_
 Debug flag. More...
 
int print_
 Print flag. More...
 
Optionsoptions_
 Options object, used to build grid. More...
 
std::shared_ptr< BasisSetprimary_
 Basis set used in the integration. More...
 
std::shared_ptr< SuperFunctionalfunctional_
 Desired superfunctional kernal. More...
 
std::shared_ptr< PointFunctionsproperties_
 Point function computer (densities, gammas, basis values) More...
 
std::shared_ptr< DFTGridgrid_
 Integration grid, built by KSPotential. More...
 
std::map< std::string, double > quad_values_
 Quadrature values obtained during integration. More...
 
SharedMatrix AO2USO_
 AO2USO matrix (if not C1) More...
 
std::vector< SharedMatrixV_
 Vector of V matrices (built by form_D) More...
 
std::vector< SharedMatrixV_AO_
 Vector of C1 V matrices (built by USO2AO) More...
 
std::vector< SharedMatrixC_
 Vector of occupied C matrices (used for D and KE density) More...
 
std::vector< SharedMatrixD_
 Vector of D matrices (built by form_D) More...
 
std::vector< SharedMatrixC_AO_
 Vector of C1 C matrices (built by USO2AO) More...
 
std::vector< SharedMatrixD_AO_
 Vector of C1 D matrices (built by USO2AO) More...
 
std::vector< SharedMatrixCaocc_
 Vector of Caocc matrices (TDDFT) More...
 
std::vector< SharedMatrixCavir_
 Vector of Cavir matrices (TDDFT) More...
 
std::vector< SharedMatrixP_
 Vector of Perturbation matrices (TDDFT, ia) More...
 
std::vector< SharedMatrixP_SO_
 Vector of Perturbation matrices (TDDFT, SO) More...
 
std::vector< SharedMatrixP_AO_
 Vector of Perturbation matrices (TDDFT, AO) More...
 

Detailed Description

Class VBase

Class to compute KS-V matrices and K-matrix-vector products

Constructor & Destructor Documentation

psi::VBase::VBase ( std::shared_ptr< SuperFunctional functional,
std::shared_ptr< BasisSet primary,
Options options 
)
psi::VBase::~VBase ( )
virtual

Member Function Documentation

void psi::VBase::AO2USO ( )
protectedvirtual
std::shared_ptr<BasisSet> psi::VBase::basis ( ) const
inline
std::shared_ptr< VBase > psi::VBase::build_V ( std::shared_ptr< BasisSet primary,
std::shared_ptr< SuperFunctional functional,
Options options,
const std::string &  type = "RV" 
)
static
std::vector<SharedMatrix>& psi::VBase::C ( )
inline

Grab this, clear, and push Cocc matrices (with symmetry) to change GS density.

std::vector<SharedMatrix>& psi::VBase::Caocc ( )
inline
std::vector<SharedMatrix>& psi::VBase::Cavir ( )
inline
void psi::VBase::common_init ( void  )
protected

Set things up.

void psi::VBase::compute ( )
virtual
void psi::VBase::compute_D ( )
protectedvirtual
SharedMatrix psi::VBase::compute_gradient ( )
virtual

Throws by default.

Reimplemented in psi::UV, and psi::RV.

virtual void psi::VBase::compute_V ( )
protectedpure virtual

Actually build V_AO.

Implemented in psi::UK, psi::RK, psi::UV, and psi::RV.

const std::vector<SharedMatrix>& psi::VBase::D ( ) const
inline
void psi::VBase::finalize ( )
virtual

Reimplemented in psi::UV, and psi::RV.

std::shared_ptr<SuperFunctional> psi::VBase::functional ( ) const
inline
std::shared_ptr<DFTGrid> psi::VBase::grid ( ) const
inline
void psi::VBase::initialize ( )
virtual

Reimplemented in psi::UV, and psi::RV.

std::vector<SharedMatrix>& psi::VBase::P ( )
inline
void psi::VBase::print_header ( ) const
virtual

Reimplemented in psi::UK, psi::RK, psi::UV, and psi::RV.

std::shared_ptr<PointFunctions> psi::VBase::properties ( ) const
inline
std::map<std::string, double>& psi::VBase::quadrature_values ( )
inline
void psi::VBase::set_debug ( int  debug)
inline
void psi::VBase::set_print ( int  print)
inline
void psi::VBase::USO2AO ( )
protectedvirtual
const std::vector<SharedMatrix>& psi::VBase::V ( ) const
inline

Member Data Documentation

SharedMatrix psi::VBase::AO2USO_
protected

AO2USO matrix (if not C1)

std::vector<SharedMatrix> psi::VBase::C_
protected

Vector of occupied C matrices (used for D and KE density)

std::vector<SharedMatrix> psi::VBase::C_AO_
protected

Vector of C1 C matrices (built by USO2AO)

std::vector<SharedMatrix> psi::VBase::Caocc_
protected

Vector of Caocc matrices (TDDFT)

std::vector<SharedMatrix> psi::VBase::Cavir_
protected

Vector of Cavir matrices (TDDFT)

std::vector<SharedMatrix> psi::VBase::D_
protected

Vector of D matrices (built by form_D)

std::vector<SharedMatrix> psi::VBase::D_AO_
protected

Vector of C1 D matrices (built by USO2AO)

int psi::VBase::debug_
protected

Debug flag.

std::shared_ptr<SuperFunctional> psi::VBase::functional_
protected

Desired superfunctional kernal.

std::shared_ptr<DFTGrid> psi::VBase::grid_
protected

Integration grid, built by KSPotential.

Options& psi::VBase::options_
protected

Options object, used to build grid.

std::vector<SharedMatrix> psi::VBase::P_
protected

Vector of Perturbation matrices (TDDFT, ia)

std::vector<SharedMatrix> psi::VBase::P_AO_
protected

Vector of Perturbation matrices (TDDFT, AO)

std::vector<SharedMatrix> psi::VBase::P_SO_
protected

Vector of Perturbation matrices (TDDFT, SO)

std::shared_ptr<BasisSet> psi::VBase::primary_
protected

Basis set used in the integration.

int psi::VBase::print_
protected

Print flag.

std::shared_ptr<PointFunctions> psi::VBase::properties_
protected

Point function computer (densities, gammas, basis values)

std::map<std::string, double> psi::VBase::quad_values_
protected

Quadrature values obtained during integration.

std::vector<SharedMatrix> psi::VBase::V_
protected

Vector of V matrices (built by form_D)

std::vector<SharedMatrix> psi::VBase::V_AO_
protected

Vector of C1 V matrices (built by USO2AO)


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