ergo
|
#include <SCF_unrestricted.h>
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) |
![]() | |
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) |
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.
|
privatevirtual |
Implements SCF_general.
References add_disturbance_to_matrix(), SCF_general::basisInfo, densityMatrix_alpha, densityMatrix_beta, SCF::DISTURB_ELEMENT_MAX_COUNT, SCF::Options::disturbedElementIndexVector, do_output(), LOG_AREA_SCF, LOG_CAT_INFO, SCF_general::matOpts, BasisInfoStruct::noOfBasisFuncs, SCF::MatOptions::permutationHML, SCF_general::scfopts, SCF::Options::sg_disturb_specific_elements, and SCF::Options::starting_guess_disturbance.
|
privatevirtual |
Implements SCF_general.
References SCF_general::DIIS, do_output(), ErrorMatrix_alpha, ErrorMatrix_beta, FockMatrix_alpha, FockMatrix_beta, LOG_AREA_SCF, and LOG_CAT_ERROR.
|
privatevirtual |
Implements SCF_general.
References densityMatrix_alpha, densityMatrix_beta, SCF_general::energy, SCF_general::energy_2el, SCF_general::H_core_Matrix, and SCF_general::nuclearEnergy.
|
privatevirtual |
Implements SCF_general.
|
privatevirtual |
Implements SCF_general.
References SCF_general::DIIS.
|
privatevirtual |
Implements SCF_general.
References mat::MatrixBase< Treal, Tmatrix >::clear(), ErrorMatrix_alpha, and ErrorMatrix_beta.
|
privatevirtual |
Implements SCF_general.
References bestFockMatrixSoFar2_alpha, bestFockMatrixSoFar2_beta, bestFockMatrixSoFar_alpha, bestFockMatrixSoFar_beta, FockMatrix_alpha, and FockMatrix_beta.
|
privatevirtual |
|
privatevirtual |
Implements SCF_general.
|
privatevirtual |
Implements SCF_general.
References create_eigvec_file(), eigVecHOMO_alpha, eigVecHOMO_beta, eigVecLUMO_alpha, and eigVecLUMO_beta.
|
private |
References SCF_general::basisInfo, do_output(), mat::VectorGeneral< Treal, Tvector >::fullvector(), SCF::MatOptions::inversePermutationHML, mat::VectorGeneral< Treal, Tvector >::is_empty(), LOG_AREA_SCF, LOG_CAT_INFO, LOG_CAT_WARNING, SCF_general::matOpts, and BasisInfoStruct::noOfBasisFuncs.
Referenced by create_eigenvectors_files().
|
privatevirtual |
Implements SCF_general.
References SCF_general::basisInfo, ShellSpecStruct::centerCoords, Atom::charge, ShellSpecStruct::coeffList, Atom::coords, do_output(), eigVecHOMO_alpha, eigVecHOMO_beta, eigVecLUMO_alpha, eigVecLUMO_beta, ShellSpecStruct::exponentList, mat::VectorGeneral< Treal, Tvector >::fullvector(), get_atom_label_from_charge_int(), Molecule::getAtom(), Molecule::getNoOfAtoms(), SquareFuncIntegrator::getShellFactor(), SCF_general::integralInfo, mat::VectorGeneral< Treal, Tvector >::is_empty(), LOG_AREA_SCF, LOG_CAT_INFO, LOG_CAT_WARNING, SCF_general::matOpts, SCF_general::molecule, BasisInfoStruct::noOfBasisFuncs, ShellSpecStruct::noOfContr, BasisInfoStruct::noOfShells, output_orbital_coeffs_in_gabedit_order(), SCF::MatOptions::permutationHML, BasisInfoStruct::shellList, ShellSpecStruct::shellType, template_blas_fabs(), UNIT_one_Angstrom, and BasisInfoStruct::use_6_d_funcs.
|
private |
|
privatevirtual |
Implements SCF_general.
References SCF::Options::calculation_identifier, densityMatrix_alpha, densityMatrix_beta, do_output(), SCF::MatOptions::inversePermutationHML, LOG_AREA_SCF, LOG_CAT_INFO, SCF_general::matOpts, SCF::Options::method_and_basis_set, SCF_general::scfopts, and write_matrix_in_matrix_market_format().
|
privatevirtual |
Implements SCF_general.
References SCF::Options::calculation_identifier, do_output(), FockMatrix_alpha, FockMatrix_beta, SCF::MatOptions::inversePermutationHML, LOG_AREA_SCF, LOG_CAT_INFO, SCF_general::matOpts, SCF::Options::method_and_basis_set, SCF_general::scfopts, and write_matrix_in_matrix_market_format().
|
privatevirtual |
Implements SCF_general.
|
privatevirtual |
Implements SCF_general.
|
privatevirtual |
Implements SCF_general.
|
privatevirtual |
Implements SCF_general.
References SCF_general::basisInfo, densityMatrix_alpha, densityMatrix_beta, do_mulliken_atomic_charges(), do_mulliken_spin_densities(), do_output(), SCF::MatOptions::inversePermutationHML, LOG_AREA_SCF, LOG_CAT_INFO, SCF_general::matOpts, SCF_general::molecule, SCF::MatOptions::permutationHML, SCF_general::S_symm, and SCF::MatOptions::size_block_info.
|
privatevirtual |
Implements SCF_general.
References BasisInfoStruct::basisFuncList, SCF_general::basisInfo, BasisFuncStruct::centerCoords, Atom::coords, densityMatrix_alpha, densityMatrix_beta, do_output(), Molecule::getAtom(), Molecule::getNoOfAtoms(), SCF::MatOptions::inversePermutationHML, LOG_AREA_SCF, LOG_CAT_INFO, SCF_general::matOpts, SCF_general::molecule, BasisInfoStruct::noOfBasisFuncs, SCF::MatOptions::permutationHML, SCF_general::S_symm, and template_blas_fabs().
|
privatevirtual |
Implements SCF_general.
References SCF_general::basisInfo, SCF_general::CAM_params, densityMatrix_alpha, densityMatrix_beta, do_output(), SCF_general::energy_2el, FockMatrix_alpha, FockMatrix_beta, SCF::Options::force_restricted, G_alpha, G_beta, get_2e_matrices_and_energy_restricted_open(), get_2e_matrices_and_energy_sparse_unrestricted(), SCF_general::get_overlap_matrix(), SCF_general::gridParams, SCF_general::H_core_Matrix, SCF_general::integralInfo, SCF::MatOptions::inversePermutationHML, SCF_general::J_K_params, LOG_AREA_SCF, LOG_CAT_ERROR, SCF_general::matOpts, SCF_general::molecule, BasisInfoStruct::noOfBasisFuncs, SCF_general::noOfElectrons, SCF::MatOptions::permutationHML, printMat(), mat::MatrixBase< Treal, Tmatrix >::resetSizesAndBlocks(), SCF_general::scfopts, SCF::MatOptions::size_block_info, SCF::MatOptions::sparse_threshold, mat::transpose(), and SCF::Options::use_dft.
|
privatevirtual |
Implements SCF_general.
References compute_maxabs_sparse(), do_output(), ErrorMatrix_alpha, ErrorMatrix_beta, SCF_general::errorMeasure, mat::MatrixGeneral< Treal, Tmatrix >::frob(), LOG_AREA_SCF, and LOG_CAT_INFO.
|
privatevirtual |
Implements SCF_general.
References SCF_general::basisInfo, compute_FDSminusSDF_sparse(), densityMatrix_alpha, densityMatrix_beta, do_output(), ErrorMatrix_alpha, ErrorMatrix_beta, FockMatrix_alpha, FockMatrix_beta, LOG_AREA_SCF, LOG_CAT_INFO, SCF_general::matOpts, BasisInfoStruct::noOfBasisFuncs, output_sparsity(), mat::FileWritable::readFromFile(), SCF_general::S_symm, SCF::MatOptions::sparse_threshold, and mat::FileWritable::writeToFile().
void SCF_unrestricted::get_Fock_matrices | ( | symmMatrix & | FockMatrix_a, |
symmMatrix & | FockMatrix_b | ||
) |
References FockMatrix_alpha, and FockMatrix_beta.
|
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.
References densityMatrix_alpha, densityMatrix_beta, do_output(), LOG_AREA_SCF, LOG_CAT_ERROR, SCF_general::matOpts, noOfElectrons_alpha, noOfElectrons_beta, mat::MatrixBase< Treal, Tmatrix >::resetSizesAndBlocks(), SCF_general::S_symm, and SCF::MatOptions::size_block_info.
Referenced by get_new_density_matrix(), and report_final_results().
|
privatevirtual |
Implements SCF_general.
References SCF_general::basisInfo, GetDensFromFock::clean_eigs_intervals(), SCF_general::DensFromFock, densityMatrix_alpha, densityMatrix_beta, do_output(), GetDensFromFock::get_dens_from_fock(), get_diag_matrix_from_file(), get_simple_starting_guess_sparse(), GetDensFromFock::get_use_diag_on_error(), GetDensFromFock::get_use_diag_on_error_guess(), SCF_general::guessDmatFileName, SCF_general::H_core_Matrix, SCF_general::integralInfo, load_density_and_project_sparse(), LOG_AREA_SCF, LOG_CAT_ERROR, LOG_CAT_INFO, SCF_general::matOpts, BasisInfoStruct::noOfBasisFuncs, noOfElectrons_alpha, noOfElectrons_beta, output_sparsity_symm(), SCF::MatOptions::permutationHML, SCF_general::S_symm, SCF_general::SCF_step, SCF_general::scfopts, GetDensFromFock::set_no_occupied_orbs(), GetDensFromFock::set_SCF_step(), GetDensFromFock::set_use_diag_on_error(), SCF::MatOptions::size_block_info, SCF::MatOptions::sparse_threshold, SCF::Options::starting_guess_spin_diff, GetDensFromFock::unset_use_diag_on_error(), SCF::Options::use_diag_guess_from_file, and SCF::Options::use_simple_starting_guess.
|
privatevirtual |
|
privatevirtual |
Implements SCF_general.
References bestFockMatrixSoFar2_alpha, bestFockMatrixSoFar2_beta, bestFockMatrixSoFar_alpha, bestFockMatrixSoFar_beta, densityMatrix_alpha, densityMatrix_beta, ErrorMatrix_alpha, ErrorMatrix_beta, F_ort_prev_alpha, F_ort_prev_beta, FockMatrix_alpha, FockMatrix_beta, Fprev_alpha, Fprev_beta, G_alpha, G_beta, SCF_general::matOpts, mat::MatrixBase< Treal, Tmatrix >::resetSizesAndBlocks(), and SCF::MatOptions::size_block_info.
|
privatevirtual |
Implements SCF_general.
References SCF_general::basisInfo, densityMatrix_alpha, densityMatrix_beta, do_density_images(), do_output(), SCF::MatOptions::inversePermutationHML, LOG_AREA_SCF, LOG_CAT_INFO, SCF_general::matOpts, SCF_general::molecule, BasisInfoStruct::noOfBasisFuncs, SCF::Options::output_density_images_boxwidth, Util::TimeMeter::print(), and SCF_general::scfopts.
|
private |
References do_output(), LOG_AREA_SCF, and LOG_CAT_ERROR.
|
privatevirtual |
Implements SCF_general.
References do_output(), LOG_AREA_SCF, and LOG_CAT_ERROR.
|
privatevirtual |
|
privatevirtual |
Implements SCF_general.
References densityMatrix_alpha, densityMatrix_beta, do_output(), Dprev_alpha, Dprev_beta, SCF_general::GetEuclideanNormOfMatrix(), LOG_AREA_SCF, and LOG_CAT_INFO.
|
privatevirtual |
Implements SCF_general.
References do_output(), get_S2(), LOG_AREA_SCF, and LOG_CAT_RESULTS.
|
privatevirtual |
Implements SCF_general.
References FockMatrix_alpha, FockMatrix_beta, Fprev_alpha, and Fprev_beta.
|
privatevirtual |
Implements SCF_general.
References densityMatrix_alpha, densityMatrix_beta, Dprev_alpha, and Dprev_beta.
|
privatevirtual |
Implements SCF_general.
References do_output(), LOG_AREA_SCF, and LOG_CAT_ERROR.
|
privatevirtual |
Implements SCF_general.
|
privatevirtual |
Implements SCF_general.
References bestFockMatrixSoFar2_alpha, bestFockMatrixSoFar2_beta, bestFockMatrixSoFar_alpha, bestFockMatrixSoFar_beta, FockMatrix_alpha, FockMatrix_beta, Fprev_alpha, and Fprev_beta.
|
privatevirtual |
Implements SCF_general.
|
privatevirtual |
Implements SCF_general.
References SCF_general::DIIS, do_output(), FockMatrix_alpha, FockMatrix_beta, LOG_AREA_SCF, LOG_CAT_ERROR, SCF_general::matOpts, and SCF::MatOptions::sparse_threshold.
|
privatevirtual |
|
privatevirtual |
|
privatevirtual |
|
private |
Referenced by SCF_unrestricted().
|
private |
Referenced by combine_old_fock_matrices(), initialize_matrices(), update_best_fock_so_far(), and write_matrices_to_file().
|
private |
Referenced by combine_old_fock_matrices(), initialize_matrices(), update_best_fock_so_far(), and write_matrices_to_file().
|
private |
Referenced by combine_old_fock_matrices(), initialize_matrices(), update_best_fock_so_far(), and write_matrices_to_file().
|
private |
Referenced by combine_old_fock_matrices(), initialize_matrices(), update_best_fock_so_far(), and write_matrices_to_file().
|
private |
|
private |
|
private |
Referenced by add_random_disturbance_to_starting_guess(), calculate_energy(), compute_dipole_moment(), create_mtx_files_D(), do_mulliken_pop_stuff(), do_spin_flip(), get_2e_part_and_energy(), get_FDSminusSDF(), get_new_density_matrix(), get_S2(), get_starting_guess_density(), initialize_matrices(), output_density_images(), output_sparsity_S_F_D(), report_density_difference(), save_density_as_prevdens(), write_density_to_file(), and write_diag_dens_to_file().
|
private |
Referenced by add_random_disturbance_to_starting_guess(), calculate_energy(), compute_dipole_moment(), create_mtx_files_D(), do_mulliken_pop_stuff(), do_spin_flip(), get_2e_part_and_energy(), get_FDSminusSDF(), get_new_density_matrix(), get_S2(), get_starting_guess_density(), initialize_matrices(), output_density_images(), output_sparsity_S_F_D(), report_density_difference(), save_density_as_prevdens(), write_density_to_file(), and write_diag_dens_to_file().
|
private |
Referenced by report_density_difference(), save_density_as_prevdens(), and write_matrices_to_file().
|
private |
Referenced by report_density_difference(), save_density_as_prevdens(), and write_matrices_to_file().
|
private |
Referenced by create_eigenvectors_files(), create_gabedit_file(), and get_new_density_matrix().
|
private |
Referenced by create_eigenvectors_files(), create_gabedit_file(), and get_new_density_matrix().
|
private |
Referenced by create_eigenvectors_files(), create_gabedit_file(), and get_new_density_matrix().
|
private |
Referenced by create_eigenvectors_files(), create_gabedit_file(), and get_new_density_matrix().
|
private |
Referenced by add_to_DIIS_list(), clear_error_matrices(), get_error_measure(), get_FDSminusSDF(), and initialize_matrices().
|
private |
Referenced by add_to_DIIS_list(), clear_error_matrices(), get_error_measure(), get_FDSminusSDF(), and initialize_matrices().
|
private |
Referenced by get_new_density_matrix(), initialize_matrices(), and write_matrices_to_file().
|
private |
Referenced by get_new_density_matrix(), initialize_matrices(), and write_matrices_to_file().
|
private |
Referenced by add_to_DIIS_list(), combine_old_fock_matrices(), create_mtx_files_F(), get_2e_part_and_energy(), get_FDSminusSDF(), get_Fock_matrices(), get_new_density_matrix(), initialize_matrices(), output_sparsity_S_F_D(), save_current_fock_as_fprev(), update_best_fock_so_far(), use_diis_to_get_new_fock_matrix(), and write_matrices_to_file().
|
private |
Referenced by add_to_DIIS_list(), combine_old_fock_matrices(), create_mtx_files_F(), get_2e_part_and_energy(), get_FDSminusSDF(), get_Fock_matrices(), get_new_density_matrix(), initialize_matrices(), output_sparsity_S_F_D(), save_current_fock_as_fprev(), update_best_fock_so_far(), use_diis_to_get_new_fock_matrix(), and write_matrices_to_file().
|
private |
Referenced by initialize_matrices(), save_current_fock_as_fprev(), update_best_fock_so_far(), and write_matrices_to_file().
|
private |
Referenced by initialize_matrices(), save_current_fock_as_fprev(), update_best_fock_so_far(), and write_matrices_to_file().
|
private |
Referenced by get_2e_part_and_energy(), and initialize_matrices().
|
private |
Referenced by get_2e_part_and_energy(), and initialize_matrices().
|
private |
Referenced by get_new_density_matrix(), and initialize_homo_lumo_limits().
|
private |
Referenced by get_new_density_matrix(), and initialize_homo_lumo_limits().
|
private |
Referenced by get_new_density_matrix(), and initialize_homo_lumo_limits().
|
private |
Referenced by get_new_density_matrix(), and initialize_homo_lumo_limits().
|
private |
Referenced by get_new_density_matrix(), and initialize_homo_lumo_limits().
|
private |
Referenced by get_new_density_matrix(), and initialize_homo_lumo_limits().
|
private |
Referenced by get_new_density_matrix(), and initialize_homo_lumo_limits().
|
private |
Referenced by get_new_density_matrix(), and initialize_homo_lumo_limits().
|
private |
Referenced by get_new_density_matrix(), get_no_of_electrons(), get_S2(), get_starting_guess_density(), and SCF_unrestricted().
|
private |
Referenced by get_new_density_matrix(), get_no_of_electrons(), get_S2(), get_starting_guess_density(), and SCF_unrestricted().