ergo
Main Page
Namespaces
Classes
Files
File List
File Members
grid_params.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
#if !defined(_GRID_PARAMS_H_)
29
#define _GRID_PARAMS_H_ 1
30
31
#include "
grid_atomic.h
"
32
33
namespace
Dft {
34
36
struct
HiCuGridParams
{
37
ergo_real
maxError
;
38
ergo_real
box_size
;
39
ergo_real
start_box_size_debug
;
40
int
use_error_per_volume
;
41
int
do_double_checking
;
42
int
compare_to_refined
;
43
int
use_energy_criterion
;
44
int
use_energy_criterion_only
;
45
int
do_variation_checking
;
46
};
47
49
struct
GridParams
{
53
ergo_real
boxSize
;
54
ergo_real
radint
;
55
int
angmin
;
56
int
angmax
;
57
typedef
enum
{
GC2
,
LMG
,
TURBO
}
RadialScheme
;
58
typedef
enum
{
TYPE_STANDARD
,
TYPE_HICU
}
GridType
;
59
RadialScheme
radialGridScheme
;
60
GridType
gridType
;
61
bool
cubicBoxes
;
63
/* The following are HiCu grid parameters. */
64
HiCuGridParams
hicuParams
;
65
explicit
GridParams
(
ergo_real
r_ = 1e-9,
int
a1 = 6,
int
a2 = 30,
66
ergo_real
bs = 5.0,
bool
cubic =
false
,
67
ergo_real
hicume = 1e-7,
68
ergo_real
hicubs = 1.5,
ergo_real
hicusbsd = 0,
69
int
hicuerrpervol = 0,
70
int
hicudodoublecheck = 1,
71
int
hicuctr = 0,
int
hicuuec = 0,
int
hicuueco = 0,
72
int
hicudovarcheck = 0)
73
:
boxSize
(bs),
radint
(r_),
angmin
(a1),
angmax
(a2),
radialGridScheme
(
LMG
),
74
gridType
(
TYPE_STANDARD
),
cubicBoxes
(cubic)
75
{
76
hicuParams
.
maxError
= hicume;
77
hicuParams
.
box_size
= hicubs;
78
hicuParams
.
start_box_size_debug
= hicusbsd;
79
hicuParams
.
use_error_per_volume
= hicuerrpervol;
80
hicuParams
.
do_double_checking
= hicudodoublecheck;
81
hicuParams
.
compare_to_refined
= hicuctr;
82
hicuParams
.
use_energy_criterion
= hicuuec;
83
hicuParams
.
use_energy_criterion_only
= hicuueco;
84
hicuParams
.
do_variation_checking
= hicudovarcheck;
85
}
86
};
87
88
}
89
#endif
/* _GRID_PARAMS_H_ */
source
dft
grid_params.h
Generated on Tue Nov 27 2012 21:33:19 for ergo by
1.8.1.2