ergo
multipole.cc File Reference

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]

Detailed Description

Code for computing multipole moments, and multipole interaction and translation matrices.

Author
: Elias Rudberg responsible.

Function Documentation

static void get_l_m_from_index ( int  index,
int *  result_l,
int *  result_m 
)
static

Referenced by init_multipole_code().

static ergo_real get_lm_factor ( int  l,
int  m 
)
static
static ergo_real get_lm_factor_slow ( int  l,
int  m 
)
static

References slow_factorial().

Referenced by init_multipole_code().

static ergo_real slow_factorial ( int  n)
static

Referenced by get_lm_factor_slow().

Variable Documentation

int global_initialized_flag = 0
static
ergo_real global_lm_factor_list[MAX_MULTIPOLE_DEGREE+1][MAX_MULTIPOLE_DEGREE+1]
static