ERKALE
ERKALE - DFT from Hel
 All Classes Functions Variables Friends Pages
Public Member Functions | Protected Attributes | List of all members
SCF Class Reference

Self-consistent field solver routines. More...

#include <scf.h>

Inheritance diagram for SCF:
XRSSCF

Public Member Functions

 SCF (const BasisSet &basis, const Settings &set, Checkpoint &chkpt)
 Constructor.
 
void RHF (rscf_t &sol, const std::vector< double > &occs, const convergence_t conv)
 Calculate restricted Hartree-Fock solution.
 
void ROHF (uscf_t &sol, const std::vector< double > &occa, const std::vector< double > &occb, const convergence_t conv)
 Calculate restricted open-shell Hartree-Fock solution.
 
void UHF (uscf_t &sol, const std::vector< double > &occa, const std::vector< double > &occb, const convergence_t conv)
 Calculate unrestricted Hartree-Fock solution.
 
void RDFT (rscf_t &sol, const std::vector< double > &occs, const convergence_t conv, const dft_t dft)
 Calculate restricted density-functional theory solution.
 
void UDFT (uscf_t &sol, const std::vector< double > &occa, const std::vector< double > &occb, const convergence_t conv, const dft_t dft)
 Calculate unrestricted density-functional theory solution.
 
void Fock_RHF (rscf_t &sol, const std::vector< double > &occs) const
 Calculate restricted Hartree-Fock operator.
 
void Fock_ROHF (uscf_t &sol, const std::vector< double > &occa, const std::vector< double > &occb) const
 Calculate restricted open-shell Hartree-Fock operator.
 
void Fock_UHF (uscf_t &sol, const std::vector< double > &occa, const std::vector< double > &occb) const
 Calculate unrestricted Hartree-Fock operator.
 
void Fock_RDFT (rscf_t &sol, const std::vector< double > &occs, const dft_t dft, DFTGrid &grid, DFTGrid &nlgrid) const
 Calculate restricted density-functional theory KS-Fock operator.
 
void Fock_UDFT (uscf_t &sol, const std::vector< double > &occa, const std::vector< double > &occb, const dft_t dft, DFTGrid &grid, DFTGrid &nlgrid) const
 Calculate unrestricted density-functional theory KS-Fock operator.
 
void PZSIC_Fock (std::vector< arma::cx_mat > &Forb, arma::vec &Eorb, const arma::cx_mat &C, dft_t dft, DFTGrid &grid, DFTGrid &nlgrid, bool fock)
 Helper for PZ-SIC: compute orbital-dependent Fock matrices.
 
arma::vec force_RHF (rscf_t &sol, const std::vector< double > &occs, double tol)
 Calculate force in restricted Hartree-Fock.
 
arma::vec force_ROHF (uscf_t &sol, int Nel_alpha, int Nel_beta, double tol)
 Calculate force in restricted open-shell Hartree-Fock.
 
arma::vec force_UHF (uscf_t &sol, const std::vector< double > &occa, const std::vector< double > &occb, double tol)
 Calculate force in unrestricted Hartree-Fock.
 
arma::vec force_RDFT (rscf_t &sol, const std::vector< double > &occs, const dft_t dft, DFTGrid &grid, DFTGrid &nlgrid, double tol)
 Calculate force in restricted density-functional theory.
 
arma::vec force_UDFT (uscf_t &sol, const std::vector< double > &occa, const std::vector< double > &occb, const dft_t dft, DFTGrid &grid, DFTGrid &nlgrid, double tol)
 Calculate force in unrestricted density-functional theory.
 
void set_frozen (const arma::mat &C, size_t ind)
 Set frozen orbitals in ind:th symmetry group. ind+1 is the resulting symmetry group, group 0 contains all non-frozen orbitals.
 
void set_fitting (const BasisSet &fitbas)
 Set the density-fitting basis set.
 
void set_verbose (bool verb)
 Set verbose setting.
 
bool get_verbose () const
 Set verbose setting.
 
