ergo
Main Page
Namespaces
Classes
Files
File List
File Members
rho-mat.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 RHOMAT_HEADER
29
#define RHOMAT_HEADER 1
30
31
#include "
grid_matrix.h
"
32
35
void
36
getrho_blocked_lda
(
int
nbast,
const
real
* dmat,
const
real
* gao,
37
const
int
* nblocks,
const
int
(*iblocks)[2],
38
int
ldaib,
real
*tmp,
int
nvclen,
real
*rho);
39
40
inline
void
41
getrho_blocked_lda
(
int
nbast,
const
Dft::FullMatrix
& m,
const
real
* gao,
42
const
int
* nblocks,
const
int
(*iblocks)[2],
43
int
ldaib,
real
*tmp,
int
nvclen,
real
*rho)
44
{
45
getrho_blocked_lda
(nbast, m.
mat
, gao, nblocks, iblocks,
46
ldaib, tmp, nvclen, rho);
47
}
48
49
50
void
51
getrho_blocked_gga
(
int
nbast,
const
real
* dmat,
const
real
* gao,
52
const
int
* nblocks,
const
int
(*iblocks)[2],
53
int
ldaib,
real
*tmp,
int
nvclen,
54
real
*rho,
real
(*grad)[3]);
55
56
inline
void
57
getrho_blocked_gga
(
int
nbast,
const
Dft::FullMatrix
& dmat,
const
real
* gao,
58
const
int
* nblocks,
const
int
(*iblocks)[2],
59
int
ldaib,
real
*tmp,
int
nvclen,
60
real
*rho,
real
(*grad)[3])
61
{
62
getrho_blocked_gga
(nbast, dmat.
mat
, gao, nblocks, iblocks,
63
ldaib, tmp, nvclen, rho, grad);
64
}
65
66
void
67
getexp_blocked_lda
(
int
nbast,
const
real
* dmat,
const
real
* gao,
68
const
int
* nblocks,
const
int
(*iblocks)[2],
69
int
ldaib,
real
*tmp,
int
nvclen,
real
*rho);
70
void
71
getexp_blocked_gga
(
int
nbast,
const
real
* dmat,
const
real
* gao,
72
const
int
* nblocks,
const
int
(*iblocks)[2],
73
int
ldaib,
real
*tmp,
int
nvclen,
74
real
(*rgrad)[4]);
75
76
#endif
source
dft
rho-mat.h
Generated on Fri Dec 21 2012 12:20:25 for ergo by
1.8.1.1