ergo
Main Page
Namespaces
Classes
Files
File List
File Members
ci.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 CIHEADER
29
#define CIHEADER
30
31
#include "
basisinfo.h
"
32
#include "
integrals_2el.h
"
33
34
35
namespace
CI {
36
37
struct
Options
{
38
int
use_random_orbitals
;
39
int
use_lowdin_orbitals
;
40
int
no_of_core_electrons
;
41
int
use_random_starting_guess
;
42
ergo_real
convergence_threshold
;
43
ergo_real
initial_step_length
;
44
int
max_no_of_iterations
;
45
ergo_real
shift
;
46
int
use_energy_diff_limit
;
47
ergo_real
energy_diff_limit
;
48
50
Options
() :
use_random_orbitals
(0),
51
use_lowdin_orbitals
(0),
52
no_of_core_electrons
(0),
53
use_random_starting_guess
(0),
54
convergence_threshold
(1e-4),
55
initial_step_length
(0.01),
56
max_no_of_iterations
(30),
57
shift
(0.0),
58
use_energy_diff_limit
(0),
59
energy_diff_limit
(10.0)
60
{
61
}
62
};
63
64
}
/* End of CI namespace */
65
66
67
int
do_CI
(
68
const
BasisInfoStruct
& basisInfo,
69
const
IntegralInfo
* integralInfo,
70
const
CI::Options
& options,
71
const
ergo_real
* S,
72
const
ergo_real
* h_AO,
73
const
ergo_real
* F_a,
74
const
ergo_real
* F_b,
75
int
n_el_a,
76
int
n_el_b,
77
ergo_real
nuclearEnergy,
78
ergo_real
HF_energy
79
);
80
81
82
#endif
source
ci
ci.h
Generated on Fri Dec 21 2012 12:20:25 for ergo by
1.8.1.1