ergo
|
Code for organizing a given set of primitive Gaussian distributions (typically coming from basis function products) regarding information related to multipole methods. More...
Functions | |
int | generate_multipoles_for_groups (const IntegralInfo &integralInfo, const distr_org_struct &org, distr_org_mm_struct &result_org_mm, ergo_real *averagePosList, int &avgPosCounter) |
int | get_multipole_pt_for_box (const ergo_real *boxCenterCoords, ergo_real boxWidth, const ergo_real *averagePosList, int avgPosCounter, ergo_real *resultMultipolePoint) |
int | translate_multipoles_for_box (distr_org_mm_struct &result_org_mm, const distr_org_struct &org, const MMTranslator &translator) |
int | combine_mm_info_for_child_boxes (distr_list_description_struct &result_box_branch, const distr_list_description_struct **child_box_branches, int noOfChildren, const MMTranslator &translator) |
Code for organizing a given set of primitive Gaussian distributions (typically coming from basis function products) regarding information related to multipole methods.
int combine_mm_info_for_child_boxes | ( | distr_list_description_struct & | result_box_branch, |
const distr_list_description_struct ** | child_box_branches, | ||
int | noOfChildren, | ||
const MMTranslator & | translator | ||
) |
References A, B, multipole_struct_large::centerCoords, distr_org_struct::data, distr_org_mm_struct::data, multipole_struct_large::degree, MMTranslator::getTranslationMatrix(), MAX_MULTIPOLE_DEGREE, MAX_MULTIPOLE_DEGREE_BASIC, MAX_NO_OF_MOMENTS_PER_MULTIPOLE, distr_org_mm_struct::Data::maxMomentVectorNormForDistrsList, multipole_struct_large::momentList, distr_org_mm_struct::Data::multipole, multipole_struct_large::noOfMoments, distr_list_description_struct::org, distr_list_description_struct::org_mm, and setup_multipole_maxAbsMomentList().
Referenced by compute_J_by_boxes_linear().
int generate_multipoles_for_groups | ( | const IntegralInfo & | integralInfo, |
const distr_org_struct & | org, | ||
distr_org_mm_struct & | result_org_mm, | ||
ergo_real * | averagePosList, | ||
int & | avgPosCounter | ||
) |
References A, distr_org_struct::basisFuncPairList, distr_org_struct::batchList, DistributionSpecStruct::centerCoords, multipole_struct_small::centerCoords, distr_group_struct::centerCoords, distr_org_struct::clusterList, DistributionSpecStruct::coeff, compute_multipole_moments(), distr_org_mm_struct::data, multipole_struct_small::degree, distr_group_struct::distrCount, do_output(), DistributionSpecStruct::exponent, distr_group_struct::exponent, distr_org_struct::groupList, monomial_struct::ix, monomial_struct::iy, monomial_struct::iz, LOG_AREA_INTEGRALS, LOG_CAT_ERROR, MAX_MULTIPOLE_DEGREE_BASIC, MAX_NO_OF_MOMENTS_PER_MULTIPOLE_BASIC, distr_org_mm_struct::Data::maxMomentVectorNormForDistrsList, distr_org_struct::minimalDistrList, multipole_struct_small::momentList, IntegralInfo::monomial_info, monomial_info_struct::monomial_list, DistributionSpecStruct::monomialInts, distr_org_mm_struct::multipoleListForGroups, multipole_struct_small::noOfMoments, distr_group_struct::startIndex, and template_blas_sqrt().
Referenced by compute_J_by_boxes_linear().
int get_multipole_pt_for_box | ( | const ergo_real * | boxCenterCoords, |
ergo_real | boxWidth, | ||
const ergo_real * | averagePosList, | ||
int | avgPosCounter, | ||
ergo_real * | resultMultipolePoint | ||
) |
References do_output(), LOG_AREA_INTEGRALS, LOG_CAT_ERROR, and template_blas_sqrt().
Referenced by compute_J_by_boxes_linear().
int translate_multipoles_for_box | ( | distr_org_mm_struct & | result_org_mm, |
const distr_org_struct & | org, | ||
const MMTranslator & | translator | ||
) |
References A, B, distr_org_struct::batchList, multipole_struct_large::centerCoords, multipole_struct_small::centerCoords, distr_org_struct::clusterList, distr_org_mm_struct::data, multipole_struct_large::degree, multipole_struct_small::degree, MMTranslator::getTranslationMatrix(), MAX_MULTIPOLE_DEGREE, MAX_NO_OF_MOMENTS_PER_MULTIPOLE, multipole_struct_large::momentList, multipole_struct_small::momentList, distr_org_mm_struct::Data::multipole, distr_org_mm_struct::multipoleListForGroups, distr_org_mm_struct::Data::multipolePoint, multipole_struct_large::noOfMoments, multipole_struct_small::noOfMoments, and setup_multipole_maxAbsMomentList().
Referenced by compute_J_by_boxes_linear().