Psi4
Public Member Functions | Static Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes | List of all members
psi::fisapt::IBOLocalizer2 Class Reference

#include <local2.h>

Public Member Functions

 IBOLocalizer2 (std::shared_ptr< BasisSet > primary, std::shared_ptr< BasisSet > minao, std::shared_ptr< Matrix > C)
 
virtual ~IBOLocalizer2 ()
 
virtual void print_header () const
 Print out the localization algorithm and parameters. More...
 
std::map< std::string,
std::shared_ptr< Matrix > > 
localize (std::shared_ptr< Matrix > Cocc, std::shared_ptr< Matrix > Focc, const std::vector< int > &ranges=std::vector< int >())
 Localize the orbitals, returns the matrices L [nbf x nmo], U [nmo(dlocal) x nmo(local)], and F [nmo x nmo]. More...
 
void print_charges (double scale=2.0)
 Print the charges. More...
 
void set_print (int print)
 
void set_debug (int debug)
 
void set_bench (int bench)
 
void set_convergence (double convergence)
 
void set_maxiter (int maxiter)
 
void set_use_ghosts (bool use_ghosts)
 
void set_condition (double condition)
 
void set_power (double power)
 
void set_use_stars (bool use_stars)
 
void set_stars_completeness (double stars_completeness)
 
void set_stars (const std::vector< int > &stars)
 

Static Public Member Functions

static std::shared_ptr
< IBOLocalizer2
build (std::shared_ptr< BasisSet > primary, std::shared_ptr< BasisSet > minao, std::shared_ptr< Matrix > C, Options &options)
 Build IBO with defaults from Options object (including MINAO_BASIS) More...
 

Protected Member Functions

void common_init ()
 Set defaults. More...
 
void build_iaos ()
 Build the IAOs. More...
 
std::shared_ptr< Matrixorbital_charges (std::shared_ptr< Matrix > L)
 Orbital atomic charges (natom x nmo) More...
 

Static Protected Member Functions

static std::map< std::string,
std::shared_ptr< Matrix > > 
localize_task (std::shared_ptr< Matrix > L, const std::vector< std::vector< int > > &minao_inds, const std::vector< std::pair< int, int > > &rot_inds, double convergence, int maxiter, int power)
 Localization task (returns U and L) More...
 
static std::shared_ptr< Matrixreorder_orbitals (std::shared_ptr< Matrix > F, const std::vector< int > &ranges)
 Energy-ordered local orbital permutation [nmo(local) x nmo(ordered)]. More...
 

Protected Attributes

int print_
 Print flag. More...
 
int debug_
 Debug flug. More...
 
int bench_
 Bench flag. More...
 
double convergence_
 Relative convergence criteria. More...
 
int maxiter_
 Maximum number of iterations. More...
 
bool use_ghosts_
 Use ghost IAOs? More...
 
int power_
 IAO localization power (4 or 2) More...
 
double condition_
 Metric condition for IAO. More...
 
std::shared_ptr< MatrixC_
 Occupied orbitals, in primary basis. More...
 
std::shared_ptr< BasisSetprimary_
 Primary orbital basis set. More...
 
std::shared_ptr< BasisSetminao_
 MinAO orbital baiss set. More...
 
bool use_stars_
 Do stars treatment? More...
 
double stars_completeness_
 Charge completeness for two-center orbitals. More...
 
std::vector< int > stars_
 List of centers for stars. More...
 
std::vector< int > true_atoms_
 Map from non-ghosted to full atoms: true_atoms[ind_true] = ind_full. More...
 
std::vector< int > true_iaos_
 Map from non-ghosted IAOs to full IAOs: true_iaos[ind_true] = ind_full. More...
 
std::vector< int > iaos_to_atoms_
 Map from non-ghosted IAOs to non-ghosted atoms. More...
 
std::shared_ptr< MatrixS_
 Overlap matrix in full basis. More...
 
std::shared_ptr< MatrixA_
 Non-ghosted IAOs in full basis. More...
 

Constructor & Destructor Documentation

psi::fisapt::IBOLocalizer2::IBOLocalizer2 ( std::shared_ptr< BasisSet primary,
std::shared_ptr< BasisSet minao,
std::shared_ptr< Matrix C 
)
psi::fisapt::IBOLocalizer2::~IBOLocalizer2 ( )
virtual

Member Function Documentation

std::shared_ptr< IBOLocalizer2 > psi::fisapt::IBOLocalizer2::build ( std::shared_ptr< BasisSet primary,
std::shared_ptr< BasisSet minao,
std::shared_ptr< Matrix C,
Options options 
)
static

Build IBO with defaults from Options object (including MINAO_BASIS)

void psi::fisapt::IBOLocalizer2::build_iaos ( )
protected

Build the IAOs.

void psi::fisapt::IBOLocalizer2::common_init ( void  )
protected

