ergo
organize_distrs.h File Reference

Code for organizing a given set of primitive Gaussian distributions (typically coming from basis function products); the distributions are grouped according to their location in space, their exponents, etc. More...

#include "output.h"
#include "multipole.h"
#include "simple_sparse_mat.h"
#include <vector>

Go to the source code of this file.

Classes

struct  distr_group_struct
 
struct  minimal_distr_struct
 
struct  cluster_struct
 
struct  basis_func_pair_struct
 
struct  batch_struct
 
struct  basis_func_group_info_for_box
 
struct  distr_org_struct
 
struct  distr_org_struct::Data
 

Macros

#define MAX_NO_OF_BASIS_FUNC_PAIRS_PER_BATCH   1000
 

Functions

int organize_distributions (const IntegralInfo &integralInfo, DistributionSpecStructLabeled *distrList_in, int distrCount, distr_org_struct *result, const ergo_real *boxCenterCoords, ergo_real boxWidth)
 

Detailed Description

Code for organizing a given set of primitive Gaussian distributions (typically coming from basis function products); the distributions are grouped according to their location in space, their exponents, etc.

Author
: Elias Rudberg responsible

Macro Definition Documentation

◆ MAX_NO_OF_BASIS_FUNC_PAIRS_PER_BATCH

#define MAX_NO_OF_BASIS_FUNC_PAIRS_PER_BATCH   1000

Function Documentation

◆ organize_distributions()

int organize_distributions ( const IntegralInfo integralInfo,
DistributionSpecStructLabeled distrList_in,
int  distrCount,
distr_org_struct result,
const ergo_real boxCenterCoords,
ergo_real  boxWidth 
)

References A, distr_org_struct::basisFuncList, distr_org_struct::basisFuncListForBatchs, distr_org_struct::basisFuncListForBatchs_map, distr_org_struct::basisFuncPairList, batch_struct::basisFuncPairListIndex, distr_org_struct::batchList, DistributionSpecStruct::centerCoords, distr_group_struct::centerCoords, distr_org_struct::clusterList, batch_struct::clusterStartIndex, DistributionSpecStruct::coeff, minimal_distr_struct::coeff, compute_multipole_moments(), distr_org_struct::data, multipole_struct_small::degree, DistributionSpecStructLabeled::distr, distr_group_struct::distrCount, do_output(), do_sort_int_list(), DistributionSpecStruct::exponent, distr_group_struct::exponent, get_conversion_matrix_for_group(), IntegralInfo::get_hermite_conversion_matrix_right_sparse(), distr_org_struct::groupList, monomial_struct::ix, monomial_struct::iy, monomial_struct::iz, LOG_AREA_INTEGRALS, LOG_CAT_ERROR, MAX_MULTIPOLE_DEGREE_BASIC, MAX_NO_OF_BASIS_FUNC_PAIRS_PER_BATCH, MAX_NO_OF_GROUPS_PER_CLUSTER, distr_org_struct::Data::maxDistanceOutsideBox, distr_org_struct::Data::maxExtent, distr_org_struct::Data::maxNoOfMonomials, distr_org_struct::minimalDistrList, multipole_struct_small::momentList, monomial_info_struct::monomial_index_list, IntegralInfo::monomial_info, monomial_info_struct::monomial_list, DistributionSpecStruct::monomialInts, distr_group_struct::multipoleEuclNormListForK, monomial_info_struct::no_of_monomials_list, NO_OF_SORT_BUCKETS, batch_struct::noOfBasisFuncPairs, batch_struct::noOfClusters, pi, spmat_sort_elements(), distr_org_struct::spMatCountList, distr_org_struct::spMatElementList, distr_org_struct::spMatIdxList, distr_group_struct::startIndex, template_blas_fabs(), template_blas_pow(), and template_blas_sqrt().

Referenced by compute_J_by_boxes_linear(), compute_JK_single_box(), and compute_K_by_boxes().