ergo
|
#include <SCF_restricted.h>
Public Member Functions | |
SCF_restricted (const Molecule &molecule_, const Molecule &extraCharges_, const BasisInfoStruct &basisInfo_, 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 () | |
void | get_Fock_matrix (symmMatrix &FockMatrix_) |
void | get_density_matrix (symmMatrix &densityMatrix_) |
![]() | |
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_restricted::SCF_restricted | ( | const Molecule & | molecule_, |
const Molecule & | extraCharges_, | ||
const BasisInfoStruct & | basisInfo_, | ||
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::~SCF_restricted | ( | ) |
References SCF_general::DIIS.
|
privatevirtual |
Implements SCF_general.
References add_disturbance_to_matrix(), SCF_general::basisInfo, densityMatrix, SCF::DISTURB_ELEMENT_MAX_COUNT, SCF_general::matOpts, and SCF_general::scfopts.
|
privatevirtual |
Implements SCF_general.
References SCF_general::DIIS, do_output(), ErrorMatrix, FockMatrix, LOG_AREA_SCF, and LOG_CAT_ERROR.
|
privatevirtual |
Implements SCF_general.
References densityMatrix, densityMatrix_core, SCF_general::energy, SCF_general::energy_2el, SCF_general::energy_2el_core, SCF_general::energy_2el_valence, SCF_general::energy_of_valence, SCF_general::energy_reference, SCF_general::H_core_Matrix, SCF_general::nuclearEnergy, SCF_general::scfopts, mat::MatrixSymmetric< real, matri >::trace_ab(), and twoel_matrix_core.
|
privatevirtual |
Implements SCF_general.
References do_output(), LOG_AREA_SCF, LOG_CAT_ERROR, and SCF_general::noOfElectrons.
|
privatevirtual |
Implements SCF_general.
References SCF_general::DIIS.
|
privatevirtual |
Implements SCF_general.
References ErrorMatrix.
|
privatevirtual |
Implements SCF_general.
References bestFockMatrixSoFar, bestFockMatrixSoFar2, and FockMatrix.
|
privatevirtual |
Implements SCF_general.
References SCF_general::basisInfo, densityMatrix, do_output(), get_dipole_moment(), LOG_AREA_SCF, LOG_CAT_INFO, SCF_general::matOpts, and SCF_general::molecule.
|
privatevirtual |
Implements SCF_general.
References SCF_general::basisInfo, Atom::coords, densityMatrix, do_output(), get_gradient_for_given_mol_and_dens(), get_nucl_energy_for_given_mol_and_dens(), SCF_general::integralInfo, LOG_AREA_SCF, LOG_CAT_INFO, SCF_general::matOpts, SCF_general::molecule, Molecule::replaceAtom(), SCF_general::scfopts, template_blas_fabs(), and SCF_general::threshold_integrals_1el.
|
private |
References eigValOCC, and eigValUNOCC.
Referenced by create_eigenvectors_files().
|
privatevirtual |
Implements SCF_general.
References create_eigenvalues_files(), create_eigvec_file(), eigVecOCC, and eigVecUNOCC.
|
private |
|
privatevirtual |
Implements SCF_general.
References SCF_general::basisInfo, do_output(), eigValOCC, eigValUNOCC, eigVecOCC, eigVecUNOCC, 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.
|
private |
References A.
|
private |
|
private |
|
privatevirtual |
Implements SCF_general.
References densityMatrix, do_output(), LOG_AREA_SCF, LOG_CAT_INFO, SCF_general::matOpts, SCF_general::scfopts, and write_matrix_in_matrix_market_format().
|
privatevirtual |
Implements SCF_general.
References do_output(), FockMatrix, LOG_AREA_SCF, LOG_CAT_INFO, SCF_general::matOpts, SCF_general::scfopts, and write_matrix_in_matrix_market_format().
|
privatevirtual |
Implements SCF_general.
References densityMatrix, do_output(), get_non_ort_err_mat_normalized_in_ort_basis(), LOG_AREA_SCF, LOG_CAT_INFO, and SCF_general::matOpts.
|
privatevirtual |
|
private |
References SCF_general::DensFromFock, get_machine_epsilon(), SCF_general::matOpts, template_blas_sqrt(), transform_with_invChol(), and transform_with_S().
Referenced by disturb_dens_matrix_exact().
|
privatevirtual |
|
privatevirtual |
Implements SCF_general.
References SCF_general::basisInfo, densityMatrix, do_mulliken_atomic_charges(), do_output(), LOG_AREA_SCF, LOG_CAT_INFO, SCF_general::matOpts, SCF_general::molecule, and SCF_general::S_symm.
|
privatevirtual |
Implements SCF_general.
|
privatevirtual |
Implements SCF_general.
References SCF_general::basisInfo, SCF_general::CAM_params, check_if_matrix_contains_strange_elements(), SCF_general::curr_cycle_stats, densityMatrix, densityMatrix_core, do_acc_scan_J(), do_acc_scan_K(), do_acc_scan_Vxc(), do_output(), SCF_general::energy_2el, SCF_general::energy_2el_core, SCF_general::energy_2el_valence, FockMatrix, Fprev, mat::MatrixSymmetric< real, matri >::frob_diff(), Fxc_matrix, get_2e_matrix_and_energy_sparse(), get_eucl_diff_with_adapted_accuracy(), get_machine_epsilon(), SCF_general::gridParams, SCF_general::H_core_Matrix, homoInterval_Fprev, mat::Interval< Treal >::increase(), SCF_general::integralInfo, SCF_general::invCholFactor, 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< real, matri >::mixed_diff(), SCF_general::molecule, SCF_general::noOfElectrons, output_diff_norm_values(), Util::TimeMeter::print(), SCF_general::scfopts, template_blas_sqrt(), twoel_matrix_core, and mat::Interval< Treal >::upp().
void SCF_restricted::get_density_matrix | ( | symmMatrix & | densityMatrix_ | ) |
References densityMatrix.
|
privatevirtual |
Implements SCF_general.
References compute_maxabs_sparse(), do_output(), ErrorMatrix, SCF_general::errorMeasure, LOG_AREA_SCF, and LOG_CAT_INFO.
|
private |
References SCF_general::basisInfo, cols, densityMatrix, do_output(), mat::VectorGeneral< Treal, Tvector >::fullvector(), get_exp_value_pos_operator(), mat::VectorGeneral< Treal, Tvector >::is_empty(), LOG_AREA_SCF, LOG_CAT_INFO, LOG_CAT_WARNING, SCF_general::matOpts, SCF_general::molecule, Util::TimeMeter::print(), rows, template_blas_fabs(), and UNIT_one_Angstrom.
Referenced by output_expected_values_pos_operator().
|
privatevirtual |
Implements SCF_general.
References SCF_general::basisInfo, compute_FDSminusSDF_sparse(), densityMatrix, do_output(), ErrorMatrix, FockMatrix, LOG_AREA_SCF, LOG_CAT_INFO, SCF_general::matOpts, output_sparsity(), and SCF_general::S_symm.
void SCF_restricted::get_Fock_matrix | ( | symmMatrix & | FockMatrix_ | ) |
References FockMatrix.
|
privatevirtual |
Implements SCF_general.
References SCF_general::basisInfo, SCF_general::curr_cycle_stats, SCF_general::DensFromFock, densityMatrix, densityMatrix_core, do_output(), eigValOCC, eigValUNOCC, eigVecOCC, eigVecUNOCC, SCF_general::electronicEntropyTerm, F_ort_prev, FockMatrix, homoInterval_F_ort_prev, homoInterval_Fprev, LOG_AREA_SCF, LOG_CAT_INFO, lumoInterval_F_ort_prev, lumoInterval_Fprev, output_sparsity_symm(), Util::TimeMeter::print(), SCF_general::S_symm, SCF_general::SCF_step, SCF_general::scfopts, mat::MatrixSymmetric< real, matri >::trace_ab(), transform_with_S(), and UNIT_one_eV.
|
private |
References do_output(), get_machine_epsilon(), LOG_AREA_SCF, LOG_CAT_INFO, SCF_general::matOpts, template_blas_sqrt(), transform_with_invChol(), and transform_with_S().
Referenced by disturb_dens_matrix(), disturb_dens_matrix_exact(), and disturb_fock_matrix().
|
privatevirtual |
Implements SCF_general.
References SCF_general::basisInfo, SCF_general::DensFromFock, densityMatrix, densityMatrix_core, 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, SCF_general::noOfElectrons, output_sparsity_symm(), SCF_general::S_symm, SCF_general::SCF_step, and SCF_general::scfopts.
|
privatevirtual |
Implements SCF_general.
References homoInterval_F_ort_prev, homoInterval_Fprev, lumoInterval_F_ort_prev, and lumoInterval_Fprev.
|
privatevirtual |
Implements SCF_general.
References bestFockMatrixSoFar, bestFockMatrixSoFar2, densityMatrix, densityMatrix_core, Dprev, ErrorMatrix, F_ort_prev, FockMatrix, Fprev, SCF_general::matOpts, and twoel_matrix_core.
|
privatevirtual |
Implements SCF_general.
References SCF_general::basisInfo, densityMatrix, do_density_images(), do_output(), LOG_AREA_SCF, LOG_CAT_INFO, SCF_general::matOpts, SCF_general::molecule, Util::TimeMeter::print(), and SCF_general::scfopts.
|
private |
References SCF_general::basisInfo, do_density_images(), do_output(), mat::VectorGeneral< Treal, Tvector >::fullvector(), mat::VectorGeneral< Treal, Tvector >::is_empty(), LOG_AREA_SCF, LOG_CAT_INFO, LOG_CAT_WARNING, SCF_general::matOpts, SCF_general::molecule, Util::TimeMeter::print(), and SCF_general::scfopts.
|
privatevirtual |
Implements SCF_general.
References eigVecOCC, eigVecUNOCC, and get_expected_values_pos_operator().
|
privatevirtual |
Implements SCF_general.
References SCF_statistics::add_value(), SCF_general::basisInfo, densityMatrix, FockMatrix, output_sparsity_symm(), and SCF_general::S_symm.
|
privatevirtual |
Implements SCF_general.
References densityMatrix, do_output(), Dprev, SCF_general::GetEuclideanNormOfMatrix(), LOG_AREA_SCF, LOG_CAT_INFO, Util::TimeMeter::print(), and SCF_general::scfopts.
|
privatevirtual |
Implements SCF_general.
|
privatevirtual |
Implements SCF_general.
References FockMatrix, and Fprev.
|
privatevirtual |
Implements SCF_general.
References densityMatrix, and Dprev.
|
privatevirtual |
Implements SCF_general.
References SCF_general::basisInfo, do_output(), FockMatrix, LOG_AREA_SCF, LOG_CAT_ERROR, SCF_general::matOpts, and save_symmetric_matrix().
|
privatevirtual |
Implements SCF_general.
References SCF_general::basisInfo, densityMatrix, FockMatrix, SCF_general::matOpts, SCF_general::S_symm, and write_full_matrix().
|
private |
Transform matrix A to invCholT*A*invChol.
References A, and SCF_general::invCholFactor.
Referenced by disturb_dens_matrix_exact_try(), get_non_ort_err_mat_normalized_in_ort_basis(), and update_subspace_diff().
|
private |
Transform matrix A to S*A*S.
References A, and SCF_general::S_symm.
Referenced by disturb_dens_matrix_exact_try(), get_new_density_matrix(), get_non_ort_err_mat_normalized_in_ort_basis(), and update_subspace_diff().
|
privatevirtual |
Implements SCF_general.
References bestFockMatrixSoFar, bestFockMatrixSoFar2, FockMatrix, and Fprev.
|
privatevirtual |
Implements SCF_general.
References SCF_general::curr_subspace_diff, densityMatrix, do_output(), Dprev, get_machine_epsilon(), LOG_AREA_SCF, LOG_CAT_INFO, template_blas_sqrt(), transform_with_invChol(), and transform_with_S().
|
privatevirtual |
Implements SCF_general.
References SCF_general::DIIS, do_output(), FockMatrix, LOG_AREA_SCF, and LOG_CAT_ERROR.
|
privatevirtual |
Implements SCF_general.
References SCF_general::basisInfo, densityMatrix, densityMatrix_core, SCF_general::matOpts, SCF_general::scfopts, and write_matrix_to_file().
|
privatevirtual |
Implements SCF_general.
References SCF_general::basisInfo, densityMatrix, SCF_general::matOpts, and write_diag_elements_to_file().
|
privatevirtual |
Implements SCF_general.
References bestFockMatrixSoFar, bestFockMatrixSoFar2, Dprev, F_ort_prev, FockMatrix, and Fprev.
|
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 |
Referenced by add_random_disturbance_to_starting_guess(), calculate_energy(), compute_dipole_moment(), compute_gradient_fixeddens(), create_mtx_files_D(), disturb_dens_matrix(), disturb_dens_matrix_exact(), do_mulliken_pop_stuff(), get_2e_part_and_energy(), get_density_matrix(), get_expected_values_pos_operator(), get_FDSminusSDF(), get_new_density_matrix(), get_starting_guess_density(), initialize_matrices(), output_density_images(), output_sparsity_S_F_D(), report_density_difference(), save_density_as_prevdens(), save_full_matrices_for_matlab(), update_subspace_diff(), write_density_to_file(), and write_diag_dens_to_file().
|
private |
|
private |
|
private |
Referenced by create_eigenvalues_files(), create_gabedit_file(), and get_new_density_matrix().
|
private |
Referenced by create_eigenvalues_files(), create_gabedit_file(), and get_new_density_matrix().
|
private |
|
private |
|
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 add_to_DIIS_list(), combine_old_fock_matrices(), create_mtx_files_F(), disturb_fock_matrix(), get_2e_part_and_energy(), get_FDSminusSDF(), get_Fock_matrix(), get_new_density_matrix(), initialize_matrices(), output_sparsity_S_F_D(), save_current_fock_as_fprev(), save_final_potential(), save_full_matrices_for_matlab(), update_best_fock_so_far(), use_diis_to_get_new_fock_matrix(), and write_matrices_to_file().
|
private |
|
private |
Referenced by get_2e_part_and_energy().
|
private |
Referenced by get_new_density_matrix(), and initialize_homo_lumo_limits().
|
private |
Referenced by get_2e_part_and_energy(), get_new_density_matrix(), and initialize_homo_lumo_limits().
|
private |
Referenced by get_2e_part_and_energy().
|
private |
Referenced by get_2e_part_and_energy().
|
private |
Referenced by get_new_density_matrix(), and initialize_homo_lumo_limits().
|
private |
Referenced by get_2e_part_and_energy(), get_new_density_matrix(), and initialize_homo_lumo_limits().
|
private |
Referenced by calculate_energy(), get_2e_part_and_energy(), and initialize_matrices().