ergo
integral_matrix_wrappers.h File Reference

Wrapper routines for different parts of the integral code, including conversion of matrices from/to the hierarchical matrix library (HML) format. More...

#include "basisinfo.h"
#include "matrix_typedefs.h"
#include "integrals_2el.h"

Go to the source code of this file.

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, ergo_real &result_nuclearRepulsionEnergy)
 
int compute_V_sparse_hierarchical (const BasisInfoStruct &basisInfo, const IntegralInfo &integralInfo, const Molecule &molecule, ergo_real threshold, ergo_real boxSize, symmMatrix &V, std::vector< int > const &permutationHML, ergo_real &result_nuclearRepulsionEnergy)
 
int compute_gradient_of_nucl_and_trDV (const BasisInfoStruct &basisInfo, const IntegralInfo &integralInfo, const Molecule &molecule, ergo_real threshold, ergo_real boxSize, const symmMatrix &densityMatrix_sparse, std::vector< int > const &permutationHML, ergo_real *result_gradient_list)
 
ergo_real get_electron_nuclear_attraction_energy (const IntegralInfo &integralInfo, const Molecule &molecule, const BasisInfoStruct &basisInfo, const symmMatrix &D, ergo_real threshold_integrals_1el, mat::SizesAndBlocks const &matrix_size_block_info, std::vector< int > const &permutationHML)
 
int compute_T_sparse_linear (const BasisInfoStruct &basisInfo, const IntegralInfo &integralInfo, ergo_real threshold, ergo_real boxSize, symmMatrix &T, std::vector< int > const &permutationHML)
 
int compute_overlap_matrix_sparse (const BasisInfoStruct &basisInfo, symmMatrix &S_symm, std::vector< int > const &permutationHML)
 
int compute_R_matrix_sparse (const BasisInfoStruct &basisInfo_A, const BasisInfoStruct &basisInfo_B, normalMatrix &result_R, ergo_real sparse_threshold, std::vector< int > const &matrixPermutationVec_A, std::vector< int > const &matrixPermutationVec_B)
 compute_R_matrix_sparse computes the overlap matrix between two different basis sets. More...
 
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)
 
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. More...
 
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)
 

Detailed Description

Wrapper routines for different parts of the integral code, including conversion of matrices from/to the hierarchical matrix library (HML) format.

Author
: Elias Rudberg responsible

Function Documentation

◆ compute_gradient_of_nucl_and_trDV()

int compute_gradient_of_nucl_and_trDV ( const BasisInfoStruct basisInfo,
const IntegralInfo integralInfo,
const Molecule molecule,
ergo_real  threshold,
ergo_real  boxSize,
const symmMatrix densityMatrix_sparse,
std::vector< int > const &  permutationHML,
ergo_real result_gradient_list 
)

◆ compute_J_by_boxes_sparse()

◆ compute_K_by_boxes_sparse()

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 
)

◆ compute_K_by_boxes_sparse_nosymm()

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 
)

◆ compute_operator_matrix_sparse_symm()

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 
)

◆ compute_overlap_matrix_sparse()

int compute_overlap_matrix_sparse ( const BasisInfoStruct basisInfo,
symmMatrix S_symm,
std::vector< int > const &  permutationHML 
)

◆ compute_R_matrix_sparse()

int compute_R_matrix_sparse ( const BasisInfoStruct basisInfo_A,
const BasisInfoStruct basisInfo_B,
normalMatrix result_R,
ergo_real  sparse_threshold,
std::vector< int > const &  matrixPermutationVec_A,
std::vector< int > const &  matrixPermutationVec_B 
)

compute_R_matrix_sparse computes the overlap matrix between two different basis sets.

References compute_operator_matrix_sparse(), do_output(), LOG_AREA_UNDEFINED, LOG_CAT_ERROR, and BasisInfoStruct::noOfBasisFuncs.

Referenced by load_density_and_project_sparse().

◆ compute_T_sparse_linear()

int compute_T_sparse_linear ( const BasisInfoStruct basisInfo,
const IntegralInfo integralInfo,
ergo_real  threshold,
ergo_real  boxSize,
symmMatrix T,
std::vector< int > const &  permutationHML 
)

◆ compute_V_sparse()

◆ compute_V_sparse_hierarchical()

int compute_V_sparse_hierarchical ( const BasisInfoStruct basisInfo,
const IntegralInfo integralInfo,
const Molecule molecule,
ergo_real  threshold,
ergo_real  boxSize,
symmMatrix V,
std::vector< int > const &  permutationHML,
ergo_real result_nuclearRepulsionEnergy 
)

◆ get_electron_nuclear_attraction_energy()

ergo_real get_electron_nuclear_attraction_energy ( const IntegralInfo integralInfo,
const Molecule molecule,
const BasisInfoStruct basisInfo,
const symmMatrix D,
ergo_real  threshold_integrals_1el,
mat::SizesAndBlocks const &  matrix_size_block_info,
std::vector< int > const &  permutationHML 
)