ergo
Main Page
Namespaces
Classes
Files
File List
File Members
densityfitting.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 DENSITYFITTING_HEADER
29
#define DENSITYFITTING_HEADER
30
31
#include <stdio.h>
32
33
#include "
basisinfo.h
"
34
#include "
integrals_2el.h
"
35
36
37
typedef
struct
{
38
ergo_real
*
ptr
;
39
FILE *
f
;
40
unsigned
using_file:1;
41
}
DensfitData
;
42
43
DensfitData
*
densfit_init
(
const
IntegralInfo
* integralInfo,
44
const
BasisInfoStruct
& basisInfoDensFit);
45
void
densfit_destroy
(
DensfitData
*p);
46
47
int
densfit_compute_alpha_beta_matrix_inverse
(
const
IntegralInfo
* integralInfo,
48
const
BasisInfoStruct
& basisInfoDensFit,
49
ergo_real
* result_U_inverse);
50
51
int
densfit_compute_gamma
(
const
IntegralInfo
* integralInfo,
52
const
BasisInfoStruct
& basisInfoMain,
53
const
BasisInfoStruct
& basisInfoDensFit,
54
ergo_real
* densityMatrix,
55
ergo_real
* result_gamma,
56
ergo_real
threshold);
57
58
int
densfit_compute_c_vector
(
const
IntegralInfo
* integralInfo,
59
const
BasisInfoStruct
& basisInfoDensFit,
60
DensfitData
* U_inverse,
61
ergo_real
* gamma,
62
ergo_real
* result_c_vector);
63
64
int
densfit_compute_J
(
const
IntegralInfo
* integralInfo,
65
const
BasisInfoStruct
& basisInfoMain,
66
const
BasisInfoStruct
& basisInfoDensFit,
67
ergo_real
* c_vector,
68
ergo_real
* result_J,
69
ergo_real
threshold);
70
71
#endif
/* DENSITYFITTING_HEADER */
source
integrals
densityfitting.h
Generated on Fri Dec 21 2012 12:20:25 for ergo by
1.8.1.1