ergo
integrals_2el_J.h File Reference

Code for computing the Coulomb matrix J. More...

#include "basisinfo.h"
#include "integrals_2el.h"
#include "basis_func_pair_list.h"

Go to the source code of this file.

Functions

int compute_J_by_boxes (const BasisInfoStruct &basisInfo, const IntegralInfo &integralInfo, const JK::Params &J_K_params, ergo_real *J, const ergo_real *dens)
 
int compute_J_by_boxes_nosymm (const BasisInfoStruct &basisInfo, const IntegralInfo &integralInfo, const JK::Params &J_K_params, ergo_real *J, const ergo_real *dens)
 
int compute_J_by_boxes_linear (const BasisInfoStruct &basisInfo, const IntegralInfo &integralInfo, const JK::Params &J_K_params, const basis_func_index_pair_struct *basisFuncIndexPairList, int basisFuncIndexPairCount, const ergo_real *D_list, ergo_real *result_J_list, int noOfBasisFuncIndexPairs)
 Computes the Coulomb interaction. More...
 

Detailed Description

Code for computing the Coulomb matrix J.

Author
: Elias Rudberg responsible.

Function Documentation

◆ compute_J_by_boxes()

◆ compute_J_by_boxes_linear()

int compute_J_by_boxes_linear ( const BasisInfoStruct basisInfo,
const IntegralInfo integralInfo,
const JK::Params J_K_params,
const basis_func_index_pair_struct basisFuncIndexPairList,
int  basisFuncIndexPairCount,
const ergo_real D_list,
ergo_real result_J_list,
int  noOfBasisFuncIndexPairs 
)

Computes the Coulomb interaction.

Parameters
basisInfo
integralInfo
J_K_paramsthe evaluation parameters, thresholds and all.
basisFuncIndexPairList
basisFuncIndexPairCountthe length of basisFuncIndexPairList.
D_listbasisFuncIndexPairCount elements, with indices matching basisFuncIndexPairList.
result_J_listpreallocated list that will contain the results.
noOfBasisFuncIndexPairsthe length of result_J_list. happens to be always equal to basisFuncIndexPairCount

References box_struct::basicBox, BoxSystem::boxList, box_struct::branchCountListForJ, box_struct::branchIndexListForJ, box_struct::branchListForJ, distr_org_mm_struct::Data::chargeSum, combine_mm_info_for_child_boxes(), compute_extent_for_list_of_distributions(), create_box_system_and_reorder_distrs(), create_branches(), distr_org_struct::data, distr_org_mm_struct::data, do_output(), execute_joblist_J_fmm_serial(), execute_joblist_J_fmm_thread(), execute_joblist_J_std_serial(), execute_joblist_J_std_threaded(), box_struct_basic::firstChildBoxIndex, JK::Params::fmm_box_size, generate_multipoles_for_groups(), get_branch_splitter_info(), get_joblists_J_for_two_boxes_recursive(), get_largest_and_smallest_extent_for_list_of_distributions(), get_list_of_labeled_distrs_linear(), get_list_of_labeled_distrs_maxLimitingFactor_linear(), get_max_abs_vector_element(), get_multipole_pt_for_box(), IntegralInfo::GetMultipolePrep(), distr_org_struct::groupList, HUGE_INTEGER_NUMBER, BoxSystem::levelList, LOG_AREA_INTEGRALS, LOG_CAT_ERROR, LOG_CAT_INFO, MAX_MULTIPOLE_DEGREE, MAX_NO_OF_BRANCHES, distr_org_struct::Data::maxNoOfMonomials, distr_org_struct::minimalDistrList, BasisInfoStruct::noOfBasisFuncs, box_level_struct::noOfBoxes, box_struct_basic::noOfChildBoxes, BoxSystem::noOfLevels, JK::Params::noOfThreads_J, distr_list_description_struct::org, distr_list_description_struct::org_mm, organize_distributions(), output_current_memory_usage(), Util::TimeMeter::print(), sort_list_of_multipole_jobs(), box_level_struct::startIndexInBoxList, JK::Params::threshold_J, BoxSystem::totNoOfBoxes, translate_multipoles_for_box(), JK::Params::use_fmm, and box_struct_basic::width.

Referenced by compute_J_by_boxes(), and compute_J_by_boxes_sparse().

◆ compute_J_by_boxes_nosymm()

int compute_J_by_boxes_nosymm ( const BasisInfoStruct basisInfo,
const IntegralInfo integralInfo,
const JK::Params J_K_params,
ergo_real J,
const ergo_real dens 
)