38 #ifndef INTEGRALS_1EL_POTENTIAL_PREP_HEADER 39 #define INTEGRALS_1EL_POTENTIAL_PREP_HEADER 70 std::vector<DistributionSpecStructWithIndexes2>
distrList;
78 void write_to_buffer (
char * dataBuffer,
size_t const bufferSize )
const;
86 const std::vector<DistributionSpecStructWithIndexes2> & inputList,
90 template <
typename DistributionSpecStructType>
93 DistributionSpecStructType* d1 = (DistributionSpecStructType*)p1;
94 DistributionSpecStructType* d2 = (DistributionSpecStructType*)p2;
97 const ergo_real tolernance_exponent = 1e-11;
98 ergo_real dx = d1->distr.centerCoords[0] - d2->distr.centerCoords[0];
99 if(dx > tolernance_dist)
101 if(dx < -tolernance_dist)
103 ergo_real dy = d1->distr.centerCoords[1] - d2->distr.centerCoords[1];
104 if(dy > tolernance_dist)
106 if(dy < -tolernance_dist)
108 ergo_real dz = d1->distr.centerCoords[2] - d2->distr.centerCoords[2];
109 if(dz > tolernance_dist)
111 if(dz < -tolernance_dist)
113 ergo_real de = d1->distr.exponent - d2->distr.exponent;
114 if(de > tolernance_exponent)
116 if(de < -tolernance_exponent)
121 template <
typename DistributionSpecStructType>
124 int i = compare_distrs<DistributionSpecStructType>(&p1, &p2);
128 template <
typename DistributionSpecStructType>
131 std::sort(&list[0], &list[n], compare_distrs_bool<DistributionSpecStructType>);
Definition: integrals_1el_potential_prep.h:58
double ergo_real
Definition: realtype.h:69
int maxDegree
Definition: integrals_1el_potential_prep.h:54
int maxNoOfMoments
Definition: integrals_1el_potential_prep.h:53
Definition: integrals_1el_potential_prep.h:44
int count
Definition: integrals_1el_potential_prep.h:52
void assign_from_buffer(char const *dataBuffer, size_t const bufferSize)
Function needed for Chunks and Tasks usage.
Definition: integrals_1el_potential_prep.cc:112
ergo_real maxMomentVectorNormList[MAX_MULTIPOLE_DEGREE_BASIC+1]
Definition: integrals_1el_potential_prep.h:59
Definition: integrals_1el_potential_prep.h:69
void organize_distrs_for_V(const IntegralInfo &integralInfo, SetOfDistrsForV &setOfDistrsForV, const std::vector< DistributionSpecStructWithIndexes2 > &inputList, ergo_real threshold, ergo_real maxCharge)
Definition: integrals_1el_potential_prep.cc:141
Definition: integrals_1el_potential_prep.h:50
Code for setting up basis functions starting from shells.
void write_to_buffer(char *dataBuffer, size_t const bufferSize) const
Function needed for Chunks and Tasks usage.
Definition: integrals_1el_potential_prep.cc:60
ergo_real boundingCubeCenterCoords[3]
Definition: integrals_1el_potential_prep.h:65
Definition: basisinfo.h:50
int basisFuncIdx1
Definition: integrals_1el_potential_prep.h:46
Contains coefficients needed for quick integral evaluation.
Definition: integral_info.h:93
#define MAX_MULTIPOLE_DEGREE_BASIC
Definition: multipole_prep.h:48
SetOfDistrsForVInfo info
Definition: integrals_1el_potential_prep.h:74
std::vector< DistributionSpecStructWithIndexes2 > distrList
Definition: integrals_1el_potential_prep.h:70
int sort_distr_list(DistributionSpecStructType *list, int n)
Definition: integrals_1el_potential_prep.h:130
bool compare_distrs_bool(const DistributionSpecStructType &p1, const DistributionSpecStructType &p2)
Definition: integrals_1el_potential_prep.h:123
maxMomentVectorNormStruct maxMomentVectorNormForAll
Definition: integrals_1el_potential_prep.h:64
size_t get_size() const
Function needed for Chunks and Tasks usage.
Definition: integrals_1el_potential_prep.cc:92
std::vector< maxMomentVectorNormStruct > maxMomentVectorNormList
Definition: integrals_1el_potential_prep.h:73
Definition: integrals_1el_potential_prep.h:62
std::vector< group_struct > groupList
Definition: integrals_1el_potential_prep.h:72
int basisFuncIdx2
Definition: integrals_1el_potential_prep.h:47
ergo_real maxExtent
Definition: integrals_1el_potential_prep.h:55
ergo_real maxExtentForAll
Definition: integrals_1el_potential_prep.h:63
int compare_distrs(const void *p1, const void *p2)
Definition: integrals_1el_potential_prep.h:92
int startIndex
Definition: integrals_1el_potential_prep.h:51
SetOfDistrsForV()
Definition: integrals_1el_potential_prep.cc:42
ergo_real boundingCubeWidth
Definition: integrals_1el_potential_prep.h:66
std::vector< multipole_struct_small > multipoleList
Definition: integrals_1el_potential_prep.h:71
DistributionSpecStruct distr
Definition: integrals_1el_potential_prep.h:45