ergo
|
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. |
int compute_J_by_boxes | ( | const BasisInfoStruct & | basisInfo, |
const IntegralInfo * | integralInfo, | ||
const JK::Params & | J_K_params, | ||
ergo_real * | J, | ||
const ergo_real * | dens | ||
) |
References BasisInfoStruct::noOfBasisFuncs, get_max_abs_vector_element(), get_basis_func_pair_list_2el(), JK::Params::threshold_J, do_output(), LOG_CAT_ERROR, LOG_AREA_INTEGRALS, LOG_CAT_INFO, and compute_J_by_boxes_linear().
Referenced by compute_J_by_boxes_nosymm(), compute_2e_matrix_list(), and compute_2e_matrix_coulomb().
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.
basisInfo | |
integralInfo | |
J_K_params | the evaluation parameters, thresholds and all. |
basisFuncIndexPairList | |
basisFuncIndexPairCount | the length of basisFuncIndexPairList. |
D_list | basisFuncIndexPairCount elements, with indices matching basisFuncIndexPairList. |
result_J_list | preallocated list that will contain the results. |
noOfBasisFuncIndexPairs | the length of result_J_list. happens to be always equal to basisFuncIndexPairCount |
References BasisInfoStruct::noOfBasisFuncs, do_output(), LOG_CAT_INFO, LOG_AREA_INTEGRALS, JK::Params::threshold_J, JK::Params::use_fmm, JK::Params::fmm_box_size, output_current_memory_usage(), init_multipole_code(), get_list_of_labeled_distrs_maxLimitingFactor_linear(), LOG_CAT_ERROR, get_list_of_labeled_distrs_linear(), get_max_abs_vector_element(), compute_extent_for_list_of_distributions(), get_largest_and_smallest_extent_for_list_of_distributions(), get_max_no_of_monomials_for_list_of_distributions(), create_box_system_and_reorder_distrs(), BoxSystem::totNoOfBoxes, BoxSystem::boxList, BoxSystem::noOfLevels, BoxSystem::levelList, box_level_struct::noOfBoxes, box_level_struct::startIndexInBoxList, MAX_NO_OF_BRANCHES, get_branch_splitter_info(), create_branches(), box_struct::branchIndexList, box_struct::branchCountList, organize_distributions(), box_struct::basicBox, box_struct_basic::width, box_struct::branchList, distr_list_description_struct::org, distr_org_struct::groupCount, distr_org_struct::minimalDistrCount, distr_org_struct::chunkList, distr_org_struct::clusterList, distr_org_struct::groupList, distr_org_struct::minimalDistrList, distr_org_struct::chunkCount, distr_org_struct::basisFuncPairList, distr_list_description_struct::maxMomentVectorNormForDistrsList, MAX_MULTIPOLE_DEGREE_BASIC, chunk_struct::noOfClusters, chunk_struct::clusterStartIndex, cluster_struct::groupStartIndex, cluster_struct::noOfGroups, distr_group_struct::multipolePtr, multipole_struct_small::degree, multipole_struct_small::noOfMoments, multipole_struct_small::centerCoords, distr_group_struct::centerCoords, multipole_struct_small::momentList, MAX_NO_OF_MOMENTS_PER_MULTIPOLE_BASIC, distr_group_struct::startIndex, distr_group_struct::distrCount, minimal_distr_struct::basisFuncPairIndex, minimal_distr_struct::monomialIndex, minimal_distr_struct::coeff, DistributionSpecStruct_::monomialInts, IntegralInfo::monomial_info, monomial_info_struct::monomial_list, monomial_struct::ix, monomial_struct::iy, monomial_struct::iz, DistributionSpecStruct_::coeff, DistributionSpecStruct_::exponent, distr_group_struct::exponent, DistributionSpecStruct_::centerCoords, compute_multipole_moments(), chunk_struct::basisFuncPairListIndex, basis_func_pair_struct::index_1, basis_func_pair_struct::index_2, basis_func_pair_struct::dmatElement, A, distr_list_description_struct::totCharge, box_struct::multipolePoint, box_struct_basic::centerCoords, MAX_MULTIPOLE_DEGREE, distr_list_description_struct::multipolePoint, MAX_NO_OF_MOMENTS_PER_MULTIPOLE, multipole_struct_large::momentList, multipole_struct_large::centerCoords, multipole_struct_large::degree, multipole_struct_large::noOfMoments, MMTranslator::getTranslationMatrix(), B, setup_multipole_maxAbsMomentList(), distr_list_description_struct::multipole, box_struct_basic::noOfChildBoxes, box_struct_basic::firstChildBoxIndex, distr_org_struct::maxExtent, distr_org_struct::maxDistanceOutsideBox, getSafeMaxDistance(), mm_limits_init(), get_joblists_J_for_two_boxes_recursive(), HUGE_INTEGER_NUMBER, JK::Params::noOfThreads_J, execute_joblist_J_std_serial(), execute_joblist_J_std_threaded(), sort_list_of_multipole_jobs(), execute_joblist_J_fmm_serial(), and execute_joblist_J_fmm_thread().
Referenced by compute_J_by_boxes(), and compute_J_by_boxes_sparse().
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 | ||
) |
References BasisInfoStruct::noOfBasisFuncs, and compute_J_by_boxes().
Referenced by ErgoE2Evaluator::transform().