ergo
SCF_general Class Reference

#include <SCF_general.h>

Inheritance diagram for SCF_general:
SCF_restricted SCF_unrestricted

List of all members.

Public Member Functions

void do_SCF_iterations ()
void get_overlap_matrix (symmMatrix &S)
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 BasisInfoStruct &basisInfoDensFit_, 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_density_images ()=0
virtual void output_csr_matrices_for_gao ()=0
virtual void do_electron_dynamics ()=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_homo_eigvec_file () const =0
virtual void create_lumo_eigvec_file () const =0
virtual void create_gabedit_file () const =0
virtual void compute_dipole_moment ()=0
virtual void do_mulliken_pop_stuff ()=0

Protected Attributes

const Moleculemolecule
const MoleculeextraCharges
const BasisInfoStructbasisInfo
const BasisInfoStructbasisInfoDensFit
const IntegralInfointegralInfo
const char * guessDmatFileName
const JK::ParamsJ_K_params
const Dft::GridParamsgridParams
const SCF::Optionsscfopts
const SCF::MatOptionsmatOpts
ergo_real threshold_integrals_1el
DensfitDatadensfit_data
JK::ExchWeights CAM_params
ergo_real nuclearEnergy
ergo_real energy_2el
ergo_real energy
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

Constructor & Destructor Documentation

