ergo
SCF_general Class Referenceabstract

#include <SCF_general.h>

Inheritance diagram for SCF_general:
SCF_restricted SCF_unrestricted

Public Member Functions

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)
 

Protected Member Functions

 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)
 
virtual void initialize_matrices ()=0
 
virtual void check_params ()=0
 
virtual void get_starting_guess_density ()=0
 
virtual void initialize_homo_lumo_limits ()=0
 
virtual void write_matrices_to_file ()=0
 
virtual void get_2e_part_and_energy ()=0
 
virtual void output_sparsity_S_F_D (SCF_statistics &stats)=0
 
virtual void calculate_energy ()=0
 
virtual void get_FDSminusSDF ()=0
 
virtual void get_error_measure ()=0
 
virtual void add_to_DIIS_list ()=0
 
virtual void update_best_fock_so_far ()=0
 
virtual void combine_old_fock_matrices (ergo_real stepLength)=0
 
virtual void use_diis_to_get_new_fock_matrix ()=0
 
virtual void clear_diis_list ()=0
 
virtual void clear_error_matrices ()=0
 
virtual void save_current_fock_as_fprev ()=0
 
virtual void get_new_density_matrix ()=0
 
virtual void write_density_to_file ()=0
 
virtual void save_final_potential ()=0
 
virtual void add_random_disturbance_to_starting_guess ()=0
 
virtual void output_expected_values_pos_operator ()=0
 
virtual void output_density_images ()=0
 
virtual void write_diag_dens_to_file ()=0
 
virtual void report_final_results ()=0
 
virtual void save_density_as_prevdens ()=0
 
virtual void update_subspace_diff ()=0
 
virtual void disturb_fock_matrix (ergo_real subspaceError)=0
 
virtual void disturb_dens_matrix (ergo_real subspaceError)=0
 
virtual void do_spin_flip (int atomCount)=0
 
virtual void disturb_dens_matrix_exact (ergo_real subspaceError)=0
 
virtual void save_full_matrices_for_matlab ()=0
 
virtual void report_density_difference ()=0
 
virtual void create_mtx_files_F (int const scfIter)=0
 
virtual void create_mtx_files_D (int const scfIter)=0
 
virtual void create_eigenvectors_files () const =0
 
virtual void create_gabedit_file () const =0
 
virtual void compute_dipole_moment ()=0
 
virtual void do_mulliken_pop_stuff ()=0
 
virtual void compute_gradient_fixeddens ()=0
 

Protected Attributes

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_general()

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 )
protected

◆ ~SCF_general()

SCF_general::~SCF_general ( )
protectedvirtual

References curr_cycle_stats.

Member Function Documentation

◆ add_random_disturbance_to_starting_guess()

virtual void SCF_general::add_random_disturbance_to_starting_guess ( )
protectedpure virtual

Implemented in SCF_restricted, and SCF_unrestricted.

Referenced by do_SCF_iterations().

◆ add_to_DIIS_list()

virtual void SCF_general::add_to_DIIS_list ( )
protectedpure virtual

Implemented in SCF_restricted, and SCF_unrestricted.

Referenced by do_SCF_iterations().

◆ calculate_energy()

virtual void SCF_general::calculate_energy ( )
protectedpure virtual

Implemented in SCF_restricted, and SCF_unrestricted.

Referenced by do_SCF_iterations().

◆ check_params()

virtual void SCF_general::check_params ( )
protectedpure virtual

Implemented in SCF_restricted, and SCF_unrestricted.

Referenced by do_SCF_iterations().

◆ clear_diis_list()

virtual void SCF_general::clear_diis_list ( )
protectedpure virtual

Implemented in SCF_restricted, and SCF_unrestricted.

Referenced by do_SCF_iterations().

◆ clear_error_matrices()

virtual void SCF_general::clear_error_matrices ( )
protectedpure virtual

Implemented in SCF_restricted, and SCF_unrestricted.

Referenced by do_SCF_iterations().

◆ combine_old_fock_matrices()

