ergo
SCF_unrestricted Class Reference

#include <SCF_unrestricted.h>

Inheritance diagram for SCF_unrestricted:
SCF_general

Public Member Functions

 SCF_unrestricted (const Molecule &molecule_, const Molecule &extraCharges_, const BasisInfoStruct &basisInfo_, const IntegralInfo &integralInfo_, const char *guessDmatFileName_, const JK::Params &J_K_params_, const Dft::GridParams &gridParams_, const SCF::Options &scfopts, const SCF::MatOptions &matOpts, ergo_real threshold_integrals_1el_input, int alpha_beta_diff_input)
 
 ~SCF_unrestricted ()
 
void get_Fock_matrices (symmMatrix &FockMatrix_a, symmMatrix &FockMatrix_b)
 
void get_no_of_electrons (int &noOfElectrons_a, int &noOfElectrons_b)
 
- Public Member Functions inherited from SCF_general
void do_SCF_iterations ()
 
void get_overlap_matrix (symmMatrix &S)
 
void get_invCholFactor_matrix (triangMatrix &invCholFactor_)
 
void get_H_core_matrix (symmMatrix &H_core)
 
void get_energy (ergo_real &E, ergo_real &E_nuclear)
 

Private Member Functions

void initialize_matrices ()
 
void check_params ()
 
void get_starting_guess_density ()
 
void initialize_homo_lumo_limits ()
 
void write_matrices_to_file ()
 
void get_2e_part_and_energy ()
 
void output_sparsity_S_F_D (SCF_statistics &stats)
 
void calculate_energy ()
 
void get_FDSminusSDF ()
 
void get_error_measure ()
 
void add_to_DIIS_list ()
 
void update_best_fock_so_far ()
 
void combine_old_fock_matrices (ergo_real stepLength)
 
void use_diis_to_get_new_fock_matrix ()
 
void clear_diis_list ()
 
void clear_error_matrices ()
 
void save_current_fock_as_fprev ()
 
void get_new_density_matrix ()
 
void write_density_to_file ()
 
void save_final_potential ()
 
void add_random_disturbance_to_starting_guess ()
 
void output_expected_values_pos_operator ()
 
void output_density_images ()
 
void output_density_images_orbital (generalVector &eigVec, const std::string &filename_id)
 
void write_diag_dens_to_file ()
 
void report_final_results ()
 
void save_density_as_prevdens ()
 
void update_subspace_diff ()
 
void disturb_fock_matrix (ergo_real subspaceError)
 
void disturb_dens_matrix (ergo_real subspaceError)
 
void do_spin_flip (int atomCount)
 
void disturb_dens_matrix_exact (ergo_real subspaceError)
 
void save_full_matrices_for_matlab ()
 
void report_density_difference ()
 
void create_mtx_files_F (int const scfIter)
 
void create_mtx_files_D (int const scfIter)
 
void create_eigenvectors_files () const
 
void create_eigvec_file (const generalVector &eigVec_alpha, const generalVector &eigVec_beta, const char *vector_name, const char *filename_id) const
 
void create_gabedit_file () const
 
void create_gabedit_file_2 () const
 
void compute_dipole_moment ()
 
void do_mulliken_pop_stuff ()
 
void compute_gradient_fixeddens ()
 
void get_S2 (ergo_real &S2_exact, ergo_real &S2)
 

Private Attributes

symmMatrix densityMatrix_alpha
 
symmMatrix densityMatrix_beta
 
symmMatrix FockMatrix_alpha
 
symmMatrix FockMatrix_beta
 
symmMatrix Fprev_alpha
 
symmMatrix Fprev_beta
 
symmMatrix Dprev_alpha
 
symmMatrix Dprev_beta
 
symmMatrix F_ort_prev_alpha
 
symmMatrix F_ort_prev_beta
 
symmMatrix D_ort_prev_alpha
 
symmMatrix D_ort_prev_beta
 
symmMatrix bestFockMatrixSoFar_alpha
 
symmMatrix bestFockMatrixSoFar_beta
 
symmMatrix bestFockMatrixSoFar2_alpha
 
symmMatrix bestFockMatrixSoFar2_beta
 
normalMatrix ErrorMatrix_alpha
 
normalMatrix ErrorMatrix_beta
 
symmMatrix G_alpha
 
symmMatrix G_beta
 
intervalType homoInterval_F_ort_prev_alpha
 
intervalType lumoInterval_F_ort_prev_alpha
 
intervalType homoInterval_F_ort_prev_beta
 
intervalType lumoInterval_F_ort_prev_beta
 
intervalType homoInterval_Fprev_alpha
 
intervalType lumoInterval_Fprev_alpha
 
intervalType homoInterval_Fprev_beta
 
intervalType lumoInterval_Fprev_beta
 
int alpha_beta_diff
 
int noOfElectrons_alpha
 
int noOfElectrons_beta
 
generalVector eigVecLUMO_alpha
 
generalVector eigVecHOMO_alpha
 