SCF_general::SCF_general ( const Molecule molecule_,
const Molecule extraCharges_,
const BasisInfoStruct basisInfo_,
const BasisInfoStruct basisInfoDensFit_,
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

References JK::ExchWeights::alpha, basisInfo, basisInfoDensFit, JK::ExchWeights::beta, SCF::Options::calculation_identifier, CAM_params, compute_h_core_matrix_simple_dense(), compute_h_core_matrix_sparse(), compute_overlap_matrix_sparse(), JK::ExchWeights::computeRangeSeparatedExchange, SCF::Options::create_basis_func_coord_file, SCF::Options::create_mtx_file_S, SCF::Options::create_mtx_files_dipole, densfit_data, densfit_init(), do_output(), do_output_time(), SCF::Options::do_sparsity_investigation, SCF::Options::electric_field, mat::MatrixTriangular< Treal, Tmatrix >::eucl(), mat::MatrixSymmetric< Treal, Tmatrix >::eucl(), mat::MatrixTriangular< Treal, Tmatrix >::eucl_thresh(), mat::MatrixGeneral< Treal, Tmatrix >::eucl_thresh(), mat::MatrixSymmetric< Treal, Tmatrix >::eucl_thresh(), extraCharges, mat::MatrixTriangular< Treal, Tmatrix >::frob(), mat::MatrixGeneral< Treal, Tmatrix >::frob_diff(), SCF::Options::gap_expected_lower_bound, get_hf_weight_and_cam_params(), get_host_name(), get_machine_epsilon(), get_working_directory(), Molecule::getExtremeInternuclearDistances(), Molecule::getNumberOfElectrons(), H_core_Matrix, mat::MatrixTriangular< Treal, Tmatrix >::inch(), integralInfo, invCholFactor, invCholFactor_euclnorm, SCF::MatOptions::inversePermutationHML, J_K_params, LOG_AREA_SCF, LOG_CAT_ERROR, LOG_CAT_INFO, LOG_CAT_WARNING, matOpts, SCF::Options::method_and_basis_set, molecule, JK::ExchWeights::mu, mat::MatrixTriangular< Treal, Tmatrix >::nnz(), mat::MatrixSymmetric< Treal, Tmatrix >::nnz(), SCF::Options::no_of_threads_for_V, Molecule::noOfAtoms, BasisInfoStruct::noOfBasisFuncs, noOfElectrons, output_current_memory_usage(), output_distance_vs_magnitude(), output_magnitude_histogram(), output_sparsity_symm(), output_sparsity_triang(), SCF::MatOptions::permutationHML, SCF::Options::purification_subspace_err_limit, mat::FileWritable::readFromFile(), mat::MatrixBase< Treal, Tmatrix >::resetSizesAndBlocks(), mat::right, host_name_struct::s, working_directory_struct::s, S_symm, save_symmetric_matrix(), scfopts, SCF::MatOptions::size_block_info, SCF::Options::skip_H_core, SCF::MatOptions::sparse_threshold, SCF::Options::sparse_threshold_for_S, SCF::Options::sparse_threshold_for_Z, SCF::Options::sparsity_plots_resolution_m, SCF::Options::sparsity_plots_resolution_r, SCF::MatOptions::threshold_inch, threshold_integrals_1el, mat::transpose(), UNIT_one_Angstrom, JK::Params::use_densfit_for_J, SCF::Options::use_dft, SCF::Options::use_simple_dense_H_core, Vector3D::v, VERSION, write_basis_func_coord_file(), write_matrix_in_matrix_market_format(), SCF::Options::write_overlap_matrix, and mat::FileWritable::writeToFile().

SCF_general::~SCF_general ( )
protectedvirtual

References curr_cycle_stats.


Member Function Documentation

virtual void SCF_general::add_random_disturbance_to_starting_guess ( )
protectedpure virtual

Implemented in SCF_unrestricted, and SCF_restricted.

Referenced by do_SCF_iterations().

virtual void SCF_general::add_to_DIIS_list ( )
protectedpure virtual

Implemented in SCF_unrestricted, and SCF_restricted.

Referenced by do_SCF_iterations().

virtual void SCF_general::calculate_energy ( )
protectedpure virtual

Implemented in SCF_unrestricted, and SCF_restricted.

Referenced by do_SCF_iterations().

virtual void SCF_general::check_params ( )
protectedpure virtual

Implemented in SCF_unrestricted, and SCF_restricted.

Referenced by do_SCF_iterations().

virtual void SCF_general::clear_diis_list ( )
protectedpure virtual

Implemented in SCF_unrestricted, and SCF_restricted.

Referenced by do_SCF_iterations().

virtual void SCF_general::clear_error_matrices ( )
protectedpure virtual

Implemented in SCF_unrestricted, and SCF_restricted.

Referenced by do_SCF_iterations().

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

Implemented in SCF_unrestricted, and SCF_restricted.

Referenced by do_SCF_iterations().

virtual void SCF_general::compute_dipole_moment ( )
protectedpure virtual

Implemented in SCF_unrestricted, and SCF_restricted.

Referenced by do_SCF_iterations().

virtual void SCF_general::create_gabedit_file ( ) const
protectedpure virtual

Implemented in SCF_unrestricted, and SCF_restricted.

Referenced by do_SCF_iterations().

virtual void SCF_general::create_homo_eigvec_file ( ) const
protectedpure virtual

Implemented in SCF_unrestricted, and SCF_restricted.

Referenced by do_SCF_iterations().

virtual void SCF_general::create_lumo_eigvec_file ( ) const
protectedpure virtual

Implemented in SCF_unrestricted, and SCF_restricted.

Referenced by do_SCF_iterations().

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

Implemented in SCF_unrestricted, and SCF_restricted.

Referenced by do_SCF_iterations().

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

Implemented in SCF_unrestricted, and SCF_restricted.

Referenced by do_SCF_iterations().

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

Implemented in SCF_unrestricted, and SCF_restricted.

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

Implemented in SCF_unrestricted, and SCF_restricted.

Referenced by do_SCF_iterations().

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

Implemented in SCF_unrestricted, and SCF_restricted.

virtual void SCF_general::do_electron_dynamics ( )
protectedpure virtual

Implemented in SCF_unrestricted, and SCF_restricted.

Referenced by do_SCF_iterations().

virtual void SCF_general::do_mulliken_pop_stuff ( )
protectedpure virtual

Implemented in SCF_unrestricted, and SCF_restricted.

Referenced by do_SCF_iterations().

void SCF_general::do_SCF_iterations ( )

References add_random_disturbance_to_starting_guess(), add_to_DIIS_list(), SCF_statistics::add_value(), basisInfo, SCF::Options::break_on_energy_increase, calculate_energy(), check_params(), clear_diis_list(), clear_error_matrices(), combine_old_fock_matrices(), compute_dipole_moment(), create_gabedit_file(), create_homo_eigvec_file(), create_lumo_eigvec_file(), SCF::Options::create_mtx_files_D, create_mtx_files_D(), SCF::Options::create_mtx_files_F, create_mtx_files_F(), curr_cycle_stats, curr_subspace_diff, DIIS, disturb_dens_matrix_exact(), SCF::Options::do_electron_dynamics, do_electron_dynamics(), do_mulliken_pop_stuff(), do_output(), do_output_time(), do_spin_flip(), SCF::Options::electric_field, energy, energy_2el, SCF::Options::error_maxabs_for_diis, errorMeasure, get_2e_part_and_energy(), get_error_measure(), get_FDSminusSDF(), get_memory_usage_by_procfile(), get_new_density_matrix(), get_starting_guess_density(), DIISManager::GetNoOfIters(), Molecule::getNuclearElectricFieldEnergy(), Molecule::getNuclearRepulsionEnergy(), DIISManager::Initialize(), initialize_homo_lumo_limits(), initialize_matrices(), J_K_params, LOG_AREA_SCF, LOG_CAT_INFO, LOG_CAT_RESULTS, matOpts, SCF::Options::max_no_of_diis_matrices, SCF::Options::max_number_of_iterations, SCF::Options::max_restart_count, SCF::Options::min_number_of_iterations, molecule, SCF::Options::no_of_careful_first_scf_steps, SCF::Options::no_of_impr_req_for_diis, BasisInfoStruct::noOfBasisFuncs, nuclearEnergy, SCF::Options::output_csr_matrices_for_gao, output_csr_matrices_for_gao(), output_current_memory_usage(), SCF::Options::output_density_at_every_step, SCF::Options::output_density_images, output_density_images(), SCF::Options::output_density_images_only, SCF::Options::output_homo_and_lumo_eigenvectors, SCF_statistics::output_mfile(), SCF::Options::output_mulliken_pop, output_sparsity_S_F_D(), SCF::Options::output_statistics_mfiles, report_density_difference(), report_final_results(), save_current_fock_as_fprev(), save_density_as_prevdens(), SCF::Options::save_final_potential, save_final_potential(), SCF::Options::save_full_matrices_for_matlab, save_full_matrices_for_matlab(), scfopts, SCF::MatOptions::sparse_matrix_block_size, SCF::Options::spin_flip_atom_count, SCF_statistics::start_timer(), SCF::Options::starting_guess_disturbance, SCF::Options::step_length_giveup, SCF::Options::step_length_start, SCF_statistics::stop_timer(), SCF::Options::subspace_factor_dens, JK::Params::threshold_J, JK::Params::threshold_K, update_best_fock_so_far(), update_subspace_diff(), SCF::Options::use_artificial_subspace_disturbances, SCF::Options::use_diis_always, use_diis_to_get_new_fock_matrix(), SCF::Options::use_simple_starting_guess, write_density_to_file(), SCF::Options::write_diag_dens_to_file, write_diag_dens_to_file(), SCF::Options::write_guess_density_only, and write_matrices_to_file().

Referenced by es_run(), and main().

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

Implemented in SCF_unrestricted, and SCF_restricted.

Referenced by do_SCF_iterations().

virtual void SCF_general::get_2e_part_and_energy ( )
protectedpure virtual

Implemented in SCF_unrestricted, and SCF_restricted.

Referenced by do_SCF_iterations().

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

References energy, and nuclearEnergy.

Referenced by es_run().

virtual void SCF_general::get_error_measure ( )
protectedpure virtual

Implemented in SCF_unrestricted, and SCF_restricted.

Referenced by do_SCF_iterations().

virtual void SCF_general::get_FDSminusSDF ( )
protectedpure virtual

Implemented in SCF_unrestricted, and SCF_restricted.

Referenced by do_SCF_iterations().

void SCF_general::get_H_core_matrix ( symmMatrix H_core)
virtual void SCF_general::get_new_density_matrix ( )
protectedpure virtual

Implemented in SCF_unrestricted, and SCF_restricted.

Referenced by do_SCF_iterations().

void SCF_general::get_overlap_matrix ( symmMatrix S)
virtual void SCF_general::get_starting_guess_density ( )
protectedpure virtual

Implemented in SCF_unrestricted, and SCF_restricted.

Referenced by do_SCF_iterations().

virtual void SCF_general::initialize_homo_lumo_limits ( )
protectedpure virtual

Implemented in SCF_unrestricted, and SCF_restricted.

Referenced by do_SCF_iterations().

virtual void SCF_general::initialize_matrices ( )
protectedpure virtual

Implemented in SCF_unrestricted, and SCF_restricted.

Referenced by do_SCF_iterations().

virtual void SCF_general::output_csr_matrices_for_gao ( )
protectedpure virtual

Implemented in SCF_unrestricted, and SCF_restricted.

Referenced by do_SCF_iterations().

virtual void SCF_general::output_density_images ( )
protectedpure virtual

Implemented in SCF_unrestricted, and SCF_restricted.

Referenced by do_SCF_iterations().

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

Implemented in SCF_unrestricted, and SCF_restricted.

Referenced by do_SCF_iterations().

virtual void SCF_general::report_density_difference ( )
protectedpure virtual

Implemented in SCF_unrestricted, and SCF_restricted.

Referenced by do_SCF_iterations().

virtual void SCF_general::report_final_results ( )
protectedpure virtual

Implemented in SCF_unrestricted, and SCF_restricted.

Referenced by do_SCF_iterations().

virtual void SCF_general::save_current_fock_as_fprev ( )
protectedpure virtual

Implemented in SCF_unrestricted, and SCF_restricted.

Referenced by do_SCF_iterations().

virtual void SCF_general::save_density_as_prevdens ( )
protectedpure virtual

Implemented in SCF_unrestricted, and SCF_restricted.

Referenced by do_SCF_iterations().

virtual void SCF_general::save_final_potential ( )
protectedpure virtual

Implemented in SCF_unrestricted, and SCF_restricted.

Referenced by do_SCF_iterations().

virtual void SCF_general::save_full_matrices_for_matlab ( )
protectedpure virtual

Implemented in SCF_unrestricted, and SCF_restricted.

Referenced by do_SCF_iterations().

virtual void SCF_general::update_best_fock_so_far ( )
protectedpure virtual

Implemented in SCF_unrestricted, and SCF_restricted.

Referenced by do_SCF_iterations().

virtual void SCF_general::update_subspace_diff ( )
protectedpure virtual

Implemented in SCF_unrestricted, and SCF_restricted.

Referenced by do_SCF_iterations().

virtual void SCF_general::use_diis_to_get_new_fock_matrix ( )
protectedpure virtual

Implemented in SCF_unrestricted, and SCF_restricted.

Referenced by do_SCF_iterations().

virtual void SCF_general::write_density_to_file ( )
protectedpure virtual

Implemented in SCF_unrestricted, and SCF_restricted.

Referenced by do_SCF_iterations().

virtual void SCF_general::write_diag_dens_to_file ( )
protectedpure virtual

Implemented in SCF_unrestricted, and SCF_restricted.

Referenced by do_SCF_iterations().

virtual void SCF_general::write_matrices_to_file ( )
protectedpure virtual

Implemented in SCF_unrestricted, and SCF_restricted.

Referenced by do_SCF_iterations().


Member Data Documentation

ergo_real SCF_general::curr_subspace_diff
protected
const Molecule& SCF_general::extraCharges
protected
const Dft::GridParams& SCF_general::gridParams
protected
const char* SCF_general::guessDmatFileName
protected
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::create_gabedit_file(), SCF_restricted::create_homo_eigvec_file(), SCF_restricted::create_lumo_eigvec_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_electron_dynamics(), 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_FDSminusSDF(), SCF_unrestricted::get_FDSminusSDF(), SCF_restricted::get_new_density_matrix(), SCF_unrestricted::get_new_density_matrix(), 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_csr_matrices_for_gao(), SCF_unrestricted::output_density_images(), SCF_restricted::save_final_potential(), SCF_restricted::save_full_matrices_for_matlab(), SCF_general(), 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().

ergo_real SCF_general::threshold_integrals_1el
protected

Referenced by SCF_general().


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