ergo
integrals_2el_layer.h
Go to the documentation of this file.
1 /* Ergo, version 3.4, a program for linear scaling electronic structure
2  * calculations.
3  * Copyright (C) 2014 Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek.
4  *
5  * This program is free software: you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License as published by
7  * the Free Software Foundation, either version 3 of the License, or
8  * (at your option) any later version.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License
16  * along with this program. If not, see <http://www.gnu.org/licenses/>.
17  *
18  * Primary academic reference:
19  * Kohn−Sham Density Functional Theory Electronic Structure Calculations
20  * with Linearly Scaling Computational Time and Memory Usage,
21  * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek,
22  * J. Chem. Theory Comput. 7, 340 (2011),
23  * <http://dx.doi.org/10.1021/ct100611z>
24  *
25  * For further information about Ergo, see <http://www.ergoscf.org>.
26  */
27 
28 #ifndef INTEGRALS_2EL_LAYER_HEADER
29 #define INTEGRALS_2EL_LAYER_HEADER
30 
31 #include "integral_info.h"
32 #include "basisinfo.h"
33 #include "integrals_2el.h"
34 #include "densityfitting.h"
35 
36 
37 int compute_2e_matrix_list(const BasisInfoStruct & basisInfo,
38  const IntegralInfo & integralInfo,
39  const JK::ExchWeights & CAM_params,
40  ergo_real** resultList,
41  ergo_real** densList,
42  int noOfMatrices,
43  const JK::Params& J_K_params);
44 
46  const IntegralInfo & integralInfo,
47  const JK::ExchWeights & CAM_params,
48  ergo_real** resultList,
49  ergo_real** densList,
50  int noOfMatrices,
51  const JK::Params& J_K_params);
52 
53 int compute_2e_matrix_exchange(const BasisInfoStruct & basisInfo,
54  const IntegralInfo & integralInfo,
55  const JK::ExchWeights & CAM_params,
56  ergo_real* K,
57  ergo_real* dens,
58  ergo_real threshold);
59 
60 int compute_2e_matrices_exchange(const BasisInfoStruct & basisInfo,
61  const IntegralInfo & integralInfo,
62  const JK::ExchWeights & CAM_params,
63  int noOfMatrices,
64  ergo_real** K_list,
65  ergo_real** D_list,
66  ergo_real threshold);
67 
68 int compute_2e_matrix_coulomb(const BasisInfoStruct & basisInfo,
69  const BasisInfoStruct & basisInfoDensFit,
70  const IntegralInfo & integralInfo,
71  ergo_real* J,
72  ergo_real* dens,
73  const JK::Params& J_K_params,
74  DensfitData* U_inverse);
75 
76 
77 
78 #endif
int compute_2e_matrix_list_difden(const BasisInfoStruct &basisInfo, const IntegralInfo &integralInfo, const JK::ExchWeights &CAM_params, ergo_real **resultList, ergo_real **densList, int noOfMatrices, const JK::Params &J_K_params)
Definition: integrals_2el_layer.cc:47
double ergo_real
Definition: realtype.h:53
Definition: integrals_2el.h:36
Definition: densityfitting.h:37
Definition: integral_info.h:130
Contains coefficients needed for quick integral evaluation.
Definition: integral_info.h:81
int compute_2e_matrix_coulomb(const BasisInfoStruct &basisInfo, const BasisInfoStruct &basisInfoDensFit, const IntegralInfo &integralInfo, ergo_real *J, ergo_real *dens, const JK::Params &J_K_params, DensfitData *U_inverse)
Definition: integrals_2el_layer.cc:332
Definition: basisinfo.h:111
int compute_2e_matrices_exchange(const BasisInfoStruct &basisInfo, const IntegralInfo &integralInfo, const JK::ExchWeights &CAM_params, int noOfMatrices, ergo_real **K_list, ergo_real **D_list, ergo_real threshold)
Definition: integrals_2el_layer.cc:317
int compute_2e_matrix_list(const BasisInfoStruct &basisInfo, const IntegralInfo &integralInfo, const JK::ExchWeights &CAM_params, ergo_real **resultList, ergo_real **densList, int noOfMatrices, const JK::Params &J_K_params)
Definition: integrals_2el_layer.cc:159
int compute_2e_matrix_exchange(const BasisInfoStruct &basisInfo, const IntegralInfo &integralInfo, const JK::ExchWeights &CAM_params, ergo_real *K, ergo_real *dens, ergo_real threshold)
Definition: integrals_2el_layer.cc:304