ERKALE
ERKALE - DFT from Hel
 All Classes Functions Variables Friends Pages
Public Member Functions | Private Attributes | List of all members
XRSSCF Class Reference
Inheritance diagram for XRSSCF:
SCF

Public Member Functions

 XRSSCF (const BasisSet &basis, const Settings &set, Checkpoint &chkpt, bool spin)
 Constructor.
 
 ~XRSSCF ()
 Destructor.
 
void set_core (const arma::vec &c)
 Set core hole state [Iannuzzi and Hütter, PCCP 9, 1559 (2007)].
 
arma::vec get_core () const
 Get core hole state.
 
size_t full_hole (uscf_t &sol, convergence_t conv, dft_t dft, bool xch)
 Compute 1st core-excited state.
 
size_t half_hole (uscf_t &sol, convergence_t conv, dft_t dft)
 Compute TP solution.
 
size_t full_hole_ls (size_t xcatom, uscf_t &sol, convergence_t conv, dft_t dft, bool xch)
 Compute 1st core-excited state using line search (slow!)
 
size_t half_hole_ls (size_t xcatom, uscf_t &sol, convergence_t conv, dft_t dft)
 Compute TP solution using line search (slow!)
 
void Fock_full_hole (uscf_t &sol, dft_t dft, const std::vector< double > &occa, const std::vector< double > &occb, DFTGrid &grid, DFTGrid &nlgrid, bool xch) const
 Get Fock operator for 1st core-excited state.
 
void Fock_half_hole (uscf_t &sol, dft_t dft, const std::vector< double > &occa, const std::vector< double > &occb, DFTGrid &grid, DFTGrid &nlgrid) const
 Get Fock operator for TP state.
 
- Public Member Functions inherited from SCF
 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.
 

Private Attributes

bool spin
 Excite beta spin?
 
int nocca
 Number of alpha electrons.
 
int noccb
 Number of beta electrons.
 
arma::vec coreorb
 Initial core hole orbital, used to identify the state by maximal overlap.
 

Additional Inherited Members

- Protected Attributes inherited from SCF
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.
 

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