ergo
|
#include <SCF_unrestricted.h>
SCF_unrestricted::SCF_unrestricted | ( | 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, | ||
int | alpha_beta_diff_input | ||
) |
SCF_unrestricted::~SCF_unrestricted | ( | ) |
References SCF_general::DIIS.
void SCF_unrestricted::add_random_disturbance_to_starting_guess | ( | ) | [private, virtual] |
Implements SCF_general.
References SCF_general::scfopts, SCF::Options::sg_disturb_specific_elements, SCF::DISTURB_ELEMENT_MAX_COUNT, SCF_general::basisInfo, BasisInfoStruct::noOfBasisFuncs, densityMatrix_alpha, do_output(), LOG_CAT_INFO, LOG_AREA_SCF, SCF::Options::starting_guess_disturbance, add_disturbance_to_matrix(), SCF::Options::disturbedElementIndexVector, SCF_general::matOpts, SCF::MatOptions::permutationHML, and densityMatrix_beta.
void SCF_unrestricted::add_to_DIIS_list | ( | ) | [private, virtual] |
Implements SCF_general.
References FockMatrix_alpha, FockMatrix_beta, SCF_general::DIIS, ErrorMatrix_alpha, ErrorMatrix_beta, do_output(), LOG_CAT_ERROR, and LOG_AREA_SCF.
void SCF_unrestricted::calculate_energy | ( | ) | [private, virtual] |
void SCF_unrestricted::check_params | ( | ) | [private, virtual] |
Implements SCF_general.
void SCF_unrestricted::clear_diis_list | ( | ) | [private, virtual] |
Implements SCF_general.
References SCF_general::DIIS.
void SCF_unrestricted::clear_error_matrices | ( | ) | [private, virtual] |
Implements SCF_general.
References ErrorMatrix_alpha, mat::MatrixBase::clear(), and ErrorMatrix_beta.
void SCF_unrestricted::combine_old_fock_matrices | ( | ergo_real | stepLength | ) | [private, virtual] |
Implements SCF_general.
References bestFockMatrixSoFar_alpha, bestFockMatrixSoFar2_alpha, FockMatrix_alpha, bestFockMatrixSoFar_beta, bestFockMatrixSoFar2_beta, and FockMatrix_beta.
void SCF_unrestricted::compute_dipole_moment | ( | ) | [private, virtual] |
void SCF_unrestricted::create_gabedit_file | ( | ) | const [private, virtual] |
Implements SCF_general.
References do_output(), LOG_CAT_WARNING, and LOG_AREA_SCF.
void SCF_unrestricted::create_homo_eigvec_file | ( | ) | const [private, virtual] |
Implements SCF_general.
References do_output(), LOG_CAT_WARNING, and LOG_AREA_SCF.
void SCF_unrestricted::create_lumo_eigvec_file | ( | ) | const [private, virtual] |
Implements SCF_general.
References do_output(), LOG_CAT_WARNING, and LOG_AREA_SCF.
void SCF_unrestricted::create_mtx_files_D | ( | int const | scfIter | ) | [private, virtual] |
Implements SCF_general.
References do_output(), LOG_CAT_INFO, LOG_AREA_SCF, SCF_general::scfopts, SCF::Options::calculation_identifier, densityMatrix_alpha, write_matrix_in_matrix_market_format(), SCF_general::matOpts, SCF::MatOptions::inversePermutationHML, SCF::Options::method_and_basis_set, and densityMatrix_beta.
void SCF_unrestricted::create_mtx_files_F | ( | int const | scfIter | ) | [private, virtual] |
Implements SCF_general.
References do_output(), LOG_CAT_INFO, LOG_AREA_SCF, SCF_general::scfopts, SCF::Options::calculation_identifier, FockMatrix_alpha, write_matrix_in_matrix_market_format(), SCF_general::matOpts, SCF::MatOptions::inversePermutationHML, SCF::Options::method_and_basis_set, and FockMatrix_beta.
void SCF_unrestricted::disturb_dens_matrix | ( | ergo_real | subspaceError | ) | [private, virtual] |
Implements SCF_general.
void SCF_unrestricted::disturb_dens_matrix_exact | ( | ergo_real | subspaceError | ) | [private, virtual] |
Implements SCF_general.
void SCF_unrestricted::disturb_fock_matrix | ( | ergo_real | subspaceError | ) | [private, virtual] |
Implements SCF_general.
void SCF_unrestricted::do_electron_dynamics | ( | ) | [private, virtual] |
Implements SCF_general.
void SCF_unrestricted::do_mulliken_pop_stuff | ( | ) | [private, virtual] |
Implements SCF_general.
References do_output(), LOG_CAT_INFO, LOG_AREA_SCF, densityMatrix_alpha, densityMatrix_beta, SCF_general::S_symm, do_mulliken_atomic_charges(), SCF_general::basisInfo, SCF_general::matOpts, SCF::MatOptions::size_block_info, SCF::MatOptions::permutationHML, SCF::MatOptions::inversePermutationHML, SCF_general::molecule, mat::MatrixBase::clear(), and do_mulliken_spin_densities().
void SCF_unrestricted::do_spin_flip | ( | int | atomCount | ) | [private, virtual] |
Implements SCF_general.
References SCF_general::basisInfo, BasisInfoStruct::noOfBasisFuncs, do_output(), LOG_CAT_INFO, LOG_AREA_SCF, densityMatrix_alpha, densityMatrix_beta, SCF_general::S_symm, mat::MatrixSymmetric::trace_ab(), mat::MatrixSymmetric::fullMatrix(), SCF_general::matOpts, SCF::MatOptions::inversePermutationHML, SCF_general::molecule, Molecule::noOfAtoms, Molecule::atoms, Atom::coords, BasisInfoStruct::basisFuncList, BasisFuncStruct_::centerCoords, mat::MatrixSymmetric::assignFromFull(), and SCF::MatOptions::permutationHML.
void SCF_unrestricted::get_2e_part_and_energy | ( | ) | [private, virtual] |
Implements SCF_general.
References SCF_general::scfopts, SCF::Options::force_restricted, densityMatrix_alpha, densityMatrix_beta, get_2e_matrices_and_energy_sparse_unrestricted(), SCF_general::basisInfo, SCF_general::basisInfoDensFit, SCF_general::molecule, SCF_general::integralInfo, SCF_general::CAM_params, G_alpha, G_beta, SCF_general::J_K_params, SCF_general::gridParams, SCF::Options::use_dft, SCF_general::energy_2el, SCF_general::noOfElectrons, SCF_general::densfit_data, SCF_general::matOpts, SCF::MatOptions::size_block_info, SCF::MatOptions::permutationHML, SCF::MatOptions::inversePermutationHML, do_output(), LOG_CAT_ERROR, LOG_AREA_SCF, SCF_general::H_core_Matrix, FockMatrix_alpha, mat::MatrixSymmetric::frob_thresh(), SCF::MatOptions::sparse_threshold, printMat(), BasisInfoStruct::noOfBasisFuncs, FockMatrix_beta, get_2e_matrices_and_energy_restricted_open(), mat::MatrixBase::resetSizesAndBlocks(), SCF_general::get_overlap_matrix(), and mat::transpose().
void SCF_unrestricted::get_error_measure | ( | ) | [private, virtual] |
Implements SCF_general.
References compute_maxabs_sparse(), ErrorMatrix_alpha, ErrorMatrix_beta, mat::MatrixGeneral::frob(), do_output(), LOG_CAT_INFO, LOG_AREA_SCF, and SCF_general::errorMeasure.
void SCF_unrestricted::get_FDSminusSDF | ( | ) | [private, virtual] |
Implements SCF_general.
References SCF_general::basisInfo, BasisInfoStruct::noOfBasisFuncs, do_output(), LOG_CAT_INFO, LOG_AREA_SCF, densityMatrix_alpha, SCF_general::S_symm, FockMatrix_alpha, compute_FDSminusSDF_sparse(), ErrorMatrix_alpha, SCF_general::matOpts, SCF::MatOptions::sparse_threshold, densityMatrix_beta, FockMatrix_beta, ErrorMatrix_beta, and output_sparsity().
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 | ( | ) | [private, virtual] |
Implements SCF_general.
References SCF_general::basisInfo, BasisInfoStruct::noOfBasisFuncs, do_output(), LOG_CAT_INFO, LOG_AREA_SCF, noOfElectrons_alpha, noOfElectrons_beta, get_dens_from_fock_general(), SCF_general::scfopts, SCF::Options::use_diagonalization, SCF::Options::use_diag_on_error, SCF::Options::electronic_temperature, densityMatrix_alpha, FockMatrix_alpha, homoInterval_Fprev_alpha, lumoInterval_Fprev_alpha, SCF_general::S_symm, SCF_general::invCholFactor, SCF_general::invCholFactor_euclnorm, SCF::Options::gap_expected_lower_bound, SCF_general::matOpts, SCF::MatOptions::size_block_info, F_ort_prev_alpha, homoInterval_F_ort_prev_alpha, lumoInterval_F_ort_prev_alpha, SCF::Options::purification_eigvalue_err_limit, SCF::Options::purification_subspace_err_limit, SCF::Options::purification_truncation_norm, SCF::Options::purification_maxmul, SCF::Options::purification_create_m_files, SCF::Options::purification_ignore_failure, SCF::Options::purification_use_rand_perturbation_for_alleigsint, SCF::Options::do_sparsity_investigation, SCF::Options::sparsity_plots_resolution_m, SCF::Options::do_comparison_to_simple_purification, densityMatrix_beta, FockMatrix_beta, homoInterval_Fprev_beta, lumoInterval_Fprev_beta, F_ort_prev_beta, homoInterval_F_ort_prev_beta, lumoInterval_F_ort_prev_beta, mat::MatrixSymmetric::trace_ab(), mat::MatrixBase::clear(), compute_maxabs_sparse(), and get_S2().
void SCF_unrestricted::get_no_of_electrons | ( | int & | noOfElectrons_a, |
int & | noOfElectrons_b | ||
) |
References noOfElectrons_alpha, and noOfElectrons_beta.
Referenced by es_run().
References noOfElectrons_alpha, noOfElectrons_beta, SCF_general::S_symm, densityMatrix_alpha, densityMatrix_beta, mat::MatrixBase::resetSizesAndBlocks(), SCF_general::matOpts, SCF::MatOptions::size_block_info, mat::MatrixGeneral::trace_ab(), do_output(), LOG_CAT_ERROR, and LOG_AREA_SCF.
Referenced by get_new_density_matrix(), and report_final_results().
void SCF_unrestricted::get_starting_guess_density | ( | ) | [private, virtual] |
Implements SCF_general.
References SCF_general::basisInfo, BasisInfoStruct::noOfBasisFuncs, SCF_general::guessDmatFileName, do_output(), LOG_CAT_INFO, LOG_AREA_SCF, densityMatrix_alpha, densityMatrix_beta, noOfElectrons_alpha, SCF_general::scfopts, SCF::Options::starting_guess_spin_diff, noOfElectrons_beta, load_density_and_project_sparse(), SCF_general::integralInfo, SCF_general::S_symm, SCF_general::matOpts, SCF::MatOptions::size_block_info, SCF::MatOptions::permutationHML, SCF::MatOptions::sparse_threshold, SCF_general::invCholFactor, SCF_general::invCholFactor_euclnorm, SCF::Options::gap_expected_lower_bound, SCF::Options::purification_eigvalue_err_limit, SCF::Options::puri_eig_acc_factor_for_guess, SCF::Options::purification_subspace_err_limit, SCF::Options::purification_truncation_norm, SCF::Options::purification_maxmul, SCF::Options::purification_create_m_files, SCF::Options::use_diagonalization, SCF::Options::use_diag_on_error_guess, SCF::Options::purification_ignore_failure, SCF::Options::purification_use_rand_perturbation_for_alleigsint, SCF::Options::electronic_temperature, LOG_CAT_ERROR, SCF::Options::use_simple_starting_guess, get_simple_starting_guess_sparse(), SCF::Options::use_diag_guess_from_file, get_diag_matrix_from_file(), mat::MatrixBase::resetSizesAndBlocks(), get_dens_from_fock_general(), SCF_general::H_core_Matrix, SCF::Options::do_sparsity_investigation, SCF::Options::sparsity_plots_resolution_m, SCF::Options::do_comparison_to_simple_purification, and output_sparsity_symm().
void SCF_unrestricted::initialize_homo_lumo_limits | ( | ) | [private, virtual] |
void SCF_unrestricted::initialize_matrices | ( | ) | [private, virtual] |
Implements SCF_general.
References densityMatrix_alpha, mat::MatrixBase::resetSizesAndBlocks(), SCF_general::matOpts, SCF::MatOptions::size_block_info, densityMatrix_beta, FockMatrix_alpha, FockMatrix_beta, Fprev_alpha, Fprev_beta, Dprev_alpha, Dprev_beta, F_ort_prev_alpha, F_ort_prev_beta, bestFockMatrixSoFar_alpha, bestFockMatrixSoFar_beta, bestFockMatrixSoFar2_alpha, bestFockMatrixSoFar2_beta, ErrorMatrix_alpha, ErrorMatrix_beta, G_alpha, and G_beta.
void SCF_unrestricted::output_csr_matrices_for_gao | ( | ) | [private, virtual] |
Implements SCF_general.
void SCF_unrestricted::output_density_images | ( | ) | [private, virtual] |
Implements SCF_general.
References SCF_general::basisInfo, BasisInfoStruct::noOfBasisFuncs, densityMatrix_alpha, mat::MatrixSymmetric::fullMatrix(), SCF_general::matOpts, SCF::MatOptions::inversePermutationHML, densityMatrix_beta, get_no_of_primitives_for_density(), get_density(), do_output(), LOG_CAT_ERROR, LOG_AREA_SCF, SCF_general::molecule, Molecule::noOfAtoms, Molecule::atoms, Atom::coords, SCF_general::scfopts, SCF::Options::output_density_images_boxwidth, LOG_CAT_INFO, SCF::Options::image_view_axis, and integrate_density_in_box_2().
void SCF_unrestricted::output_sparsity_S_F_D | ( | SCF_statistics & | stats | ) | [private, virtual] |
void SCF_unrestricted::report_density_difference | ( | ) | [private, virtual] |
Implements SCF_general.
References densityMatrix_alpha, Dprev_alpha, SCF_general::GetEuclideanNormOfMatrix(), densityMatrix_beta, Dprev_beta, do_output(), LOG_CAT_INFO, and LOG_AREA_SCF.
void SCF_unrestricted::report_final_results | ( | ) | [private, virtual] |
Implements SCF_general.
References get_S2(), do_output(), LOG_CAT_RESULTS, and LOG_AREA_SCF.
void SCF_unrestricted::save_current_fock_as_fprev | ( | ) | [private, virtual] |
Implements SCF_general.
References FockMatrix_alpha, Fprev_alpha, FockMatrix_beta, and Fprev_beta.
void SCF_unrestricted::save_density_as_prevdens | ( | ) | [private, virtual] |
Implements SCF_general.
References densityMatrix_alpha, Dprev_alpha, densityMatrix_beta, and Dprev_beta.
void SCF_unrestricted::save_final_potential | ( | ) | [private, virtual] |
Implements SCF_general.
References do_output(), LOG_CAT_ERROR, and LOG_AREA_SCF.
void SCF_unrestricted::save_full_matrices_for_matlab | ( | ) | [private, virtual] |
Implements SCF_general.
void SCF_unrestricted::update_best_fock_so_far | ( | ) | [private, virtual] |
Implements SCF_general.
References Fprev_alpha, bestFockMatrixSoFar_alpha, FockMatrix_alpha, bestFockMatrixSoFar2_alpha, Fprev_beta, bestFockMatrixSoFar_beta, FockMatrix_beta, and bestFockMatrixSoFar2_beta.
void SCF_unrestricted::update_subspace_diff | ( | ) | [private, virtual] |
Implements SCF_general.
void SCF_unrestricted::use_diis_to_get_new_fock_matrix | ( | ) | [private, virtual] |
void SCF_unrestricted::write_density_to_file | ( | ) | [private, virtual] |
Implements SCF_general.
References densityMatrix_alpha, mat::MatrixSymmetric::nvalues(), mat::MatrixSymmetric::get_all_values(), SCF_general::matOpts, SCF::MatOptions::inversePermutationHML, matrix_description_struct::nvalues, matrix_description_struct::rowind, matrix_description_struct::colind, matrix_description_struct::values, densityMatrix_beta, ddf_writeShellListAndDensityMatricesToFile_sparse(), SCF_general::basisInfo, do_output(), LOG_CAT_ERROR, and LOG_AREA_SCF.
void SCF_unrestricted::write_diag_dens_to_file | ( | ) | [private, virtual] |
void SCF_unrestricted::write_matrices_to_file | ( | ) | [private, virtual] |
int SCF_unrestricted::alpha_beta_diff [private] |
Referenced by SCF_unrestricted().
Referenced by initialize_matrices(), write_matrices_to_file(), update_best_fock_so_far(), and combine_old_fock_matrices().
Referenced by initialize_matrices(), write_matrices_to_file(), update_best_fock_so_far(), and combine_old_fock_matrices().
Referenced by initialize_matrices(), write_matrices_to_file(), update_best_fock_so_far(), and combine_old_fock_matrices().
Referenced by initialize_matrices(), write_matrices_to_file(), update_best_fock_so_far(), and combine_old_fock_matrices().
Referenced by initialize_matrices(), get_starting_guess_density(), add_random_disturbance_to_starting_guess(), get_2e_part_and_energy(), output_sparsity_S_F_D(), calculate_energy(), get_FDSminusSDF(), get_new_density_matrix(), write_density_to_file(), output_density_images(), do_spin_flip(), write_diag_dens_to_file(), get_S2(), save_density_as_prevdens(), report_density_difference(), compute_dipole_moment(), do_mulliken_pop_stuff(), and create_mtx_files_D().
Referenced by initialize_matrices(), get_starting_guess_density(), add_random_disturbance_to_starting_guess(), get_2e_part_and_energy(), output_sparsity_S_F_D(), calculate_energy(), get_FDSminusSDF(), get_new_density_matrix(), write_density_to_file(), output_density_images(), do_spin_flip(), write_diag_dens_to_file(), get_S2(), save_density_as_prevdens(), report_density_difference(), compute_dipole_moment(), do_mulliken_pop_stuff(), and create_mtx_files_D().
symmMatrix SCF_unrestricted::Dprev_alpha [private] |
Referenced by initialize_matrices(), write_matrices_to_file(), save_density_as_prevdens(), and report_density_difference().
symmMatrix SCF_unrestricted::Dprev_beta [private] |
Referenced by initialize_matrices(), write_matrices_to_file(), save_density_as_prevdens(), and report_density_difference().
Referenced by initialize_matrices(), get_FDSminusSDF(), get_error_measure(), add_to_DIIS_list(), and clear_error_matrices().
Referenced by initialize_matrices(), get_FDSminusSDF(), get_error_measure(), add_to_DIIS_list(), and clear_error_matrices().
symmMatrix SCF_unrestricted::F_ort_prev_alpha [private] |
Referenced by initialize_matrices(), write_matrices_to_file(), and get_new_density_matrix().
symmMatrix SCF_unrestricted::F_ort_prev_beta [private] |
Referenced by initialize_matrices(), write_matrices_to_file(), and get_new_density_matrix().
symmMatrix SCF_unrestricted::FockMatrix_alpha [private] |
Referenced by get_Fock_matrices(), initialize_matrices(), write_matrices_to_file(), get_2e_part_and_energy(), output_sparsity_S_F_D(), get_FDSminusSDF(), add_to_DIIS_list(), update_best_fock_so_far(), combine_old_fock_matrices(), use_diis_to_get_new_fock_matrix(), save_current_fock_as_fprev(), get_new_density_matrix(), and create_mtx_files_F().
symmMatrix SCF_unrestricted::FockMatrix_beta [private] |
Referenced by get_Fock_matrices(), initialize_matrices(), write_matrices_to_file(), get_2e_part_and_energy(), output_sparsity_S_F_D(), get_FDSminusSDF(), add_to_DIIS_list(), update_best_fock_so_far(), combine_old_fock_matrices(), use_diis_to_get_new_fock_matrix(), save_current_fock_as_fprev(), get_new_density_matrix(), and create_mtx_files_F().
symmMatrix SCF_unrestricted::Fprev_alpha [private] |
Referenced by initialize_matrices(), write_matrices_to_file(), update_best_fock_so_far(), and save_current_fock_as_fprev().
symmMatrix SCF_unrestricted::Fprev_beta [private] |
Referenced by initialize_matrices(), write_matrices_to_file(), update_best_fock_so_far(), and save_current_fock_as_fprev().
symmMatrix SCF_unrestricted::G_alpha [private] |
Referenced by initialize_matrices(), and get_2e_part_and_energy().
symmMatrix SCF_unrestricted::G_beta [private] |
Referenced by initialize_matrices(), and get_2e_part_and_energy().
Referenced by initialize_homo_lumo_limits(), and get_new_density_matrix().
Referenced by initialize_homo_lumo_limits(), and get_new_density_matrix().
Referenced by initialize_homo_lumo_limits(), and get_new_density_matrix().
Referenced by initialize_homo_lumo_limits(), and get_new_density_matrix().
Referenced by initialize_homo_lumo_limits(), and get_new_density_matrix().
Referenced by initialize_homo_lumo_limits(), and get_new_density_matrix().
Referenced by initialize_homo_lumo_limits(), and get_new_density_matrix().
Referenced by initialize_homo_lumo_limits(), and get_new_density_matrix().
int SCF_unrestricted::noOfElectrons_alpha [private] |
Referenced by SCF_unrestricted(), get_no_of_electrons(), get_starting_guess_density(), get_new_density_matrix(), and get_S2().
int SCF_unrestricted::noOfElectrons_beta [private] |
Referenced by SCF_unrestricted(), get_no_of_electrons(), get_starting_guess_density(), get_new_density_matrix(), and get_S2().