|
ergo
|
Code for computing multipole moments, and multipole interaction and translation matrices. More...
#include <memory.h>#include <stdio.h>#include <stdlib.h>#include <math.h>#include "multipole.h"#include "output.h"#include "integrals_general.h"Classes | |
| struct | l_m_struct |
Functions | |
| static ergo_real | slow_factorial (int n) |
| static ergo_real | get_lm_factor_slow (int l, int m) |
| static ergo_real | get_lm_factor (int l, int m) |
| static void | get_l_m_from_index (int index, int *result_l, int *result_m) |
| 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) |
Variables | |
| static int | global_initialized_flag = 0 |
| static ergo_real | global_lm_factor_list [MAX_MULTIPOLE_DEGREE+1][MAX_MULTIPOLE_DEGREE+1] |
| static l_m_struct | global_l_m_list [MAX_NO_OF_MOMENTS_PER_MULTIPOLE] |
Code for computing multipole moments, and multipole interaction and translation matrices.
| int compute_multipole_moments | ( | const IntegralInfo & | integralInfo, |
| const DistributionSpecStruct * | distr, | ||
| multipole_struct_small * | result | ||
| ) |
References IntegralInfo::basis_func_poly_list, DistributionSpecStruct_::centerCoords, multipole_struct_small::centerCoords, DistributionSpecStruct_::coeff, basis_func_term_struct::coeff, compute_integral_of_simple_prim(), multipole_struct_small::degree, do_output(), LOG_AREA_INTEGRALS, LOG_CAT_ERROR, MAX_MULTIPOLE_DEGREE_BASIC, MAX_NO_OF_MOMENTS_PER_MULTIPOLE_BASIC, multipole_struct_small::momentList, DistributionSpecStruct_::monomialInts, basis_func_term_struct::monomialInts, IntegralInfo::no_of_basis_func_polys, multipole_struct_small::noOfMoments, basis_func_poly_struct::noOfTerms, basis_func_poly_struct::scaledSolidHarmonicPrefactor, and basis_func_poly_struct::termList.
Referenced by compute_J_by_boxes_linear(), compute_K_by_boxes(), compute_V_and_gradient_linear(), and execute_joblist_J_fmm_shared().
|
static |
Referenced by init_multipole_code().
|
static |
References global_lm_factor_list.
Referenced by MMInteractor::getInteractionMatrix(), and MMTranslator::getTranslationMatrix().
|
static |
References slow_factorial().
Referenced by init_multipole_code().
| int init_multipole_code | ( | ) |
| int setup_multipole_maxAbsMomentList | ( | multipole_struct_large * | multipole | ) |
|
static |
Referenced by get_lm_factor_slow().
|
static |
Referenced by init_multipole_code(), MMInteractor::MMInteractor(), and MMTranslator::MMTranslator().
|
static |
|
static |
Referenced by get_lm_factor(), and init_multipole_code().