virtual void SCF_general::combine_old_fock_matrices ( ergo_real stepLength)
protectedpure virtual

Implemented in SCF_restricted, and SCF_unrestricted.

Referenced by do_SCF_iterations().

◆ compute_dipole_moment()

virtual void SCF_general::compute_dipole_moment ( )
protectedpure virtual

Implemented in SCF_restricted, and SCF_unrestricted.

Referenced by do_SCF_iterations().

◆ compute_gradient_fixeddens()

virtual void SCF_general::compute_gradient_fixeddens ( )
protectedpure virtual

Implemented in SCF_restricted, and SCF_unrestricted.

Referenced by do_SCF_iterations().

◆ create_eigenvectors_files()

virtual void SCF_general::create_eigenvectors_files ( ) const
protectedpure virtual

Implemented in SCF_restricted, and SCF_unrestricted.

Referenced by do_SCF_iterations().

◆ create_gabedit_file()

virtual void SCF_general::create_gabedit_file ( ) const
protectedpure virtual

Implemented in SCF_restricted, and SCF_unrestricted.

Referenced by do_SCF_iterations().

◆ create_mtx_files_D()

virtual void SCF_general::create_mtx_files_D ( int const scfIter)
protectedpure virtual

Implemented in SCF_restricted, and SCF_unrestricted.

Referenced by do_SCF_iterations().

◆ create_mtx_files_F()

virtual void SCF_general::create_mtx_files_F ( int const scfIter)
protectedpure virtual

Implemented in SCF_restricted, and SCF_unrestricted.

Referenced by do_SCF_iterations().

◆ disturb_dens_matrix()

virtual void SCF_general::disturb_dens_matrix ( ergo_real subspaceError)
protectedpure virtual

Implemented in SCF_restricted, and SCF_unrestricted.

◆ disturb_dens_matrix_exact()

virtual void SCF_general::disturb_dens_matrix_exact ( ergo_real subspaceError)
protectedpure virtual

Implemented in SCF_restricted, and SCF_unrestricted.

Referenced by do_SCF_iterations().

◆ disturb_fock_matrix()

virtual void SCF_general::disturb_fock_matrix ( ergo_real subspaceError)
protectedpure virtual

Implemented in SCF_restricted, and SCF_unrestricted.

◆ do_mulliken_pop_stuff()

virtual void SCF_general::do_mulliken_pop_stuff ( )
protectedpure virtual

Implemented in SCF_restricted, and SCF_unrestricted.

Referenced by do_SCF_iterations().

◆ do_SCF_iterations()

void SCF_general::do_SCF_iterations ( )

◆ do_spin_flip()

virtual void SCF_general::do_spin_flip ( int atomCount)
protectedpure virtual

Implemented in SCF_restricted, and SCF_unrestricted.

Referenced by do_SCF_iterations().

◆ get_2e_part_and_energy()

virtual void SCF_general::get_2e_part_and_energy ( )
protectedpure virtual

Implemented in SCF_restricted, and SCF_unrestricted.

Referenced by do_SCF_iterations().

◆ get_energy()

void SCF_general::get_energy ( ergo_real & E,
ergo_real & E_nuclear )

References energy, and nuclearEnergy.

◆ get_error_measure()

virtual void SCF_general::get_error_measure ( )
protectedpure virtual

Implemented in SCF_restricted, and SCF_unrestricted.

Referenced by do_SCF_iterations().

◆ get_FDSminusSDF()

virtual void SCF_general::get_FDSminusSDF ( )
protectedpure virtual

Implemented in SCF_restricted, and SCF_unrestricted.

Referenced by do_SCF_iterations().

◆ get_H_core_matrix()

void SCF_general::get_H_core_matrix ( symmMatrix & H_core)

References H_core_Matrix.

◆ get_invCholFactor_matrix()

void SCF_general::get_invCholFactor_matrix ( triangMatrix & invCholFactor_)

References invCholFactor.

◆ get_new_density_matrix()

virtual void SCF_general::get_new_density_matrix ( )
protectedpure virtual

Implemented in SCF_restricted, and SCF_unrestricted.

