38 #ifndef BASISINFO_BASIC_HEADER
39 #define BASISINFO_BASIC_HEADER
49 #ifndef BASIS_FUNC_POLY_MAX_DEGREE
50 #error The constant BASIS_FUNC_POLY_MAX_DEGREE must be defined.
52 #if BASIS_FUNC_POLY_MAX_DEGREE<6
53 #define MAX_NO_OF_TERMS_IN_BASIS_FUNC_POLY 12
54 #define MAX_NO_OF_POLY_12_TERMS 180
55 #define MAX_NO_OF_BASIS_FUNC_POLYS 50
57 #define MAX_NO_OF_TERMS_IN_BASIS_FUNC_POLY 16
58 #define MAX_NO_OF_POLY_12_TERMS 360
59 #define MAX_NO_OF_BASIS_FUNC_POLYS 100
136 void write_to_buffer (
char * dataBuffer,
size_t const bufferSize )
const;
Code for Boys function evaluation.
Definition: boysfunction.h:73
Contains coefficients needed for quick integral evaluation.
Definition: integral_info.h:94
void assign_from_buffer(char const *dataBuffer, size_t const bufferSize)
Function needed for Chunks&Tasks usage.
Definition: integral_info.cc:377
hermite_conversion_info_struct hermite_conversion_info
Definition: integral_info.h:99
bool initialized
Definition: integral_info.h:100
ergo_real BoysFunction_expensive(int n, ergo_real x, int noOfIntegrationIntervals) const
Definition: integral_info.cc:249
int no_of_basis_func_polys
Definition: integral_info.h:104
ergo_real BoysFunction(int n, ergo_real x) const
Definition: integral_info.cc:243
MMLimitTable mmLimitTable
Definition: integral_info.h:98
MultipolePrepManager multipolePrep
Definition: integral_info.h:97
void write_to_buffer(char *dataBuffer, size_t const bufferSize) const
Function needed for Chunks&Tasks usage.
Definition: integral_info.cc:331
int multiply_by_hermite_conversion_matrix_from_left(int n1max, int n2max, ergo_real a, ergo_real *A, ergo_real *result) const
Definition: integral_info.cc:261
const MMLimitTable & GetMMLimitTable() const
Definition: integral_info.h:110
~IntegralInfo()
Definition: integral_info.cc:312
basis_func_poly_struct basis_func_poly_list[MAX_NO_OF_BASIS_FUNC_POLYS]
Definition: integral_info.h:103
BoysFunctionManager boysFunctionManager
Definition: integral_info.h:96
int get_hermite_conversion_matrix_right(int nmax, ergo_real a, ergo_real *result) const
Definition: integral_info.cc:269
size_t get_size() const
Function needed for Chunks&Tasks usage.
Definition: integral_info.cc:365
int get_hermite_conversion_matrix_left(int nmax, ergo_real a, ergo_real *result) const
Definition: integral_info.cc:275
void init()
Definition: integral_info.cc:287
int multiply_by_hermite_conversion_matrix_from_right(int n1max, int n2max, ergo_real a, ergo_real *A, ergo_real *result) const
Definition: integral_info.cc:253
const MultipolePrepManager & GetMultipolePrep() const
Definition: integral_info.h:109
monomial_info_struct monomial_info
Definition: integral_info.h:105
int get_hermite_conversion_matrix_right_sparse(int nmax, ergo_real a, i_j_val_struct *result) const
Definition: integral_info.cc:281
Definition: mm_limit_table.h:45
Definition: multipole_prep.h:69
Definition: hermite_conversion_prep.h:71
Code for conversion between integrals computed for Hermite Gaussians and Cartesian Gaussians,...
#define MAX_NO_OF_TERMS_IN_BASIS_FUNC_POLY
Definition: integral_info.h:53
#define MAX_NO_OF_BASIS_FUNC_POLYS
Definition: integral_info.h:55
#define MAX_NO_OF_POLY_12_TERMS
Definition: integral_info.h:54
int get_poly_info_from_shell_type(int *polyid_start, int *poly_count, int shellType)
int get_shell_type_from_basis_func_poly_id(int basfuncpolyid)
int get_no_of_basis_func_polys_used_from_no_of_shell_types(int no_of_shell_types)
MMLimitTable class used to predict the magnitude of contributions when using truncated multipole expa...
Code used to organize monomials; contributions like x, y, z, xy, xz etc.
This file contains preparatory stuff for computing multipole moments and related things.
Definition: integral_info.h:142
Definition of the main floating-point datatype used; the ergo_real type.
double ergo_real
Definition: realtype.h:69
Definition: integral_info.h:148
ergo_real alpha
Definition: integral_info.h:149
ergo_real beta
Definition: integral_info.h:150
int computeRangeSeparatedExchange
shortcut for |beta| != 0
Definition: integral_info.h:152
ExchWeights()
Definition: integral_info.h:154
ergo_real mu
Definition: integral_info.h:151
Definition: integral_info.h:70
int noOfTerms
Definition: integral_info.h:71
ergo_real scaledSolidHarmonicPrefactor
Definition: integral_info.h:73
Definition: integral_info.h:63
int monomialID
Definition: integral_info.h:66
ergo_real coeff
Definition: integral_info.h:64
Definition: simple_sparse_mat.h:42
Definition: monomial_info.h:58
Definition: integral_info.h:84
int noOfTerms
Definition: integral_info.h:85
Definition: integral_info.h:77
int id_2
Definition: integral_info.h:79
int id_1
Definition: integral_info.h:78
ergo_real coeff
Definition: integral_info.h:80