ergo
SCF_restricted Class Reference

#include <SCF_restricted.h>

Inheritance diagram for SCF_restricted:
SCF_general

List of all members.

Public Member Functions

 SCF_restricted (const Molecule &molecule_, const Molecule &extraCharges_, const BasisInfoStruct &basisInfo_, const BasisInfoStruct &basisInfoDensFit_, const IntegralInfo &integralInfo_, const char *guessDmatFileNamePtr, const JK::Params &J_K_paramsPtr, const Dft::GridParams &gridParams_, const SCF::Options &scfopts, const SCF::MatOptions &matOpts, ergo_real threshold_integrals_1el_input)
 ~SCF_restricted ()
- Public Member Functions inherited from SCF_general
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)

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_density_images ()
void output_csr_matrices_for_gao ()
void do_electron_dynamics ()
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_homo_eigvec_file () const
void create_lumo_eigvec_file () const
void create_gabedit_file () const
void compute_dipole_moment ()
void do_mulliken_pop_stuff ()
void get_non_ort_err_mat_normalized_in_ort_basis (symmMatrix &randomMatrix, int transform_with_S_also)
void transform_with_S (symmMatrix &A)
 Transform matrix A to S*A*S.
void transform_with_invChol (symmMatrix &A)
 Transform matrix A to invCholT*A*invChol.
void disturb_dens_matrix_exact_try (const symmMatrix &randomMatrix, const symmMatrix &orgDensMatrix, ergo_real disturbanceFactor, ergo_real &resultSinTheta, symmMatrix &resultDensMatrix)

Private Attributes

symmMatrix densityMatrix
symmMatrix FockMatrix
symmMatrix Fprev
symmMatrix Dprev
symmMatrix F_ort_prev
symmMatrix bestFockMatrixSoFar
symmMatrix bestFockMatrixSoFar2
normalMatrix ErrorMatrix
symmMatrix J_matrix
symmMatrix K_matrix
symmMatrix Fxc_matrix
generalVector eigVecLUMO
generalVector eigVecHOMO
intervalType homoInterval_F_ort_prev
intervalType lumoInterval_F_ort_prev
intervalType homoInterval_Fprev
intervalType lumoInterval_Fprev

Additional Inherited Members

- Protected Member Functions inherited from 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)
virtual ~SCF_general ()
ergo_real GetEuclideanNormOfMatrix (const symmMatrix &A)
- Protected Attributes inherited from SCF_general
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_restricted::SCF_restricted ( const Molecule molecule_,
const Molecule extraCharges_,
const BasisInfoStruct basisInfo_,
const BasisInfoStruct basisInfoDensFit_,
const IntegralInfo integralInfo_,
const char *  guessDmatFileNamePtr,
const JK::Params J_K_paramsPtr,
const Dft::GridParams gridParams_,
const SCF::Options scfopts,
const SCF::MatOptions matOpts,
ergo_real  threshold_integrals_1el_input 
)

References SCF_general::DIIS.

SCF_restricted::~SCF_restricted ( )

References SCF_general::DIIS.


Member Function Documentation

void SCF_restricted::add_to_DIIS_list ( )
privatevirtual
void SCF_restricted::check_params ( )
privatevirtual
void SCF_restricted::clear_diis_list ( )
privatevirtual

Implements SCF_general.

References SCF_general::DIIS.

void SCF_restricted::clear_error_matrices ( )
privatevirtual
void SCF_restricted::combine_old_fock_matrices ( ergo_real  stepLength)
privatevirtual
void SCF_restricted::do_spin_flip ( int  atomCount)
privatevirtual

Implements SCF_general.

void SCF_restricted::get_2e_part_and_energy ( )
privatevirtual

Implements SCF_general.

