ergo
integrals_2el_K.h File Reference

Code for computing the Hartree-Fock exchange matrix K. More...

#include "basisinfo.h"
#include "integrals_2el.h"
#include "csr_matrix.h"

Go to the source code of this file.

Functions

int compute_K_by_boxes (const BasisInfoStruct &basisInfo, const IntegralInfo &integralInfo, const JK::ExchWeights &CAM_params_in, const JK::Params &J_K_params, csr_matrix_struct *K_CSR, csr_matrix_struct *densCSR, int symmetryFlag)
 
int compute_K_by_boxes_dense (const BasisInfoStruct &basisInfo, const IntegralInfo &integralInfo, const JK::ExchWeights &CAM_params_in, const JK::Params &J_K_params, ergo_real *K_dense, const ergo_real *D_dense, int symmetryFlag)
 

Detailed Description

Code for computing the Hartree-Fock exchange matrix K.

Author
: Elias Rudberg responsible.

Function Documentation

◆ compute_K_by_boxes()

int compute_K_by_boxes ( const BasisInfoStruct basisInfo,
const IntegralInfo integralInfo,
const JK::ExchWeights CAM_params_in,
const JK::Params J_K_params,
csr_matrix_struct K_CSR,
csr_matrix_struct densCSR,
int  symmetryFlag 
)

References A, box_struct::basicBox, DistributionSpecStructLabeled::basisFuncIndex_1, DistributionSpecStructLabeled::basisFuncIndex_2, BasisInfoStruct::basisFuncList, BoxSystem::boxList, BasisFuncStruct::centerCoords, compute_extent_for_list_of_distributions(), compute_multipole_moments(), BoxSystem::create_box_system(), create_box_system_and_reorder_distrs(), create_joblist_exchange_for_two_boxes_recursive(), distr_org_struct::data, DistributionSpecStructLabeled::distr, box_struct::distrListForK, do_output(), ergo_CSR_destroy(), ergo_CSR_get_max_abs_element(), JK::Params::exchange_box_size, execute_joblist_K_serial(), execute_joblist_K_threaded(), box_struct_basic::firstChildBoxIndex, box_struct_basic::firstItemIndex, get_basisFuncGroupInfoList_maxsize(), get_list_of_labeled_distrs(), get_list_of_labeled_distrs_maxLimitingFactor(), getDmatLimitMatrixCSRList(), HUGE_INTEGER_NUMBER, BoxSystem::levelList, DistributionSpecStructLabeled::limitingFactor, LOG_AREA_INTEGRALS, LOG_CAT_ERROR, LOG_CAT_INFO, MAX_MULTIPOLE_DEGREE_BASIC, distr_org_struct::Data::maxDistanceOutsideBox, BasisInfoStruct::noOfBasisFuncs, box_level_struct::noOfBoxes, box_struct_basic::noOfChildBoxes, box_struct_basic::noOfItems, BoxSystem::noOfLevels, JK::Params::noOfThreads_K, distr_list_description_struct::org, organize_distributions(), output_current_memory_usage(), prep_info_for_K(), Util::TimeMeter::print(), box_level_struct::startIndexInBoxList, template_blas_sqrt(), JK::Params::threshold_K, and BoxSystem::totNoOfBoxes.

Referenced by compute_K_by_boxes_dense(), compute_K_by_boxes_sparse(), and compute_K_by_boxes_sparse_nosymm().

◆ compute_K_by_boxes_dense()

int compute_K_by_boxes_dense ( const BasisInfoStruct basisInfo,
const IntegralInfo integralInfo,
const JK::ExchWeights CAM_params_in,
const JK::Params J_K_params,
ergo_real K_dense,
const ergo_real D_dense,
int  symmetryFlag 
)