void do_force (bool val)
 Toggle calculation of forces.
 
size_t get_maxiter () const
 Get maximum iterations.
 
void set_maxiter (size_t maxiter)
 Set maximum iterations.
 
arma::mat get_S () const
 Get overlap matrix.
 
arma::mat get_Sinvh () const
 Get half-inverse overlap matrix.
 
arma::mat get_Hcore () const
 Get core Hamiltonian matrix.
 
Checkpointget_checkpoint () const
 Get checkpoint file.
 
bool get_strictint () const
 Using strict integrals?
 
void fill_rs (double omega)
 Fill range-separated integrals.
 
void core_guess (rscf_t &sol) const
 Do core guess.
 
void core_guess (uscf_t &sol) const
 Do core guess.
 
void gwh_guess (rscf_t &sol) const
 Do GWH guess.
 
void gwh_guess (uscf_t &sol) const
 Do GWH guess.
 
arma::mat exchange_localization (const arma::mat &Co, const arma::mat &Cv) const
 Exchange localization.
 

Protected Attributes

arma::mat S
 Overlap matrix.
 
arma::mat T
 Kinetic energy matrix.
 
arma::mat Vnuc
 Nuclear attraction matrix.
 
arma::mat Hcore
 Core Hamiltonian.
 
const BasisSetbasisp
 Basis set to use (needed for DFT grid operation)
 
BasisSet dfitbas
 Density fitting basis.
 
Checkpointchkptp
 Checkpoint file.
 
arma::mat Sinvh
 Basis orthogonalizing matrix.
 
size_t Nbf
 Amount of basis functions.
 
int Nel
 Total number of electrons.
 
int mult
 Multiplicity.
 
enum guess_t guess
 Which guess to use.
 
bool usediis
 Use DIIS?
 
bool diis_c1
 Use C1-DIIS instead of C2-DIIS?
 
int diisorder
 Number of DIIS matrices to use.
 
double diiseps
 Threshold of enabling use of DIIS.
 
double diisthr
 Threshold of enabling full use of DIIS.
 
bool useadiis
 Use ADIIS?
 
bool usebroyden
 Use Broyden accelerator?
 
bool usetrrh
 Use Trust-Region Roothaan-Hall?
 
int maxiter
 Maximum number of iterations.
 
double shift
 Level shift.
 
bool verbose
 Verbose calculation?
 
bool direct
 Direct calculation?
 
bool decfock
 Use decontracted basis to construct Fock matrix? (Direct formation)
 
bool strictint
 Strict integrals?
 
double intthr
 Integral screening threshold.
 
bool densityfit
 Density fitting calculation?
 
size_t fitmem
 Memory allocation for density fitting.
 
double fitthr
 Threshold for density fitting.
 
bool cholesky
 Cholesky calculation?
 
double cholthr
 Cholesky threshold.
 
double cholshthr
 Cholesky shell threshold (for caching)
 
int cholmode
 Cholesky mode.
 
bool doforce
 Calculate forces?
 
double Enuc
 Nuclear repulsion energy.
 
ERItable tab
 Electron repulsion table.
 
ERItable tab_rs
 Electron repulsion table, range separation.
 
ERIscreen scr
 Electron repulsion screening table (for direct calculations)
 
ERIscreen scr_rs
 Electron repulsion screening table, range separation.
 
ERIchol chol
 Cholesky integrals.
 
ERIchol chol_rs
 Cholesky integrals, range separation.
 
DensityFit dfit
 Density fitting table.
 
BasisSet decbas
 Decontracted basis set.
 
arma::mat decconv
 Conversion matrix.
 
std::vector< arma::mat > freeze
 List of frozen orbitals by symmetry group. index+1 is symmetry group, group 0 contains all non-frozen orbitals.
 

Detailed Description

Self-consistent field solver routines.

This class contains the driver routines for performing restricted and unrestricted Hartree-Fock and density-functional theory calculations.

Author
Susi Lehtola
Date
2011/05/12 00:54

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