ergo
|
#include <string.h>
#include "integral_matrix_wrappers.h"
#include "output.h"
#include "basis_func_pair_list_1el.h"
#include "integrals_1el_potential.h"
#include "operator_matrix.h"
#include "basis_func_pair_list.h"
#include "integrals_2el_boxed.h"
#include "integrals_2el_coulomb.h"
#include "integrals_2el_exchange.h"
#include "integrals_2el_exchange_prep.h"
#include "utilities.h"
Typedefs | |
typedef int * | int_ptr |
typedef ergo_real * | ergo_real_ptr |
Functions | |
int | compute_V_sparse (const BasisInfoStruct &basisInfo, const IntegralInfo &integralInfo, const Molecule &molecule, ergo_real threshold, ergo_real boxSize, symmMatrix &V, std::vector< int > const &permutationHML) |
static int | check_diagonal_elements_of_overlap_matrix (int n, const symmMatrix &S_symm) |
int | compute_overlap_matrix_sparse (const BasisInfoStruct &basisInfo, symmMatrix &S_symm, std::vector< int > const &permutationHML) |
int | compute_operator_matrix_sparse_symm (const BasisInfoStruct &basisInfo, int pow_x, int pow_y, int pow_z, symmMatrix &A_symm, std::vector< int > const &permutationHML) |
int | compute_J_by_boxes_sparse (const BasisInfoStruct &basisInfo, const IntegralInfo &integralInfo, const JK::Params &J_K_params, symmMatrix &J, const symmMatrix &densityMatrix_sparse, std::vector< int > const &permutationHML) |
static int | get_CSR_from_symmMatrix (int n, const symmMatrix &A, std::vector< int > const &inversePermutationHML, csr_matrix_struct &CSR) |
static int | get_CSR_from_normalMatrix (int n, const normalMatrix &A, std::vector< int > const &inversePermutationHML, csr_matrix_struct &CSR) |
int | compute_K_by_boxes_sparse (const BasisInfoStruct &basisInfo, const IntegralInfo &integralInfo, const JK::ExchWeights &CAM_params, const JK::Params &J_K_params, symmMatrix &K, symmMatrix &densityMatrix_sparse, std::vector< int > const &permutationHML, std::vector< int > const &inversePermutationHML) |
Returns the exchange matrix multiplied by 0.5. | |
int | compute_K_by_boxes_sparse_nosymm (const BasisInfoStruct &basisInfo, const IntegralInfo &integralInfo, const JK::ExchWeights &CAM_params, const JK::Params &J_K_params, normalMatrix &K, normalMatrix &densityMatrix_sparse, std::vector< int > const &permutationHML, std::vector< int > const &inversePermutationHML) |
typedef ergo_real* ergo_real_ptr |
typedef int* int_ptr |
static int check_diagonal_elements_of_overlap_matrix | ( | int | n, |
const symmMatrix & | S_symm | ||
) | [static] |
References mat::MatrixSymmetric::get_values(), do_output(), LOG_CAT_INFO, LOG_AREA_SCF, and LOG_CAT_WARNING.
Referenced by compute_overlap_matrix_sparse().
int compute_J_by_boxes_sparse | ( | const BasisInfoStruct & | basisInfo, |
const IntegralInfo & | integralInfo, | ||
const JK::Params & | J_K_params, | ||
symmMatrix & | J, | ||
const symmMatrix & | densityMatrix_sparse, | ||
std::vector< int > const & | permutationHML | ||
) |
References do_output(), LOG_CAT_INFO, LOG_AREA_DENSFROMF, mat::FileWritable::writeAndReadAll(), BasisInfoStruct::noOfBasisFuncs, mat::MatrixBase::maxAbsValue(), LOG_AREA_SCF, get_basis_func_pair_list_2el(), JK::Params::threshold_J, LOG_CAT_ERROR, mat::MatrixSymmetric::get_values(), output_current_memory_usage(), compute_J_by_boxes_linear(), and mat::MatrixSymmetric::assign_from_sparse().
Referenced by Jworker::ComputeMatrix(), get_2e_matrix_and_energy_simple_HF_sparse(), get_2e_matrices_and_energy_simple_HF_sparse_unrestricted(), get_2e_matrix_and_energy_simple_sparse(), get_2e_matrices_and_energy_simple_sparse_unrestricted(), get_2e_matrices_and_energy_restricted_open(), get_Fock_matrix_in_ort_basis(), Jworkertest::ComputeMatrix(), and main().
int compute_K_by_boxes_sparse | ( | const BasisInfoStruct & | basisInfo, |
const IntegralInfo & | integralInfo, | ||
const JK::ExchWeights & | CAM_params, | ||
const JK::Params & | J_K_params, | ||
symmMatrix & | K, | ||
symmMatrix & | densityMatrix_sparse, | ||
std::vector< int > const & | permutationHML, | ||
std::vector< int > const & | inversePermutationHML | ||
) |
Returns the exchange matrix multiplied by 0.5.
To get the correct value multiply K by 2.
References BasisInfoStruct::noOfBasisFuncs, output_current_memory_usage(), LOG_AREA_SCF, get_CSR_from_symmMatrix(), do_output(), LOG_CAT_ERROR, create_CSR_for_K(), compute_K_by_boxes(), ergo_CSR_get_nvalues(), ergo_CSR_get_values(), ergo_CSR_destroy(), and mat::MatrixSymmetric::assign_from_sparse().
Referenced by Kworker::ComputeMatrix(), get_2e_matrix_and_energy_simple_HF_sparse(), get_2e_matrices_and_energy_simple_HF_sparse_unrestricted(), get_2e_matrix_and_energy_simple_sparse(), get_2e_matrices_and_energy_simple_sparse_unrestricted(), get_2e_matrices_and_energy_restricted_open(), and main().
int compute_K_by_boxes_sparse_nosymm | ( | const BasisInfoStruct & | basisInfo, |
const IntegralInfo & | integralInfo, | ||
const JK::ExchWeights & | CAM_params, | ||
const JK::Params & | J_K_params, | ||
normalMatrix & | K, | ||
normalMatrix & | densityMatrix_sparse, | ||
std::vector< int > const & | permutationHML, | ||
std::vector< int > const & | inversePermutationHML | ||
) |
References BasisInfoStruct::noOfBasisFuncs, output_current_memory_usage(), LOG_AREA_SCF, get_CSR_from_normalMatrix(), do_output(), LOG_CAT_ERROR, create_CSR_for_K(), compute_K_by_boxes(), ergo_CSR_get_nvalues(), ergo_CSR_get_values(), ergo_CSR_destroy(), and mat::MatrixGeneral::assign_from_sparse().
Referenced by get_Fock_matrix_in_ort_basis(), and main().
int compute_operator_matrix_sparse_symm | ( | const BasisInfoStruct & | basisInfo, |
int | pow_x, | ||
int | pow_y, | ||
int | pow_z, | ||
symmMatrix & | A_symm, | ||
std::vector< int > const & | permutationHML | ||
) |
References BasisInfoStruct::noOfBasisFuncs, compute_operator_matrix_sparse(), do_output(), LOG_CAT_ERROR, LOG_AREA_SCF, mat::MatrixGeneral::assign_from_sparse(), and mat::MatrixBase::clear().
Referenced by compute_h_core_matrix_sparse(), compute_dipole_moment_onecoord(), do_tdhf_dynamics(), and compute_overlap_matrix_sparse().
int compute_overlap_matrix_sparse | ( | const BasisInfoStruct & | basisInfo, |
symmMatrix & | S_symm, | ||
std::vector< int > const & | permutationHML | ||
) |
int compute_V_sparse | ( | const BasisInfoStruct & | basisInfo, |
const IntegralInfo & | integralInfo, | ||
const Molecule & | molecule, | ||
ergo_real | threshold, | ||
ergo_real | boxSize, | ||
symmMatrix & | V, | ||
std::vector< int > const & | permutationHML | ||
) |
References BasisInfoStruct::noOfBasisFuncs, Molecule::noOfAtoms, Molecule::atoms, Atom::charge, do_output(), LOG_CAT_INFO, LOG_AREA_SCF, get_basis_func_pair_list_1el(), LOG_CAT_ERROR, compute_V_linear(), and mat::MatrixSymmetric::assign_from_sparse().
Referenced by compute_h_core_matrix_sparse(), test_S_V_comparison(), test_V_by_explicit_comparison(), and test_V_by_explicit_comparison_tight().
static int get_CSR_from_normalMatrix | ( | int | n, |
const normalMatrix & | A, | ||
std::vector< int > const & | inversePermutationHML, | ||
csr_matrix_struct & | CSR | ||
) | [static] |
References mat::MatrixGeneral::get_all_values(), ergo_CSR_create(), do_output(), LOG_CAT_ERROR, LOG_AREA_SCF, ergo_CSR_add_to_element(), and ergo_CSR_get_element().
Referenced by compute_K_by_boxes_sparse_nosymm().
static int get_CSR_from_symmMatrix | ( | int | n, |
const symmMatrix & | A, | ||
std::vector< int > const & | inversePermutationHML, | ||
csr_matrix_struct & | CSR | ||
) | [static] |
References mat::MatrixSymmetric::get_all_values(), ergo_CSR_create(), do_output(), LOG_CAT_ERROR, LOG_AREA_SCF, ergo_CSR_add_to_element(), and ergo_CSR_get_element().
Referenced by compute_K_by_boxes_sparse().