Referenced by do_SCF_iterations().

◆ get_overlap_matrix()

void SCF_general::get_overlap_matrix ( symmMatrix & S)

◆ get_starting_guess_density()

virtual void SCF_general::get_starting_guess_density ( )
protectedpure virtual

Implemented in SCF_restricted, and SCF_unrestricted.

Referenced by do_SCF_iterations().

◆ GetEuclideanNormOfMatrix()

ergo_real SCF_general::GetEuclideanNormOfMatrix ( const symmMatrix & A)
protected

◆ initialize_homo_lumo_limits()

virtual void SCF_general::initialize_homo_lumo_limits ( )
protectedpure virtual

Implemented in SCF_restricted, and SCF_unrestricted.

Referenced by do_SCF_iterations().

◆ initialize_matrices()

virtual void SCF_general::initialize_matrices ( )
protectedpure virtual

Implemented in SCF_restricted, and SCF_unrestricted.

Referenced by do_SCF_iterations().

◆ output_density_images()

virtual void SCF_general::output_density_images ( )
protectedpure virtual

Implemented in SCF_restricted, and SCF_unrestricted.

Referenced by do_SCF_iterations().

◆ output_expected_values_pos_operator()

virtual void SCF_general::output_expected_values_pos_operator ( )
protectedpure virtual

Implemented in SCF_restricted, and SCF_unrestricted.

Referenced by do_SCF_iterations().

◆ output_sparsity_S_F_D()

virtual void SCF_general::output_sparsity_S_F_D ( SCF_statistics & stats)
protectedpure virtual

Implemented in SCF_restricted, and SCF_unrestricted.

Referenced by do_SCF_iterations().

◆ report_density_difference()

virtual void SCF_general::report_density_difference ( )
protectedpure virtual

Implemented in SCF_restricted, and SCF_unrestricted.

Referenced by do_SCF_iterations().

◆ report_final_results()

virtual void SCF_general::report_final_results ( )
protectedpure virtual

Implemented in SCF_restricted, and SCF_unrestricted.

Referenced by do_SCF_iterations().

◆ save_current_fock_as_fprev()

virtual void SCF_general::save_current_fock_as_fprev ( )
protectedpure virtual

Implemented in SCF_restricted, and SCF_unrestricted.

Referenced by do_SCF_iterations().

◆ save_density_as_prevdens()

virtual void SCF_general::save_density_as_prevdens ( )
protectedpure virtual

Implemented in SCF_restricted, and SCF_unrestricted.

Referenced by do_SCF_iterations().

◆ save_final_potential()

virtual void SCF_general::save_final_potential ( )
protectedpure virtual

Implemented in SCF_restricted, and SCF_unrestricted.

Referenced by do_SCF_iterations().

◆ save_full_matrices_for_matlab()

virtual void SCF_general::save_full_matrices_for_matlab ( )
protectedpure virtual

Implemented in SCF_restricted, and SCF_unrestricted.

Referenced by do_SCF_iterations().

◆ update_best_fock_so_far()

virtual void SCF_general::update_best_fock_so_far ( )
protectedpure virtual

Implemented in SCF_restricted, and SCF_unrestricted.

Referenced by do_SCF_iterations().

◆ update_subspace_diff()

virtual void SCF_general::update_subspace_diff ( )
protectedpure virtual

Implemented in SCF_restricted, and SCF_unrestricted.

Referenced by do_SCF_iterations().

◆ use_diis_to_get_new_fock_matrix()

virtual void SCF_general::use_diis_to_get_new_fock_matrix ( )
protectedpure virtual

Implemented in SCF_restricted, and SCF_unrestricted.

Referenced by do_SCF_iterations().

◆ write_density_to_file()

virtual void SCF_general::write_density_to_file ( )
protectedpure virtual

Implemented in SCF_restricted, and SCF_unrestricted.

Referenced by do_SCF_iterations().

◆ write_diag_dens_to_file()

virtual void SCF_general::write_diag_dens_to_file ( )
protectedpure virtual