generalVector eigVecLUMO_beta
 
generalVector eigVecHOMO_beta
 

Additional Inherited Members

- Protected Member Functions inherited from SCF_general
 SCF_general (const Molecule &molecule_, const Molecule &extraCharges_, const BasisInfoStruct &basisInfo_, const IntegralInfo &integralInfo_, const char *guessDmatFileName_, const JK::Params &J_K_params_, const Dft::GridParams &gridParams_, const SCF::Options &scfopts, const SCF::MatOptions &matOpts, ergo_real threshold_integrals_1el_input)
 
virtual ~SCF_general ()
 
ergo_real GetEuclideanNormOfMatrix (const symmMatrix &A)
 
- Protected Attributes inherited from SCF_general
const Moleculemolecule
 
const MoleculeextraCharges
 
const BasisInfoStructbasisInfo
 
const IntegralInfointegralInfo
 
const char * guessDmatFileName
 
const JK::ParamsJ_K_params
 
const Dft::GridParamsgridParams
 
const SCF::Optionsscfopts
 
const SCF::MatOptionsmatOpts
 
ergo_real threshold_integrals_1el
 
JK::ExchWeights CAM_params
 
int SCF_step
 
ergo_real nuclearEnergy
 
ergo_real energy_2el
 
ergo_real energy
 
ergo_real energy_2el_core
 
ergo_real energy_2el_valence
 
ergo_real energy_of_valence
 
ergo_real energy_reference
 
ergo_real electronicEntropyTerm
 
ergo_real errorMeasure
 
ergo_real curr_subspace_diff
 
symmMatrix S_symm
 
triangMatrix invCholFactor
 
ergo_real invCholFactor_euclnorm
 
symmMatrix H_core_Matrix
 
DIISManagerDIIS
 
int noOfElectrons
 
SCF_statisticscurr_cycle_stats
 
GetDensFromFock DensFromFock
 

Constructor & Destructor Documentation

SCF_unrestricted::SCF_unrestricted ( const Molecule molecule_,
const Molecule extraCharges_,
const BasisInfoStruct basisInfo_,
const IntegralInfo integralInfo_,
const char *  guessDmatFileName_,
const JK::Params J_K_params_,
const Dft::GridParams gridParams_,
const SCF::Options scfopts,
const SCF::MatOptions matOpts,
ergo_real  threshold_integrals_1el_input,
int  alpha_beta_diff_input 
)
SCF_unrestricted::~SCF_unrestricted ( )

References SCF_general::DIIS.

Member Function Documentation

void SCF_unrestricted::add_to_DIIS_list ( )
privatevirtual
void SCF_unrestricted::check_params ( )
privatevirtual

Implements SCF_general.

void SCF_unrestricted::clear_diis_list ( )
privatevirtual

Implements SCF_general.

References SCF_general::DIIS.

void SCF_unrestricted::clear_error_matrices ( )
privatevirtual
void SCF_unrestricted::combine_old_fock_matrices ( ergo_real  stepLength)
privatevirtual
void SCF_unrestricted::compute_gradient_fixeddens ( )
privatevirtual

Implements SCF_general.

void SCF_unrestricted::create_eigenvectors_files ( ) const
privatevirtual
void SCF_unrestricted::create_eigvec_file ( const generalVector eigVec_alpha,
const generalVector eigVec_beta,
const char *  vector_name,
const char *  filename_id 
) const
private
void SCF_unrestricted::create_gabedit_file_2 ( ) const
private
void SCF_unrestricted::disturb_dens_matrix ( ergo_real  subspaceError)
privatevirtual

Implements SCF_general.

void SCF_unrestricted::disturb_dens_matrix_exact ( ergo_real  subspaceError)
privatevirtual

Implements SCF_general.

void SCF_unrestricted::disturb_fock_matrix ( ergo_real  subspaceError)
privatevirtual

Implements SCF_general.

void SCF_unrestricted::get_Fock_matrices ( symmMatrix FockMatrix_a,
symmMatrix FockMatrix_b 
)

References FockMatrix_alpha, and FockMatrix_beta.

Referenced by es_run().

void SCF_unrestricted::get_new_density_matrix ( )
privatevirtual

Implements SCF_general.

