#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 do_output(), mat::MatrixSymmetric< Treal, Tmatrix >::get_values(), LOG_AREA_SCF, LOG_CAT_INFO, 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 mat::MatrixSymmetric< Treal, Tmatrix >::assign_from_sparse(), compute_J_by_boxes_linear(), do_output(), get_basis_func_pair_list_2el(), mat::MatrixSymmetric< Treal, Tmatrix >::get_values(), LOG_AREA_DENSFROMF, LOG_AREA_SCF, LOG_CAT_ERROR, LOG_CAT_INFO, mat::MatrixBase< Treal, Tmatrix >::maxAbsValue(), BasisInfoStruct::noOfBasisFuncs, output_current_memory_usage(), JK::Params::threshold_J, and mat::FileWritable::writeAndReadAll().
Referenced by Jworkertest::ComputeMatrix(), Jworker::ComputeMatrix(), get_2e_matrices_and_energy_restricted_open(), get_2e_matrices_and_energy_simple_HF_sparse_unrestricted(), get_2e_matrices_and_energy_simple_sparse_unrestricted(), get_2e_matrix_and_energy_simple_HF_sparse(), get_2e_matrix_and_energy_simple_sparse(), get_Fock_matrix_in_ort_basis(), 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 mat::MatrixSymmetric< Treal, Tmatrix >::assign_from_sparse(), compute_K_by_boxes(), create_CSR_for_K(), do_output(), ergo_CSR_destroy(), ergo_CSR_get_nvalues(), ergo_CSR_get_values(), get_CSR_from_symmMatrix(), LOG_AREA_SCF, LOG_CAT_ERROR, BasisInfoStruct::noOfBasisFuncs, output_current_memory_usage(), mat::FileWritable::readFromFile(), and mat::FileWritable::writeToFile().
Referenced by Kworker::ComputeMatrix(), get_2e_matrices_and_energy_restricted_open(), get_2e_matrices_and_energy_simple_HF_sparse_unrestricted(), get_2e_matrices_and_energy_simple_sparse_unrestricted(), get_2e_matrix_and_energy_simple_HF_sparse(), get_2e_matrix_and_energy_simple_sparse(), 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 mat::MatrixGeneral< Treal, Tmatrix >::assign_from_sparse(), compute_K_by_boxes(), create_CSR_for_K(), do_output(), ergo_CSR_destroy(), ergo_CSR_get_nvalues(), ergo_CSR_get_values(), get_CSR_from_normalMatrix(), LOG_AREA_SCF, LOG_CAT_ERROR, BasisInfoStruct::noOfBasisFuncs, output_current_memory_usage(), mat::FileWritable::readFromFile(), and mat::FileWritable::writeToFile().
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 mat::MatrixGeneral< Treal, Tmatrix >::assign_from_sparse(), mat::MatrixBase< Treal, Tmatrix >::clear(), compute_operator_matrix_sparse(), do_output(), LOG_AREA_SCF, LOG_CAT_ERROR, BasisInfoStruct::noOfBasisFuncs, mat::FileWritable::readFromFile(), and mat::FileWritable::writeToFile().
Referenced by compute_dipole_moment_onecoord(), compute_h_core_matrix_sparse(), compute_overlap_matrix_sparse(), and do_tdhf_dynamics().
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 mat::MatrixSymmetric< Treal, Tmatrix >::assign_from_sparse(), Molecule::atoms, Atom::charge, compute_V_linear(), do_output(), get_basis_func_pair_list_1el(), LOG_AREA_SCF, LOG_CAT_ERROR, LOG_CAT_INFO, Molecule::noOfAtoms, and BasisInfoStruct::noOfBasisFuncs.
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] |
static int get_CSR_from_symmMatrix | ( | int | n, | |
const symmMatrix & | A, | |||
std::vector< int > const & | inversePermutationHML, | |||
csr_matrix_struct & | CSR | |||
) | [static] |