References SCF_statistics::add_value(), SCF_general::basisInfo, SCF_general::basisInfoDensFit, SCF_general::CAM_params, SCF_general::curr_cycle_stats, SCF_general::densfit_data, densityMatrix, SCF::Options::do_acc_scan_J, do_acc_scan_J(), SCF::Options::do_acc_scan_K, do_acc_scan_K(), SCF::Options::do_acc_scan_Vxc, do_acc_scan_Vxc(), SCF::Options::do_f_thresh_verification, do_output(), SCF::Options::do_sparsity_investigation, SCF_general::energy_2el, mat::MatrixSymmetric< Treal, Tmatrix >::eucl(), mat::MatrixSymmetric< Treal, Tmatrix >::eucl_diff(), mat::MatrixSymmetric< Treal, Tmatrix >::eucl_thresh(), FockMatrix, Fprev, mat::MatrixSymmetric< Treal, Tmatrix >::frob_diff(), Fxc_matrix, SCF::Options::gap_expected_lower_bound, get_2e_matrix_and_energy_sparse(), get_machine_epsilon(), SCF_general::gridParams, SCF_general::H_core_Matrix, homoInterval_Fprev, mat::Interval< Treal >::increase(), SCF_general::integralInfo, SCF_general::invCholFactor, SCF::MatOptions::inversePermutationHML, mat::MatrixBase< Treal, Tmatrix >::is_empty(), SCF_general::J_K_params, J_matrix, K_matrix, LOG_AREA_DENSFROMF, LOG_AREA_SCF, LOG_CAT_ERROR, LOG_CAT_INFO, mat::Interval< Treal >::low(), lumoInterval_Fprev, SCF_general::matOpts, mat::MatrixSymmetric< Treal, Tmatrix >::mixed_diff(), SCF_general::molecule, mat::MatrixSymmetric< Treal, Tmatrix >::nnz(), BasisInfoStruct::noOfBasisFuncs, SCF_general::noOfElectrons, output_diff_norm_values(), output_distance_vs_magnitude(), SCF::MatOptions::permutationHML, SCF::Options::purification_subspace_err_limit, mat::FileWritable::readFromFile(), mat::MatrixBase< Treal, Tmatrix >::resetSizesAndBlocks(), SCF::Options::scan_do_invcholfactor_transf, SCF::Options::scan_no_of_steps, SCF::Options::scan_start_thresh, SCF::Options::scan_step_factor, SCF_general::scfopts, SCF::MatOptions::size_block_info, SCF::Options::sparsity_plots_resolution_m, SCF::Options::sparsity_plots_resolution_r, mat::transpose(), mat::Interval< Treal >::upp(), SCF::Options::use_dft, and mat::FileWritable::writeToFile().

void SCF_restricted::get_error_measure ( )
privatevirtual
void SCF_restricted::get_new_density_matrix ( )
privatevirtual

Implements SCF_general.

References SCF_statistics::add_values(), SCF_general::basisInfo, SCF_general::curr_cycle_stats, densityMatrix, SCF::Options::do_comparison_to_simple_purification, do_output(), SCF::Options::do_sparsity_investigation, SCF::Options::do_sparsity_investigation_reppuri, eigVecHOMO, eigVecLUMO, SCF::Options::electronic_temperature, mat::euclNorm, F_ort_prev, FockMatrix, mat::frobNorm, SCF::Options::gap_expected_lower_bound, get_dens_from_fock_general(), mat::getNormTypeString(), homoInterval_F_ort_prev, homoInterval_Fprev, SCF_general::invCholFactor, SCF_general::invCholFactor_euclnorm, SCF::MatOptions::inversePermutationHML, LOG_AREA_SCF, LOG_CAT_INFO, lumoInterval_F_ort_prev, lumoInterval_Fprev, SCF_general::matOpts, mat::mixedNorm, BasisInfoStruct::noOfBasisFuncs, SCF_general::noOfElectrons, output_distance_vs_magnitude(), output_sparsity_symm(), SCF::Options::purification_create_m_files, SCF::Options::purification_eigvalue_err_limit, SCF::Options::purification_ignore_failure, SCF::Options::purification_maxmul, SCF::Options::purification_subspace_err_limit, SCF::Options::purification_truncation_norm, SCF::Options::purification_use_rand_perturbation_for_alleigsint, mat::FileWritable::readFromFile(), SCF_general::S_symm, SCF_general::scfopts, SCF::Options::shift_using_prev_density_matrix, SCF::MatOptions::size_block_info, SCF::Options::sparsity_plots_resolution_m, SCF::Options::sparsity_plots_resolution_r, mat::MatrixSymmetric< Treal, Tmatrix >::trace_ab(), transform_with_S(), UNIT_one_eV, SCF::Options::use_diag_on_error, SCF::Options::use_diagonalization, and mat::FileWritable::writeToFile().

