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

#include <cdsalclist.h>

Public Member Functions

 CdSalcList ()
 
 CdSalcList (SharedMolecule mol, std::shared_ptr< MatrixFactory > fact, int needed_irreps=0xFF, bool project_out_translations=true, bool project_out_rotations=true)
 
virtual ~CdSalcList ()
 
size_t ncd () const
 
std::vector< SharedMatrixcreate_matrices (const std::string &basename)
 
std::string name_of_component (int component)
 
char needed_irreps () const
 
int nirrep (void) 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
 
SharedMatrix matrix ()
 
SharedMatrix matrix_irrep (int h)
 
void print () const
 

Private Attributes

SharedMolecule molecule_
 
std::shared_ptr< MatrixFactoryfactory_
 
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,
std::shared_ptr< MatrixFactory fact,
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 ( )
virtual

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)
SharedMatrix psi::CdSalcList::matrix ( )
SharedMatrix psi::CdSalcList::matrix_irrep ( int  h)
std::string psi::CdSalcList::name_of_component ( int  component)
size_t psi::CdSalcList::ncd ( ) const
inline

Returns the number of combintations. 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 ( void  ) const
inline
const CdSalc& psi::CdSalcList::operator[] ( int  i) const
inline
void psi::CdSalcList::print ( void  ) const
bool psi::CdSalcList::project_out_rotations ( ) const
inline
bool psi::CdSalcList::project_out_translations ( ) const
inline

Member Data Documentation

std::vector<CdSalcWRTAtom> psi::CdSalcList::atom_salcs_
private
int psi::CdSalcList::cdsalcpi_[8]
private
std::shared_ptr<MatrixFactory> psi::CdSalcList::factory_
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: