Go to the documentation of this file.
38 #ifndef MULTIPOLE_PREP_HEADER
39 #define MULTIPOLE_PREP_HEADER
45 #define MAX_MULTIPOLE_DEGREE 15
46 #define MAX_NO_OF_MOMENTS_PER_MULTIPOLE ((MAX_MULTIPOLE_DEGREE+1)*(MAX_MULTIPOLE_DEGREE+1))
48 #define MAX_MULTIPOLE_DEGREE_BASIC BASIS_FUNC_POLY_MAX_DEGREE
49 #define MAX_NO_OF_MOMENTS_PER_MULTIPOLE_BASIC ((MAX_MULTIPOLE_DEGREE_BASIC+1)*(MAX_MULTIPOLE_DEGREE_BASIC+1))
86 void write_to_buffer (
char * dataBuffer,
size_t const bufferSize )
const;
int m
Definition: multipole_prep.h:73
int degree
Definition: multipole_prep.h:54
Treal template_blas_sqrt(Treal x)
l_m_struct prepared_l_m_list[MAX_NO_OF_MOMENTS_PER_MULTIPOLE]
Definition: multipole_prep.h:78
Definition: multipole_prep.h:71
Definition of the main floating-point datatype used; the ergo_real type.
This file contains preparatory stuff for computing multipole moments and related things.
void assign_from_buffer(char const *dataBuffer, size_t const bufferSize)
Definition: multipole_prep.cc:116
double ergo_real
Definition: realtype.h:69
ergo_real get_lm_factor(int l, int m) const
Definition: multipole_prep.cc:98
static void get_l_m_from_index(int index, int *result_l, int *result_m)
Definition: multipole_prep.cc:61
bool is_initialized() const
Definition: multipole_prep.cc:91
Definition: multipole_prep.h:69
Constant determining which kinds of Gaussian basis functions are allowed; s, p, d,...
#define MAX_MULTIPOLE_DEGREE
Definition: multipole_prep.h:45
#define MAX_NO_OF_MOMENTS_PER_MULTIPOLE_BASIC
Definition: multipole_prep.h:49
void write_to_buffer(char *dataBuffer, size_t const bufferSize) const
Definition: multipole_prep.cc:105
MultipolePrepManager()
Definition: multipole_prep.cc:73
static ergo_real slow_factorial(int n)
Definition: multipole_prep.cc:49
int noOfMoments
Definition: multipole_prep.h:55
Definition: multipole_prep.h:52
const l_m_struct * get_l_m_list_ptr() const
Definition: multipole_prep.h:83
#define MAX_NO_OF_MOMENTS_PER_MULTIPOLE
Definition: multipole_prep.h:46
int noOfMoments
Definition: multipole_prep.h:65
int l
Definition: multipole_prep.h:72
int degree
Definition: multipole_prep.h:64
Definition: multipole_prep.h:62
int initialized_flag
Definition: multipole_prep.h:76
static ergo_real get_lm_factor_slow(int l, int m)
Definition: multipole_prep.cc:56
void init()
Definition: multipole_prep.cc:79
size_t get_size() const
Definition: multipole_prep.cc:112
Functionality for writing output messages to a text file.
ergo_real prepared_lm_factor_list[MAX_MULTIPOLE_DEGREE+1][MAX_MULTIPOLE_DEGREE+1]
Definition: multipole_prep.h:77