ergo
Main Page
Namespaces
Classes
Files
File List
File Members
integrals_2el.h
Go to the documentation of this file.
1
/* Ergo, version 3.2, a program for linear scaling electronic structure
2
* calculations.
3
* Copyright (C) 2012 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_HEADER
29
#define INTEGRALS_2EL_HEADER
30
31
#include "
basisinfo.h
"
32
33
34
namespace
JK {
35
36
struct
Params
37
{
38
int
use_naive_fockmatrix_construction
;
39
ergo_real
threshold_J
;
40
ergo_real
threshold_K
;
41
ergo_real
multipole_threshold_factor
;
42
int
use_densfit_for_J
;
43
int
use_differential_density
;
44
int
use_fmm
;
45
ergo_real
fmm_box_size
;
46
int
fmm_no_of_branches
;
47
ergo_real
fmm_branch_splitter_extent_1
;
48
ergo_real
fmm_branch_splitter_extent_2
;
49
ergo_real
fmm_branch_splitter_extent_3
;
50
ergo_real
fmm_branch_splitter_extent_4
;
51
ergo_real
fmm_branch_splitter_extent_5
;
52
ergo_real
exchange_box_size
;
53
int
noOfThreads_J
;
54
int
noOfThreads_K
;
55
56
Params
() :
use_naive_fockmatrix_construction
(0),
57
threshold_J
(1e-12),
58
threshold_K
(1e-12),
59
multipole_threshold_factor
(1),
60
use_densfit_for_J
(0),
61
use_differential_density
(0),
62
use_fmm
(1),
63
fmm_box_size
(5.0),
64
fmm_no_of_branches
(0),
65
fmm_branch_splitter_extent_1
(0),
66
fmm_branch_splitter_extent_2
(0),
67
fmm_branch_splitter_extent_3
(0),
68
fmm_branch_splitter_extent_4
(0),
69
fmm_branch_splitter_extent_5
(0),
70
exchange_box_size
(5.0),
71
noOfThreads_J
(1),
72
noOfThreads_K
(1)
73
{}
74
75
};
76
77
78
79
}
80
81
82
#if 0
83
84
typedef
struct
85
{
86
int
shell_idx_1;
87
int
shell_idx_2;
88
int
noOfExponentPairs;
89
int
exponentPairIndex;
90
} shell_pair_struct;
91
92
93
typedef
struct
94
{
95
int
idx_1;
96
int
idx_2;
97
int
productOrgIdx;
98
ergo_real
exponent_1;
99
ergo_real
exponent_2;
100
ergo_real
coeff_1;
101
ergo_real
coeff_2;
102
ergo_real
coeff_12, exponent_12;
103
ergo_real
sizeOfProduct;
104
ergo_real
centerCoords_1[3];
105
ergo_real
centerCoords_2[3];
106
ergo_real
centerCoords_12[3];
107
int
n1max;
108
int
n2max;
109
} exponent_pair_struct;
110
111
#endif
112
113
114
#endif
source
integrals
integrals_2el.h
Generated on Wed Nov 21 2012 09:32:24 for ergo by
1.8.1.2