#include <SCF_unrestricted.h>
|
| 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 () |
|
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_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) |
|
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 |
|
DensfitData * | densfit_data |
|
JK::ExchWeights | CAM_params |
|
ergo_real | nuclearEnergy |
|
ergo_real | energy_2el |
|
ergo_real | energy |
|
ergo_real | electronicEntropyTerm |
|
ergo_real | errorMeasure |
|
ergo_real | curr_subspace_diff |
|
symmMatrix | S_symm |
|
triangMatrix | invCholFactor |
|
ergo_real | invCholFactor_euclnorm |
|
symmMatrix | H_core_Matrix |
|
DIISManager * | DIIS |
|
int | noOfElectrons |
|
SCF_statistics * | curr_cycle_stats |
|
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 |
( |
| ) |
|
void SCF_unrestricted::add_random_disturbance_to_starting_guess |
( |
| ) |
|
|
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, mat::FileWritable::readFromFile(), SCF_general::scfopts, SCF::Options::sg_disturb_specific_elements, SCF::Options::starting_guess_disturbance, and mat::FileWritable::writeToFile().
void SCF_unrestricted::add_to_DIIS_list |
( |
| ) |
|
|
privatevirtual |
void SCF_unrestricted::calculate_energy |
( |
| ) |
|
|
privatevirtual |
void SCF_unrestricted::check_params |
( |
| ) |
|
|
privatevirtual |
void SCF_unrestricted::clear_diis_list |
( |
| ) |
|
|
privatevirtual |
void SCF_unrestricted::clear_error_matrices |
( |
| ) |
|
|
privatevirtual |
void SCF_unrestricted::combine_old_fock_matrices |
( |
ergo_real |
stepLength | ) |
|
|
privatevirtual |
void SCF_unrestricted::compute_dipole_moment |
( |
| ) |
|
|
privatevirtual |
Implements SCF_general.
References SCF_general::basisInfo, densityMatrix_alpha, densityMatrix_beta, do_output(), get_dipole_moment(), LOG_AREA_SCF, LOG_CAT_INFO, SCF_general::matOpts, SCF_general::molecule, SCF::MatOptions::permutationHML, mat::FileWritable::readFromFile(), SCF::MatOptions::size_block_info, and mat::FileWritable::writeToFile().
void SCF_unrestricted::compute_gradient_fixeddens |
( |
| ) |
|
|
privatevirtual |
void SCF_unrestricted::create_gabedit_file |
( |
| ) |
const |
|
privatevirtual |
void SCF_unrestricted::create_homo_eigvec_file |
( |
| ) |
const |
|
privatevirtual |
void SCF_unrestricted::create_lumo_eigvec_file |
( |
| ) |
const |
|
privatevirtual |
void SCF_unrestricted::create_mtx_files_D |
( |
int const |
scfIter | ) |
|
|
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, mat::FileWritable::readFromFile(), SCF_general::scfopts, write_matrix_in_matrix_market_format(), and mat::FileWritable::writeToFile().
void SCF_unrestricted::create_mtx_files_F |
( |
int const |
scfIter | ) |
|
|
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, mat::FileWritable::readFromFile(), SCF_general::scfopts, write_matrix_in_matrix_market_format(), and mat::FileWritable::writeToFile().
void SCF_unrestricted::disturb_dens_matrix |
( |
ergo_real |
subspaceError | ) |
|
|
privatevirtual |
void SCF_unrestricted::disturb_dens_matrix_exact |
( |
ergo_real |
subspaceError | ) |
|
|
privatevirtual |
void SCF_unrestricted::disturb_fock_matrix |
( |
ergo_real |
subspaceError | ) |
|
|
privatevirtual |
void SCF_unrestricted::do_mulliken_pop_stuff |
( |
| ) |
|
|
privatevirtual |
Implements SCF_general.
References SCF_general::basisInfo, mat::MatrixBase< Treal, Tmatrix >::clear(), 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, mat::FileWritable::readFromFile(), SCF_general::S_symm, SCF::MatOptions::size_block_info, and mat::FileWritable::writeToFile().
void SCF_unrestricted::do_spin_flip |
( |
int |
atomCount | ) |
|
|
privatevirtual |
Implements SCF_general.
References mat::MatrixSymmetric< Treal, Tmatrix >::assignFromFull(), BasisInfoStruct::basisFuncList, SCF_general::basisInfo, BasisFuncStruct_::centerCoords, Atom::coords, densityMatrix_alpha, densityMatrix_beta, do_output(), mat::MatrixSymmetric< Treal, Tmatrix >::fullMatrix(), Molecule::getAtom(), Molecule::getNoOfAtoms(), SCF::MatOptions::inversePermutationHML, LOG_AREA_SCF, LOG_CAT_INFO, SCF_general::matOpts, SCF_general::molecule, BasisInfoStruct::noOfBasisFuncs, SCF::MatOptions::permutationHML, mat::FileWritable::readFromFile(), SCF_general::S_symm, mat::MatrixSymmetric< ergo_real, Matri >::trace_ab(), and mat::FileWritable::writeToFile().
void SCF_unrestricted::get_2e_part_and_energy |
( |
| ) |
|
|
privatevirtual |
Implements SCF_general.
References SCF_general::basisInfo, SCF_general::basisInfoDensFit, SCF_general::CAM_params, SCF_general::densfit_data, densityMatrix_alpha, densityMatrix_beta, do_output(), SCF_general::energy_2el, FockMatrix_alpha, FockMatrix_beta, SCF::Options::force_restricted, mat::MatrixSymmetric< Treal, Tmatrix >::frob_thresh(), 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::FileWritable::readFromFile(), mat::MatrixBase< Treal, Tmatrix >::resetSizesAndBlocks(), SCF_general::scfopts, SCF::MatOptions::size_block_info, SCF::MatOptions::sparse_threshold, mat::transpose(), SCF::Options::use_dft, and mat::FileWritable::writeToFile().
void SCF_unrestricted::get_error_measure |
( |
| ) |
|
|
privatevirtual |
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, BasisInfoStruct::noOfBasisFuncs, output_sparsity(), mat::FileWritable::readFromFile(), SCF_general::S_symm, SCF::MatOptions::sparse_threshold, and mat::FileWritable::writeToFile().
void SCF_unrestricted::get_new_density_matrix |
( |
| ) |
|
|
privatevirtual |
Implements SCF_general.
References SCF_general::basisInfo, mat::MatrixBase< Treal, Tmatrix >::clear(), compute_maxabs_sparse(), densityMatrix_alpha, densityMatrix_beta, SCF::Options::do_comparison_to_simple_purification, do_output(), SCF::Options::do_puri_mmul_tests, SCF::Options::do_sparsity_investigation, SCF::Options::electronic_temperature, SCF_general::electronicEntropyTerm, F_ort_prev_alpha, F_ort_prev_beta, FockMatrix_alpha, FockMatrix_beta, SCF::Options::gap_expected_lower_bound, get_dens_from_fock_general(), get_S2(), homoInterval_F_ort_prev_alpha, homoInterval_F_ort_prev_beta, homoInterval_Fprev_alpha, homoInterval_Fprev_beta, SCF_general::invCholFactor, SCF_general::invCholFactor_euclnorm, LOG_AREA_SCF, LOG_CAT_INFO, lumoInterval_F_ort_prev_alpha, lumoInterval_F_ort_prev_beta, lumoInterval_Fprev_alpha, lumoInterval_Fprev_beta, SCF_general::matOpts, BasisInfoStruct::noOfBasisFuncs, noOfElectrons_alpha, noOfElectrons_beta, 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::MatOptions::size_block_info, SCF::Options::sparsity_plots_resolution_m, mat::MatrixSymmetric< ergo_real, Matri >::trace_ab(), SCF::Options::use_diag_on_error, SCF::Options::use_diagonalization, and mat::FileWritable::writeToFile().
void SCF_unrestricted::get_no_of_electrons |
( |
int & |
noOfElectrons_a, |
|
|
int & |
noOfElectrons_b |
|
) |
| |
References densityMatrix_alpha, densityMatrix_beta, do_output(), LOG_AREA_SCF, LOG_CAT_ERROR, SCF_general::matOpts, noOfElectrons_alpha, noOfElectrons_beta, mat::FileWritable::readFromFile(), mat::MatrixBase< Treal, Tmatrix >::resetSizesAndBlocks(), SCF_general::S_symm, SCF::MatOptions::size_block_info, mat::MatrixGeneral< ergo_real, Matri >::trace_ab(), and mat::FileWritable::writeToFile().
Referenced by get_new_density_matrix(), and report_final_results().
void SCF_unrestricted::get_starting_guess_density |
( |
| ) |
|
|
privatevirtual |
Implements SCF_general.
References SCF_general::basisInfo, densityMatrix_alpha, densityMatrix_beta, SCF::Options::do_comparison_to_simple_purification, do_output(), SCF::Options::do_puri_mmul_tests, 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, noOfElectrons_alpha, noOfElectrons_beta, 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::starting_guess_spin_diff, 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_unrestricted::initialize_homo_lumo_limits |
( |
| ) |
|
|
privatevirtual |
void SCF_unrestricted::initialize_matrices |
( |
| ) |
|
|
privatevirtual |
Implements SCF_general.
References bestFockMatrixSoFar2_alpha, bestFockMatrixSoFar2_beta, bestFockMatrixSoFar_alpha, bestFockMatrixSoFar_beta, densityMatrix_alpha, densityMatrix_beta, Dprev_alpha, Dprev_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.
void SCF_unrestricted::output_csr_matrices_for_gao |
( |
| ) |
|
|
privatevirtual |
void SCF_unrestricted::output_density_images |
( |
| ) |
|
|
privatevirtual |
Implements SCF_general.
References SCF_general::basisInfo, densityMatrix_alpha, densityMatrix_beta, do_density_images(), do_output(), mat::MatrixSymmetric< Treal, Tmatrix >::fullMatrix(), 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(), mat::FileWritable::readFromFile(), SCF_general::scfopts, and mat::FileWritable::writeToFile().
void SCF_unrestricted::output_sparsity_S_F_D |
( |
SCF_statistics & |
stats | ) |
|
|
privatevirtual |
void SCF_unrestricted::report_density_difference |
( |
| ) |
|
|
privatevirtual |
void SCF_unrestricted::report_final_results |
( |
| ) |
|
|
privatevirtual |
void SCF_unrestricted::save_current_fock_as_fprev |
( |
| ) |
|
|
privatevirtual |
void SCF_unrestricted::save_density_as_prevdens |
( |
| ) |
|
|
privatevirtual |
void SCF_unrestricted::save_final_potential |
( |
| ) |
|
|
privatevirtual |
void SCF_unrestricted::save_full_matrices_for_matlab |
( |
| ) |
|
|
privatevirtual |
void SCF_unrestricted::update_best_fock_so_far |
( |
| ) |
|
|
privatevirtual |
void SCF_unrestricted::update_subspace_diff |
( |
| ) |
|
|
privatevirtual |
void SCF_unrestricted::use_diis_to_get_new_fock_matrix |
( |
| ) |
|
|
privatevirtual |
Implements SCF_general.
References SCF_general::DIIS, do_output(), FockMatrix_alpha, FockMatrix_beta, mat::MatrixSymmetric< Treal, Tmatrix >::frob_thresh(), LOG_AREA_SCF, LOG_CAT_ERROR, SCF_general::matOpts, mat::FileWritable::readFromFile(), SCF::MatOptions::sparse_threshold, and mat::FileWritable::writeToFile().
void SCF_unrestricted::write_density_to_file |
( |
| ) |
|
|
privatevirtual |
Implements SCF_general.
References SCF_general::basisInfo, matrix_description_struct::colind, ddf_writeShellListAndDensityMatricesToFile_sparse(), densityMatrix_alpha, densityMatrix_beta, do_output(), mat::MatrixSymmetric< Treal, Tmatrix >::get_all_values(), SCF::MatOptions::inversePermutationHML, LOG_AREA_SCF, LOG_CAT_ERROR, SCF_general::matOpts, matrix_description_struct::nvalues, mat::MatrixSymmetric< Treal, Tmatrix >::nvalues(), mat::FileWritable::readFromFile(), matrix_description_struct::rowind, matrix_description_struct::values, and mat::FileWritable::writeToFile().
void SCF_unrestricted::write_diag_dens_to_file |
( |
| ) |
|
|
privatevirtual |
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, Fprev_beta, and mat::FileWritable::writeToFile().
int SCF_unrestricted::alpha_beta_diff |
|
private |
symmMatrix SCF_unrestricted::bestFockMatrixSoFar2_alpha |
|
private |
symmMatrix SCF_unrestricted::bestFockMatrixSoFar2_beta |
|
private |
symmMatrix SCF_unrestricted::bestFockMatrixSoFar_alpha |
|
private |
symmMatrix SCF_unrestricted::bestFockMatrixSoFar_beta |
|
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().
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().
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().
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().
intervalType SCF_unrestricted::homoInterval_F_ort_prev_alpha |
|
private |
intervalType SCF_unrestricted::lumoInterval_F_ort_prev_alpha |
|
private |
int SCF_unrestricted::noOfElectrons_alpha |
|
private |
int SCF_unrestricted::noOfElectrons_beta |
|
private |
The documentation for this class was generated from the following files: