#include <SCF_unrestricted.h>
|
| 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::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 ) |
References alpha_beta_diff, SCF_general::DensFromFock, determine_number_of_electrons_unrestricted(), SCF_general::DIIS, do_output(), LOG_AREA_SCF, LOG_CAT_ERROR, SCF_general::matOpts, SCF_general::noOfElectrons, noOfElectrons_alpha, noOfElectrons_beta, SCF_general::SCF_general(), and SCF_general::scfopts.
◆ ~SCF_unrestricted()
SCF_unrestricted::~SCF_unrestricted |
( |
| ) |
|
◆ add_random_disturbance_to_starting_guess()
void SCF_unrestricted::add_random_disturbance_to_starting_guess |
( |
| ) |
|
|
privatevirtual |
◆ add_to_DIIS_list()
void SCF_unrestricted::add_to_DIIS_list |
( |
| ) |
|
|
privatevirtual |
◆ calculate_energy()
void SCF_unrestricted::calculate_energy |
( |
| ) |
|
|
privatevirtual |
◆ check_params()
void SCF_unrestricted::check_params |
( |
| ) |
|
|
privatevirtual |
◆ clear_diis_list()
void SCF_unrestricted::clear_diis_list |
( |
| ) |
|
|
privatevirtual |
◆ clear_error_matrices()
void SCF_unrestricted::clear_error_matrices |
( |
| ) |
|
|
privatevirtual |
◆ combine_old_fock_matrices()
void SCF_unrestricted::combine_old_fock_matrices |
( |
ergo_real | stepLength | ) |
|
|
privatevirtual |
◆ compute_dipole_moment()
void SCF_unrestricted::compute_dipole_moment |
( |
| ) |
|
|
privatevirtual |
◆ compute_gradient_fixeddens()
void SCF_unrestricted::compute_gradient_fixeddens |
( |
| ) |
|
|
privatevirtual |
◆ create_eigenvalues_files()
void SCF_unrestricted::create_eigenvalues_files |
( |
| ) |
const |
|
private |
◆ create_eigenvectors_files()
void SCF_unrestricted::create_eigenvectors_files |
( |
| ) |
const |
|
privatevirtual |
◆ create_eigvec_file()
void SCF_unrestricted::create_eigvec_file |
( |
const generalVector & | eigVec_alpha, |
|
|
const generalVector & | eigVec_beta, |
|
|
const char * | vector_name, |
|
|
const char * | filename_id ) const |
|
private |
◆ create_gabedit_file()
void SCF_unrestricted::create_gabedit_file |
( |
| ) |
const |
|
privatevirtual |
Implements SCF_general.
References SCF_general::basisInfo, do_output(), eigValOCC_alpha, eigValOCC_beta, eigValUNOCC_alpha, eigValUNOCC_beta, eigVecOCC_alpha, eigVecOCC_beta, eigVecUNOCC_alpha, eigVecUNOCC_beta, get_atom_label_from_charge_int(), SquareFuncIntegrator::getShellFactor(), SCF_general::integralInfo, LOG_AREA_SCF, LOG_CAT_INFO, LOG_CAT_WARNING, SCF_general::matOpts, SCF_general::molecule, output_orbital_coeffs_in_gabedit_order(), template_blas_fabs(), and UNIT_one_Angstrom.
◆ create_mtx_files_D()
void SCF_unrestricted::create_mtx_files_D |
( |
int const | scfIter | ) |
|
|
privatevirtual |
◆ create_mtx_files_F()
void SCF_unrestricted::create_mtx_files_F |
( |
int const | scfIter | ) |
|
|
privatevirtual |
◆ disturb_dens_matrix()
void SCF_unrestricted::disturb_dens_matrix |
( |
ergo_real | subspaceError | ) |
|
|
privatevirtual |
◆ disturb_dens_matrix_exact()
void SCF_unrestricted::disturb_dens_matrix_exact |
( |
ergo_real | subspaceError | ) |
|
|
privatevirtual |
◆ disturb_fock_matrix()
void SCF_unrestricted::disturb_fock_matrix |
( |
ergo_real | subspaceError | ) |
|
|
privatevirtual |
◆ do_mulliken_pop_stuff()
void SCF_unrestricted::do_mulliken_pop_stuff |
( |
| ) |
|
|
privatevirtual |
Implements SCF_general.
References SCF_general::basisInfo, densityMatrix_alpha, densityMatrix_beta, do_mulliken_atomic_charges(), do_mulliken_spin_densities(), do_output(), LOG_AREA_SCF, LOG_CAT_INFO, SCF_general::matOpts, SCF_general::molecule, and SCF_general::S_symm.
◆ do_spin_flip()
void SCF_unrestricted::do_spin_flip |
( |
int | atomCount | ) |
|
|
privatevirtual |
Implements SCF_general.
References SCF_general::basisInfo, densityMatrix_alpha, densityMatrix_beta, do_output(), LOG_AREA_SCF, LOG_CAT_INFO, SCF_general::matOpts, SCF_general::molecule, SCF_general::S_symm, template_blas_fabs(), and mat::MatrixSymmetric< real, matri >::trace_ab().
◆ get_2e_part_and_energy()
void SCF_unrestricted::get_2e_part_and_energy |
( |
| ) |
|
|
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, 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_general::J_K_params, LOG_AREA_SCF, LOG_CAT_ERROR, SCF_general::matOpts, SCF_general::molecule, SCF_general::noOfElectrons, printMat(), mat::MatrixBase< Treal, Tmatrix >::resetSizesAndBlocks(), and SCF_general::scfopts.
◆ get_error_measure()
void SCF_unrestricted::get_error_measure |
( |
| ) |
|
|
privatevirtual |
◆ get_FDSminusSDF()
void SCF_unrestricted::get_FDSminusSDF |
( |
| ) |
|
|
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, output_sparsity(), and SCF_general::S_symm.
◆ get_Fock_matrices()
◆ get_new_density_matrix()
void SCF_unrestricted::get_new_density_matrix |
( |
| ) |
|
|
privatevirtual |
Implements SCF_general.
References compute_maxabs_sparse(), SCF_general::DensFromFock, densityMatrix_alpha, densityMatrix_beta, do_output(), eigValOCC_alpha, eigValOCC_beta, eigValUNOCC_alpha, eigValUNOCC_beta, eigVecOCC_alpha, eigVecOCC_beta, eigVecUNOCC_alpha, eigVecUNOCC_beta, SCF_general::electronicEntropyTerm, F_ort_prev_alpha, F_ort_prev_beta, FockMatrix_alpha, FockMatrix_beta, get_S2(), homoInterval_F_ort_prev_alpha, homoInterval_F_ort_prev_beta, homoInterval_Fprev_alpha, homoInterval_Fprev_beta, LOG_AREA_SCF, LOG_CAT_INFO, lumoInterval_F_ort_prev_alpha, lumoInterval_F_ort_prev_beta, lumoInterval_Fprev_alpha, lumoInterval_Fprev_beta, noOfElectrons_alpha, noOfElectrons_beta, SCF_general::S_symm, SCF_general::SCF_step, SCF_general::scfopts, and mat::MatrixSymmetric< real, matri >::trace_ab().
◆ get_no_of_electrons()
void SCF_unrestricted::get_no_of_electrons |
( |
int & | noOfElectrons_a, |
|
|
int & | noOfElectrons_b ) |
◆ get_S2()
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 mat::MatrixGeneral< real, matri >::trace_ab().
Referenced by get_new_density_matrix(), and report_final_results().
◆ get_starting_guess_density()
void SCF_unrestricted::get_starting_guess_density |
( |
| ) |
|
|
privatevirtual |
Implements SCF_general.
References SCF_general::basisInfo, SCF_general::DensFromFock, densityMatrix_alpha, densityMatrix_beta, do_output(), get_diag_matrix_from_file(), get_simple_starting_guess_sparse(), 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, noOfElectrons_alpha, noOfElectrons_beta, output_sparsity_symm(), SCF_general::S_symm, SCF_general::SCF_step, and SCF_general::scfopts.
◆ initialize_homo_lumo_limits()
void SCF_unrestricted::initialize_homo_lumo_limits |
( |
| ) |
|
|
privatevirtual |
◆ initialize_matrices()
void SCF_unrestricted::initialize_matrices |
( |
| ) |
|
|
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, and SCF_general::matOpts.
◆ output_density_images()
void SCF_unrestricted::output_density_images |
( |
| ) |
|
|
privatevirtual |
Implements SCF_general.
References SCF_general::basisInfo, densityMatrix_alpha, densityMatrix_beta, do_density_images(), do_output(), LOG_AREA_SCF, LOG_CAT_INFO, SCF_general::matOpts, SCF_general::molecule, Util::TimeMeter::print(), and SCF_general::scfopts.
◆ output_density_images_orbital()
void SCF_unrestricted::output_density_images_orbital |
( |
generalVector & | eigVec, |
|
|
const std::string & | filename_id ) |
|
private |
◆ output_expected_values_pos_operator()
void SCF_unrestricted::output_expected_values_pos_operator |
( |
| ) |
|
|
privatevirtual |
◆ output_sparsity_S_F_D()
void SCF_unrestricted::output_sparsity_S_F_D |
( |
SCF_statistics & | stats | ) |
|
|
privatevirtual |
◆ report_density_difference()
void SCF_unrestricted::report_density_difference |
( |
| ) |
|
|
privatevirtual |
◆ report_final_results()
void SCF_unrestricted::report_final_results |
( |
| ) |
|
|
privatevirtual |
◆ save_current_fock_as_fprev()
void SCF_unrestricted::save_current_fock_as_fprev |
( |
| ) |
|
|
privatevirtual |
◆ save_density_as_prevdens()
void SCF_unrestricted::save_density_as_prevdens |
( |
| ) |
|
|
privatevirtual |
◆ save_final_potential()
void SCF_unrestricted::save_final_potential |
( |
| ) |
|
|
privatevirtual |
◆ save_full_matrices_for_matlab()
void SCF_unrestricted::save_full_matrices_for_matlab |
( |
| ) |
|
|
privatevirtual |
◆ update_best_fock_so_far()
void SCF_unrestricted::update_best_fock_so_far |
( |
| ) |
|
|
privatevirtual |
◆ update_subspace_diff()
void SCF_unrestricted::update_subspace_diff |
( |
| ) |
|
|
privatevirtual |
◆ use_diis_to_get_new_fock_matrix()
void SCF_unrestricted::use_diis_to_get_new_fock_matrix |
( |
| ) |
|
|
privatevirtual |
◆ write_density_to_file()
void SCF_unrestricted::write_density_to_file |
( |
| ) |
|
|
privatevirtual |
◆ write_diag_dens_to_file()
void SCF_unrestricted::write_diag_dens_to_file |
( |
| ) |
|
|
privatevirtual |
◆ write_matrices_to_file()
void SCF_unrestricted::write_matrices_to_file |
( |
| ) |
|
|
privatevirtual |
Implements SCF_general.
References bestFockMatrixSoFar2_alpha, bestFockMatrixSoFar2_beta, bestFockMatrixSoFar_alpha, bestFockMatrixSoFar_beta, Dprev_alpha, Dprev_beta, F_ort_prev_alpha, F_ort_prev_beta, FockMatrix_alpha, FockMatrix_beta, Fprev_alpha, and Fprev_beta.
◆ alpha_beta_diff
int SCF_unrestricted::alpha_beta_diff |
|
private |
◆ bestFockMatrixSoFar2_alpha
symmMatrix SCF_unrestricted::bestFockMatrixSoFar2_alpha |
|
private |
◆ bestFockMatrixSoFar2_beta
symmMatrix SCF_unrestricted::bestFockMatrixSoFar2_beta |
|
private |
◆ bestFockMatrixSoFar_alpha
symmMatrix SCF_unrestricted::bestFockMatrixSoFar_alpha |
|
private |
◆ bestFockMatrixSoFar_beta
symmMatrix SCF_unrestricted::bestFockMatrixSoFar_beta |
|
private |
◆ D_ort_prev_alpha
◆ D_ort_prev_beta
◆ densityMatrix_alpha
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().
◆ densityMatrix_beta
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().
◆ Dprev_alpha
◆ Dprev_beta
◆ eigValOCC_alpha
std::vector<ergo_real> SCF_unrestricted::eigValOCC_alpha |
|
private |
◆ eigValOCC_beta
std::vector<ergo_real> SCF_unrestricted::eigValOCC_beta |
|
private |
◆ eigValUNOCC_alpha
std::vector<ergo_real> SCF_unrestricted::eigValUNOCC_alpha |
|
private |
◆ eigValUNOCC_beta
std::vector<ergo_real> SCF_unrestricted::eigValUNOCC_beta |
|
private |
◆ eigVecOCC_alpha
◆ eigVecOCC_beta
◆ eigVecUNOCC_alpha
◆ eigVecUNOCC_beta
◆ ErrorMatrix_alpha
◆ ErrorMatrix_beta
◆ F_ort_prev_alpha
◆ F_ort_prev_beta
◆ FockMatrix_alpha
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().
◆ FockMatrix_beta
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().
◆ Fprev_alpha
◆ Fprev_beta
◆ G_alpha
◆ G_beta
◆ homoInterval_F_ort_prev_alpha
intervalType SCF_unrestricted::homoInterval_F_ort_prev_alpha |
|
private |
◆ homoInterval_F_ort_prev_beta
◆ homoInterval_Fprev_alpha
◆ homoInterval_Fprev_beta
◆ lumoInterval_F_ort_prev_alpha
intervalType SCF_unrestricted::lumoInterval_F_ort_prev_alpha |
|
private |
◆ lumoInterval_F_ort_prev_beta
◆ lumoInterval_Fprev_alpha
◆ lumoInterval_Fprev_beta
◆ noOfElectrons_alpha
int SCF_unrestricted::noOfElectrons_alpha |
|
private |
◆ noOfElectrons_beta
int SCF_unrestricted::noOfElectrons_beta |
|
private |
The documentation for this class was generated from the following files: