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

#include <cdsalclist.h>

Public Member Functions

 CdSalcList ()
 
 CdSalcList (SharedMolecule mol, int needed_irreps=0xFF, bool project_out_translations=true, bool project_out_rotations=true)
 
 ~CdSalcList ()
 
size_t ncd () const
 
std::vector< SharedMatrixcreate_matrices (const std::string &basename, const MatrixFactory &factory) const
 
std::string salc_name (int index) const
 
char needed_irreps () const
 
int nirrep () const
 
int cdsalcpi (int h) const
 
bool project_out_translations () const
 
bool project_out_rotations () const
 
const CdSalcoperator[] (int i) const
 
const CdSalcWRTAtomatom_salc (int i) const
 
const std::vector< CdSalc > & get_salcs () const
 
SharedMatrix matrix () const
 
SharedMatrix matrix_irrep (int h) const
 
void print () const
 

Private Attributes

SharedMolecule molecule_
 
char needed_irreps_
 
bool project_out_translations_
 
bool project_out_rotations_
 
int ncd_
 
int cdsalcpi_ [8]
 
int nirrep_
 
std::vector< CdSalcsalcs_
 Vector of all requested SALCs. More...
 
std::vector< CdSalcWRTAtomatom_salcs_
 

Constructor & Destructor Documentation

psi::CdSalcList::CdSalcList ( )
inline
psi::CdSalcList::CdSalcList ( SharedMolecule  mol,
int  needed_irreps = 0xFF,
bool  project_out_translations = true,
bool  project_out_rotations = true 
)

Constructor for generating Cartesian displacement symmetry adapted linear combinations.

For a gradient calculation, you only need totally symmetric SALCs (needed_irreps=1).

The project_* ability is not coded, yet.

Parameters
molMolecule to form SALCs for
needed_irrepsbit representation for desired irreps (default all)
project_out_translationsProject out translational SALCs
project_out_rotationsProject out rotational SALCs
psi::CdSalcList::~CdSalcList ( )

Member Function Documentation

const CdSalcWRTAtom& psi::CdSalcList::atom_salc ( int  i) const
inline
int psi::CdSalcList::cdsalcpi ( int  h) const
inline
std::vector< SharedMatrix > psi::CdSalcList::create_matrices ( const std::string &  basename,
const MatrixFactory factory 
) const
const std::vector<CdSalc>& psi::CdSalcList::get_salcs ( ) const
inline
SharedMatrix psi::CdSalcList::matrix ( ) const
SharedMatrix psi::CdSalcList::matrix_irrep ( int  h) const
size_t psi::CdSalcList::ncd ( ) const
inline

Returns the number of SALCs. It may not be 3n-5 or 3n-6. The value returned depends on needed_irreps and the project_out* settings.

char psi::CdSalcList::needed_irreps ( ) const
inline
int psi::CdSalcList::nirrep ( ) const
inline
const CdSalc& psi::CdSalcList::operator[] ( int  i) const
inline
void psi::CdSalcList::print ( ) const
bool psi::CdSalcList::project_out_rotations ( ) const
inline
bool psi::CdSalcList::project_out_translations ( ) const
inline
std::string psi::CdSalcList::salc_name ( int  index) const

Member Data Documentation

std::vector<CdSalcWRTAtom> psi::CdSalcList::atom_salcs_
private
int psi::CdSalcList::cdsalcpi_[8]
private
SharedMolecule psi::CdSalcList::molecule_
private
int psi::CdSalcList::ncd_
private
char psi::CdSalcList::needed_irreps_
private
int psi::CdSalcList::nirrep_
private
bool psi::CdSalcList::project_out_rotations_
private
bool psi::CdSalcList::project_out_translations_
private
std::vector<CdSalc> psi::CdSalcList::salcs_
private

Vector of all requested SALCs.


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