Go to the documentation of this file.
39 #ifndef ORGANIZE_DISTRS_MM_HEADER
40 #define ORGANIZE_DISTRS_MM_HEADER
58 void writeToBuffer(
char* dataBuffer,
size_t const bufferSize)
const;
67 void writeToBuffer(
char* dataBuffer,
size_t const bufferSize)
const;
int degree
Definition: multipole_prep.h:54
Treal template_blas_sqrt(Treal x)
Definition: multipole.h:51
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)
Definition: organize_distrs_mm.cc:308
int get_multipole_pt_for_box(const ergo_real *boxCenterCoords, ergo_real boxWidth, const ergo_real *averagePosList, int avgPosCounter, ergo_real *resultMultipolePoint)
Definition: organize_distrs_mm.cc:212
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)
Definition: organize_distrs_mm.cc:108
Code for computing multipole moments, and multipole interaction and translation matrices.
Definition: basisinfo.h:50
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)
Definition: organize_distrs_mm.cc:308
distr_org_mm_struct org_mm
Definition: organize_distrs_mm.h:65
Definition: organize_distrs.h:121
std::vector< minimal_distr_struct > minimalDistrList
Definition: organize_distrs.h:122
#define MAX_MULTIPOLE_DEGREE_BASIC
Definition: multipole_prep.h:48
#define LOG_CAT_ERROR
Definition: output.h:47
ergo_real centerCoords[3]
Definition: multipole_prep.h:53
ergo_real centerCoords[3]
x0, y0, z0
Definition: basisinfo.h:54
double ergo_real
Definition: realtype.h:69
ergo_real chargeSum
Definition: organize_distrs_mm.h:53
std::vector< batch_struct > batchList
Definition: organize_distrs.h:125
Definition: organize_distrs.h:51
ergo_real centerCoords[3]
Definition: organize_distrs.h:55
Definition: organize_distrs_mm.h:46
size_t getSize() const
Definition: organize_distrs_mm.cc:62
#define MAX_MULTIPOLE_DEGREE
Definition: multipole_prep.h:45
std::vector< distr_group_struct > groupList
Definition: organize_distrs.h:123
#define MAX_NO_OF_MOMENTS_PER_MULTIPOLE_BASIC
Definition: multipole_prep.h:49
std::vector< cluster_struct > clusterList
Definition: organize_distrs.h:124
monomial_info_struct monomial_info
Definition: integral_info.h:105
size_t getSize() const
Definition: organize_distrs_mm.cc:92
void writeToBuffer(char *dataBuffer, size_t const bufferSize) const
Definition: organize_distrs_mm.cc:82
ergo_real momentList[MAX_NO_OF_MOMENTS_PER_MULTIPOLE]
Definition: multipole_prep.h:56
ergo_real multipolePoint[3]
Definition: organize_distrs_mm.h:50
int noOfMoments
Definition: multipole_prep.h:55
int distrCount
Definition: organize_distrs.h:53
Definition: organize_distrs_mm.h:49
void assignFromBuffer(char const *dataBuffer, size_t const bufferSize)
Definition: organize_distrs_mm.cc:69
ergo_real maxMomentVectorNormForDistrsList[MAX_MULTIPOLE_DEGREE_BASIC+1]
Definition: organize_distrs_mm.h:52
Definition: multipole_prep.h:52
int iz
Definition: monomial_info.h:54
Contains coefficients needed for quick integral evaluation.
Definition: integral_info.h:94
int get_multipole_pt_for_box(const ergo_real *boxCenterCoords, ergo_real boxWidth, const ergo_real *averagePosList, int avgPosCounter, ergo_real *resultMultipolePoint)
Definition: organize_distrs_mm.cc:212
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)
Definition: organize_distrs_mm.cc:108
multipole_struct_large multipole
Definition: organize_distrs_mm.h:51
std::vector< multipole_struct_small > multipoleListForDistrs
Definition: organize_distrs_mm.h:48
#define MAX_NO_OF_MOMENTS_PER_MULTIPOLE
Definition: multipole_prep.h:46
int translate_multipoles_for_box(distr_org_mm_struct &result_org_mm, const distr_org_struct &org, const MMTranslator &translator)
Definition: organize_distrs_mm.cc:243
void writeToBuffer(char *dataBuffer, size_t const bufferSize) const
Definition: organize_distrs_mm.cc:53
distr_org_struct org
Definition: organize_distrs_mm.h:64
int noOfMoments
Definition: multipole_prep.h:65
int iy
Definition: monomial_info.h:53
#define LOG_AREA_INTEGRALS
Definition: output.h:60
int compute_multipole_moments(const IntegralInfo &integralInfo, const DistributionSpecStruct *distr, multipole_struct_small *result)
Definition: multipole.cc:49
int degree
Definition: multipole_prep.h:64
Definition: multipole_prep.h:62
Definition: organize_distrs_mm.h:63
char monomialInts[4]
nx, ny, nz
Definition: basisinfo.h:55
std::vector< basis_func_pair_struct > basisFuncPairList
Definition: organize_distrs.h:126
ergo_real coeff
Coefficient A.
Definition: basisinfo.h:51
ergo_real centerCoords[3]
Definition: multipole_prep.h:63
Data()
Definition: organize_distrs_mm.cc:45
void assignFromBuffer(char const *dataBuffer, size_t const bufferSize)
Definition: organize_distrs_mm.cc:96
ergo_real momentList[MAX_NO_OF_MOMENTS_PER_MULTIPOLE_BASIC]
Definition: multipole_prep.h:66
Code for organizing a given set of primitive Gaussian distributions (typically coming from basis func...
int translate_multipoles_for_box(distr_org_mm_struct &result_org_mm, const distr_org_struct &org, const MMTranslator &translator)
Definition: organize_distrs_mm.cc:243
std::vector< multipole_struct_small > multipoleListForGroups
Definition: organize_distrs_mm.h:47
int startIndex
Definition: organize_distrs.h:52
int getTranslationMatrix(ergo_real dx, ergo_real dy, ergo_real dz, int l_1, int l_2, ergo_real *result_W) const
Definition: multipole.cc:146
Data data
Definition: organize_distrs_mm.h:56
int setup_multipole_maxAbsMomentList(multipole_struct_large *multipole)
Definition: multipole.cc:418
monomial_struct * monomial_list
Definition: monomial_info.h:60
void do_output(int logCategory, int logArea, const char *format,...)
Definition: output.cc:53
int ix
Definition: monomial_info.h:52
ergo_real exponent
Definition: organize_distrs.h:56
ergo_real exponent
exponent alfa
Definition: basisinfo.h:52
Data data
Definition: organize_distrs.h:140
Code for organizing a given set of primitive Gaussian distributions (typically coming from basis func...