ergo
|
Go to the source code of this file.
Classes | |
struct | multipole_struct_large |
struct | multipole_struct_small |
class | MMTranslator |
class | MMInteractor |
Defines | |
#define | MAX_MULTIPOLE_DEGREE 15 |
#define | MAX_NO_OF_MOMENTS_PER_MULTIPOLE ((MAX_MULTIPOLE_DEGREE+1)*(MAX_MULTIPOLE_DEGREE+1)) |
#define | MAX_MULTIPOLE_DEGREE_BASIC BASIS_FUNC_POLY_MAX_DEGREE |
#define | MAX_NO_OF_MOMENTS_PER_MULTIPOLE_BASIC ((MAX_MULTIPOLE_DEGREE_BASIC+1)*(MAX_MULTIPOLE_DEGREE_BASIC+1)) |
Functions | |
int | init_multipole_code () |
int | compute_multipole_moments (const IntegralInfo &integralInfo, const DistributionSpecStruct *distr, multipole_struct_small *result) |
int | setup_multipole_maxAbsMomentList (multipole_struct_large *multipole) |
#define MAX_MULTIPOLE_DEGREE 15 |
#define MAX_MULTIPOLE_DEGREE_BASIC BASIS_FUNC_POLY_MAX_DEGREE |
Referenced by compute_V_linear(), do_multipole_interaction_between_2_boxes_branches(), get_joblists_J_for_two_boxes_recursive(), compute_J_by_boxes_linear(), compute_K_by_boxes(), distr_list_description_struct::distr_list_description_struct(), box_struct::box_struct(), MMLimitTable::init(), and compute_multipole_moments().
#define MAX_NO_OF_MOMENTS_PER_MULTIPOLE ((MAX_MULTIPOLE_DEGREE+1)*(MAX_MULTIPOLE_DEGREE+1)) |
#define MAX_NO_OF_MOMENTS_PER_MULTIPOLE_BASIC ((MAX_MULTIPOLE_DEGREE_BASIC+1)*(MAX_MULTIPOLE_DEGREE_BASIC+1)) |
Referenced by compute_J_by_boxes_linear(), MMLimitTable::init(), and compute_multipole_moments().
int compute_multipole_moments | ( | const IntegralInfo & | integralInfo, |
const DistributionSpecStruct * | distr, | ||
multipole_struct_small * | result | ||
) |
References DistributionSpecStruct_::monomialInts, multipole_struct_small::noOfMoments, MAX_NO_OF_MOMENTS_PER_MULTIPOLE_BASIC, IntegralInfo::no_of_basis_func_polys, IntegralInfo::basis_func_poly_list, basis_func_poly_struct::noOfTerms, basis_func_poly_struct::termList, basis_func_term_struct::monomialInts, DistributionSpecStruct_::coeff, basis_func_term_struct::coeff, compute_integral_of_simple_prim(), multipole_struct_small::momentList, basis_func_poly_struct::scaledSolidHarmonicPrefactor, do_output(), LOG_CAT_ERROR, LOG_AREA_INTEGRALS, MAX_MULTIPOLE_DEGREE_BASIC, multipole_struct_small::degree, multipole_struct_small::centerCoords, and DistributionSpecStruct_::centerCoords.
Referenced by compute_V_linear(), execute_joblist_J_fmm_shared(), compute_J_by_boxes_linear(), and compute_K_by_boxes().
int init_multipole_code | ( | ) |
References global_initialized_flag, MAX_MULTIPOLE_DEGREE, global_lm_factor_list, get_lm_factor_slow(), A, MAX_NO_OF_MOMENTS_PER_MULTIPOLE, and get_l_m_from_index().
Referenced by compute_V_linear(), compute_J_by_boxes_linear(), and MMLimitTable::init().
int setup_multipole_maxAbsMomentList | ( | multipole_struct_large * | multipole | ) |