void SCF_restricted::get_starting_guess_density ( )
privatevirtual

Implements SCF_general.

References SCF_general::basisInfo, densityMatrix, SCF::Options::do_comparison_to_simple_purification, do_output(), SCF::Options::do_sparsity_investigation, SCF::Options::electronic_temperature, SCF::Options::gap_expected_lower_bound, get_dens_from_fock_general(), get_diag_matrix_from_file(), get_simple_starting_guess_sparse(), SCF_general::guessDmatFileName, SCF_general::H_core_Matrix, SCF_general::integralInfo, SCF_general::invCholFactor, SCF_general::invCholFactor_euclnorm, load_density_and_project_sparse(), LOG_AREA_SCF, LOG_CAT_ERROR, LOG_CAT_INFO, SCF_general::matOpts, BasisInfoStruct::noOfBasisFuncs, SCF_general::noOfElectrons, output_sparsity_symm(), SCF::MatOptions::permutationHML, SCF::Options::puri_eig_acc_factor_for_guess, SCF::Options::purification_create_m_files, SCF::Options::purification_eigvalue_err_limit, SCF::Options::purification_ignore_failure, SCF::Options::purification_maxmul, SCF::Options::purification_subspace_err_limit, SCF::Options::purification_truncation_norm, SCF::Options::purification_use_rand_perturbation_for_alleigsint, mat::FileWritable::readFromFile(), mat::MatrixBase< Treal, Tmatrix >::resetSizesAndBlocks(), SCF_general::S_symm, SCF_general::scfopts, SCF::MatOptions::size_block_info, SCF::MatOptions::sparse_threshold, SCF::Options::sparsity_plots_resolution_m, SCF::Options::use_diag_guess_from_file, SCF::Options::use_diag_on_error_guess, SCF::Options::use_diagonalization, SCF::Options::use_simple_starting_guess, and mat::FileWritable::writeToFile().

void SCF_restricted::initialize_homo_lumo_limits ( )
privatevirtual
void SCF_restricted::output_density_images ( )
privatevirtual

Implements SCF_general.

References do_output(), LOG_AREA_SCF, and LOG_CAT_ERROR.

void SCF_restricted::report_final_results ( )
privatevirtual

Implements SCF_general.

void SCF_restricted::save_current_fock_as_fprev ( )
privatevirtual
void SCF_restricted::save_density_as_prevdens ( )
privatevirtual
void SCF_restricted::transform_with_invChol ( symmMatrix A)
private
void SCF_restricted::update_best_fock_so_far ( )
privatevirtual
void SCF_restricted::use_diis_to_get_new_fock_matrix ( )
privatevirtual
void SCF_restricted::write_matrices_to_file ( )
privatevirtual

Member Data Documentation

symmMatrix SCF_restricted::bestFockMatrixSoFar
private
symmMatrix SCF_restricted::bestFockMatrixSoFar2
private
generalVector SCF_restricted::eigVecHOMO
private
generalVector SCF_restricted::eigVecLUMO
private
symmMatrix SCF_restricted::F_ort_prev
private
symmMatrix SCF_restricted::Fxc_matrix
private

Referenced by get_2e_part_and_energy().

intervalType SCF_restricted::homoInterval_F_ort_prev
private
intervalType SCF_restricted::homoInterval_Fprev
private
symmMatrix SCF_restricted::J_matrix
private

Referenced by get_2e_part_and_energy().

symmMatrix SCF_restricted::K_matrix
private

Referenced by get_2e_part_and_energy().

intervalType SCF_restricted::lumoInterval_F_ort_prev
private
intervalType SCF_restricted::lumoInterval_Fprev
private

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