Implemented in SCF_restricted, and SCF_unrestricted.

Referenced by do_SCF_iterations().

◆ write_matrices_to_file()

virtual void SCF_general::write_matrices_to_file ( )
protectedpure virtual

Implemented in SCF_restricted, and SCF_unrestricted.

Referenced by do_SCF_iterations().

Member Data Documentation

◆ basisInfo

◆ CAM_params

◆ curr_cycle_stats

◆ curr_subspace_diff

ergo_real SCF_general::curr_subspace_diff
protected

◆ DensFromFock

◆ DIIS

◆ electronicEntropyTerm

◆ energy

◆ energy_2el

◆ energy_2el_core

ergo_real SCF_general::energy_2el_core
protected

◆ energy_2el_valence

ergo_real SCF_general::energy_2el_valence
protected

◆ energy_of_valence

ergo_real SCF_general::energy_of_valence
protected

◆ energy_reference

ergo_real SCF_general::energy_reference
protected

◆ errorMeasure

◆ extraCharges

const Molecule& SCF_general::extraCharges
protected

Referenced by SCF_general().

◆ gridParams

◆ guessDmatFileName

const char* SCF_general::guessDmatFileName
protected

◆ H_core_Matrix

◆ integralInfo

◆ invCholFactor

◆ invCholFactor_euclnorm

ergo_real SCF_general::invCholFactor_euclnorm
protected

Referenced by SCF_general().

◆ J_K_params

◆ matOpts

const SCF::MatOptions& SCF_general::matOpts
protected

Referenced by SCF_restricted::add_random_disturbance_to_starting_guess(), SCF_unrestricted::add_random_disturbance_to_starting_guess(), SCF_restricted::compute_dipole_moment(), SCF_unrestricted::compute_dipole_moment(), SCF_restricted::compute_gradient_fixeddens(), SCF_restricted::create_eigvec_file(), SCF_unrestricted::create_eigvec_file(), SCF_restricted::create_gabedit_file(), SCF_unrestricted::create_gabedit_file(), SCF_restricted::create_mtx_files_D(), SCF_unrestricted::create_mtx_files_D(), SCF_restricted::create_mtx_files_F(), SCF_unrestricted::create_mtx_files_F(), SCF_restricted::disturb_dens_matrix(), SCF_restricted::disturb_dens_matrix_exact(), SCF_restricted::disturb_dens_matrix_exact_try(), SCF_restricted::disturb_fock_matrix(), SCF_restricted::do_mulliken_pop_stuff(), SCF_unrestricted::do_mulliken_pop_stuff(), do_SCF_iterations(), SCF_unrestricted::do_spin_flip(), SCF_restricted::get_2e_part_and_energy(), SCF_unrestricted::get_2e_part_and_energy(), SCF_restricted::get_expected_values_pos_operator(), SCF_restricted::get_FDSminusSDF(), SCF_unrestricted::get_FDSminusSDF(), SCF_restricted::get_non_ort_err_mat_normalized_in_ort_basis(), SCF_unrestricted::get_S2(), SCF_restricted::get_starting_guess_density(), SCF_unrestricted::get_starting_guess_density(), SCF_restricted::initialize_matrices(), SCF_unrestricted::initialize_matrices(), SCF_restricted::output_density_images(), SCF_unrestricted::output_density_images(), SCF_restricted::output_density_images_orbital(), SCF_restricted::save_final_potential(), SCF_restricted::save_full_matrices_for_matlab(), SCF_general(), SCF_unrestricted::SCF_unrestricted(), SCF_unrestricted::use_diis_to_get_new_fock_matrix(), SCF_restricted::write_density_to_file(), SCF_unrestricted::write_density_to_file(), SCF_restricted::write_diag_dens_to_file(), and SCF_unrestricted::write_diag_dens_to_file().

◆ molecule

◆ noOfElectrons

◆ nuclearEnergy

◆ S_symm

◆ SCF_step

◆ scfopts

◆ threshold_integrals_1el

ergo_real SCF_general::threshold_integrals_1el
protected

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