00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00038 #ifndef INTEGRALS_1EL_POTENTIAL
00039 #define INTEGRALS_1EL_POTENTIAL
00040
00041 #include "basisinfo.h"
00042 #include "basis_func_pair_list_1el.h"
00043 #include "csr_matrix.h"
00044
00045 ergo_real simplePrimVintegral_list(const DistributionSpecStruct* list,
00046 int nPrims,
00047 const Atom & atom,
00048 const IntegralInfo & integralInfo);
00049
00050 int compute_V_matrix_full(const BasisInfoStruct& basisInfo,
00051 const IntegralInfo& integralInfo,
00052 int nAtoms,
00053 const Atom* atomList,
00054 ergo_real threshold,
00055 ergo_real* result);
00056
00057 int compute_V_and_gradient_linear(const BasisInfoStruct& basisInfo,
00058 const IntegralInfo& integralInfo,
00059 const Molecule& molecule,
00060 ergo_real threshold,
00061 ergo_real boxSize,
00062 const basis_func_index_pair_struct_1el* basisFuncIndexPairList,
00063 ergo_real* V_list,
00064 int noOfBasisFuncIndexPairs,
00065 bool compute_gradient_also,
00066 const ergo_real* D_list,
00067 ergo_real* result_gradient_list,
00068 ergo_real & result_nuclearRepulsionEnergy
00069 );
00070
00071 int compute_V_hierarchical(const BasisInfoStruct& basisInfo,
00072 const IntegralInfo& integralInfo,
00073 const Molecule& molecule,
00074 ergo_real threshold,
00075 ergo_real boxSize,
00076 const basis_func_index_pair_struct_1el* basisFuncIndexPairList,
00077 int noOfBasisFuncIndexPairs,
00078 csr_matrix_struct* V_CSR,
00079 ergo_real & result_nuclearRepulsionEnergy
00080 );
00081
00082
00083 #endif