References GetDensFromFock::compute_eigenvectors(), GetDensFromFock::compute_eigenvectors_extra(), compute_maxabs_sparse(), SCF_general::DensFromFock, densityMatrix_alpha, densityMatrix_beta, do_output(), SCF::Options::eigensolver_accuracy, SCF::Options::eigensolver_maxiter, SCF::Options::eigenvectors_iterative_method, SCF::Options::eigenvectors_method, eigVecHOMO_alpha, eigVecHOMO_beta, eigVecLUMO_alpha, eigVecLUMO_beta, SCF_general::electronicEntropyTerm, F_ort_prev_alpha, F_ort_prev_beta, FockMatrix_alpha, FockMatrix_beta, GetDensFromFock::get_dens_from_fock(), GetDensFromFock::get_eigs_F_ort_prev(), GetDensFromFock::get_eigs_Fprev(), GetDensFromFock::get_output_homo_and_lumo_eigenvectors(), GetDensFromFock::get_result_entropy_term(), get_S2(), GetDensFromFock::get_use_purification(), homoInterval_F_ort_prev_alpha, homoInterval_F_ort_prev_beta, homoInterval_Fprev_alpha, homoInterval_Fprev_beta, mat::VectorGeneral< Treal, Tvector >::is_empty(), LOG_AREA_SCF, LOG_CAT_INFO, lumoInterval_F_ort_prev_alpha, lumoInterval_F_ort_prev_beta, lumoInterval_Fprev_alpha, lumoInterval_Fprev_beta, SCF::Options::min_number_of_iterations, noOfElectrons_alpha, noOfElectrons_beta, SCF::Options::puri_compute_eigv_in_each_iteration, SCF::Options::run_shift_and_square_method_on_F, SCF_general::S_symm, SCF_general::SCF_step, SCF_general::scfopts, GetDensFromFock::set_eigs_F_ort_prev(), GetDensFromFock::set_generate_figures(), GetDensFromFock::set_no_occupied_orbs(), GetDensFromFock::set_SCF_step(), SCF::Options::try_eigv_on_next_iteration_if_fail, GetDensFromFock::unset_generate_figures(), and SCF::Options::use_prev_vector_as_initial_guess.

void SCF_unrestricted::get_no_of_electrons ( int &  noOfElectrons_a,
int &  noOfElectrons_b 
)

References noOfElectrons_alpha, and noOfElectrons_beta.

Referenced by es_run().

void SCF_unrestricted::output_density_images_orbital ( generalVector eigVec,
const std::string &  filename_id 
)
private
void SCF_unrestricted::output_expected_values_pos_operator ( )
privatevirtual

Implements SCF_general.

References do_output(), LOG_AREA_SCF, and LOG_CAT_ERROR.

void SCF_unrestricted::report_density_difference ( )
privatevirtual
void SCF_unrestricted::report_final_results ( )
privatevirtual
void SCF_unrestricted::save_current_fock_as_fprev ( )
privatevirtual
void SCF_unrestricted::save_density_as_prevdens ( )
privatevirtual
void SCF_unrestricted::save_final_potential ( )
privatevirtual

Implements SCF_general.

References do_output(), LOG_AREA_SCF, and LOG_CAT_ERROR.

void SCF_unrestricted::save_full_matrices_for_matlab ( )
privatevirtual

Implements SCF_general.

void SCF_unrestricted::update_subspace_diff ( )
privatevirtual

Implements SCF_general.

void SCF_unrestricted::use_diis_to_get_new_fock_matrix ( )
privatevirtual

Member Data Documentation

int SCF_unrestricted::alpha_beta_diff
private

Referenced by SCF_unrestricted().

symmMatrix SCF_unrestricted::bestFockMatrixSoFar2_alpha
private
symmMatrix SCF_unrestricted::bestFockMatrixSoFar2_beta
private
symmMatrix SCF_unrestricted::bestFockMatrixSoFar_alpha
private
symmMatrix SCF_unrestricted::bestFockMatrixSoFar_beta
private
symmMatrix SCF_unrestricted::D_ort_prev_alpha
private
symmMatrix SCF_unrestricted::D_ort_prev_beta
private
symmMatrix SCF_unrestricted::Dprev_alpha
private
symmMatrix SCF_unrestricted::Dprev_beta
private
generalVector SCF_unrestricted::eigVecHOMO_alpha
private
generalVector SCF_unrestricted::eigVecHOMO_beta
private
generalVector SCF_unrestricted::eigVecLUMO_alpha
private
generalVector SCF_unrestricted::eigVecLUMO_beta
private
normalMatrix SCF_unrestricted::ErrorMatrix_alpha
private
normalMatrix SCF_unrestricted::ErrorMatrix_beta
private
symmMatrix SCF_unrestricted::F_ort_prev_alpha
private
symmMatrix SCF_unrestricted::F_ort_prev_beta
private
symmMatrix SCF_unrestricted::G_alpha
private
symmMatrix SCF_unrestricted::G_beta
private
intervalType SCF_unrestricted::homoInterval_F_ort_prev_alpha
private
intervalType SCF_unrestricted::homoInterval_F_ort_prev_beta
private
intervalType SCF_unrestricted::homoInterval_Fprev_alpha
private
intervalType SCF_unrestricted::homoInterval_Fprev_beta
private
intervalType SCF_unrestricted::lumoInterval_F_ort_prev_alpha
private
intervalType SCF_unrestricted::lumoInterval_F_ort_prev_beta
private
intervalType SCF_unrestricted::lumoInterval_Fprev_alpha
private
intervalType SCF_unrestricted::lumoInterval_Fprev_beta
private
int SCF_unrestricted::noOfElectrons_alpha
private
int SCF_unrestricted::noOfElectrons_beta
private

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