Set defaults.

std::map< std::string, std::shared_ptr< Matrix > > psi::fisapt::IBOLocalizer2::localize ( std::shared_ptr< Matrix Cocc,
std::shared_ptr< Matrix Focc,
const std::vector< int > &  ranges = std::vector<int>() 
)

Localize the orbitals, returns the matrices L [nbf x nmo], U [nmo(dlocal) x nmo(local)], and F [nmo x nmo].

std::map< std::string, std::shared_ptr< Matrix > > psi::fisapt::IBOLocalizer2::localize_task ( std::shared_ptr< Matrix L,
const std::vector< std::vector< int > > &  minao_inds,
const std::vector< std::pair< int, int > > &  rot_inds,
double  convergence,
int  maxiter,
int  power 
)
staticprotected

Localization task (returns U and L)

std::shared_ptr< Matrix > psi::fisapt::IBOLocalizer2::orbital_charges ( std::shared_ptr< Matrix L)
protected

Orbital atomic charges (natom x nmo)

void psi::fisapt::IBOLocalizer2::print_charges ( double  scale = 2.0)

Print the charges.

void psi::fisapt::IBOLocalizer2::print_header ( ) const
virtual

Print out the localization algorithm and parameters.

std::shared_ptr< Matrix > psi::fisapt::IBOLocalizer2::reorder_orbitals ( std::shared_ptr< Matrix F,
const std::vector< int > &  ranges 
)
staticprotected

Energy-ordered local orbital permutation [nmo(local) x nmo(ordered)].

void psi::fisapt::IBOLocalizer2::set_bench ( int  bench)
inline
void psi::fisapt::IBOLocalizer2::set_condition ( double  condition)
inline
void psi::fisapt::IBOLocalizer2::set_convergence ( double  convergence)
inline
void psi::fisapt::IBOLocalizer2::set_debug ( int  debug)
inline
void psi::fisapt::IBOLocalizer2::set_maxiter ( int  maxiter)
inline
void psi::fisapt::IBOLocalizer2::set_power ( double  power)
inline
void psi::fisapt::IBOLocalizer2::set_print ( int  print)
inline
void psi::fisapt::IBOLocalizer2::set_stars ( const std::vector< int > &  stars)
inline
void psi::fisapt::IBOLocalizer2::set_stars_completeness ( double  stars_completeness)
inline
void psi::fisapt::IBOLocalizer2::set_use_ghosts ( bool  use_ghosts)
inline
void psi::fisapt::IBOLocalizer2::set_use_stars ( bool  use_stars)
inline

Member Data Documentation

std::shared_ptr<Matrix> psi::fisapt::IBOLocalizer2::A_
protected

Non-ghosted IAOs in full basis.

int psi::fisapt::IBOLocalizer2::bench_
protected

Bench flag.

std::shared_ptr<Matrix> psi::fisapt::IBOLocalizer2::C_
protected

Occupied orbitals, in primary basis.

double psi::fisapt::IBOLocalizer2::condition_
protected

Metric condition for IAO.

double psi::fisapt::IBOLocalizer2::convergence_
protected

Relative convergence criteria.

int psi::fisapt::IBOLocalizer2::debug_
protected

Debug flug.

std::vector<int> psi::fisapt::IBOLocalizer2::iaos_to_atoms_
protected

Map from non-ghosted IAOs to non-ghosted atoms.

int psi::fisapt::IBOLocalizer2::maxiter_
protected

Maximum number of iterations.

std::shared_ptr<BasisSet> psi::fisapt::IBOLocalizer2::minao_
protected

MinAO orbital baiss set.

int psi::fisapt::IBOLocalizer2::power_
protected

IAO localization power (4 or 2)

std::shared_ptr<BasisSet> psi::fisapt::IBOLocalizer2::primary_
protected

Primary orbital basis set.

int psi::fisapt::IBOLocalizer2::print_
protected

Print flag.

std::shared_ptr<Matrix> psi::fisapt::IBOLocalizer2::S_
protected

Overlap matrix in full basis.

std::vector<int> psi::fisapt::IBOLocalizer2::stars_
protected

List of centers for stars.

double psi::fisapt::IBOLocalizer2::stars_completeness_
protected

Charge completeness for two-center orbitals.

std::vector<int> psi::fisapt::IBOLocalizer2::true_atoms_
protected

Map from non-ghosted to full atoms: true_atoms[ind_true] = ind_full.

std::vector<int> psi::fisapt::IBOLocalizer2::true_iaos_
protected

Map from non-ghosted IAOs to full IAOs: true_iaos[ind_true] = ind_full.

bool psi::fisapt::IBOLocalizer2::use_ghosts_
protected

Use ghost IAOs?

bool psi::fisapt::IBOLocalizer2::use_stars_
protected

Do stars treatment?


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