ergo
ci.h
Go to the documentation of this file.
1/* Ergo, version 3.8.2, a program for linear scaling electronic structure
2 * calculations.
3 * Copyright (C) 2023 Elias Rudberg, Emanuel H. Rubensson, Pawel Salek,
4 * and Anastasia Kruchinina.
5 *
6 * This program is free software: you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation, either version 3 of the License, or
9 * (at your option) any later version.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with this program. If not, see <http://www.gnu.org/licenses/>.
18 *
19 * Primary academic reference:
20 * Ergo: An open-source program for linear-scaling electronic structure
21 * calculations,
22 * Elias Rudberg, Emanuel H. Rubensson, Pawel Salek, and Anastasia
23 * Kruchinina,
24 * SoftwareX 7, 107 (2018),
25 * <http://dx.doi.org/10.1016/j.softx.2018.03.005>
26 *
27 * For further information about Ergo, see <http://www.ergoscf.org>.
28 */
29
37#ifndef CI_HEADER
38#define CI_HEADER
39
40#include "basisinfo.h"
41#include "integrals_2el.h"
42
43
44namespace CI {
45
46struct Options {
57
66 shift(0.0),
69 {
70 }
71};
72
73} /* End of CI namespace */
74
75
76int do_CI(
77 const BasisInfoStruct & basisInfo,
78 const IntegralInfo & integralInfo,
79 const CI::Options& options,
80 const Molecule & molecule,
81 const ergo_real* S,
82 const ergo_real* h_AO,
83 const ergo_real* F_a,
84 const ergo_real* F_b,
85 int n_el_a,
86 int n_el_b,
87 ergo_real nuclearEnergy,
88 ergo_real HF_energy
89 );
90
91
92#endif
Code for setting up basis functions starting from shells.
int do_CI(const BasisInfoStruct &basisInfo, const IntegralInfo &integralInfo, const CI::Options &options, const Molecule &molecule, const ergo_real *S, const ergo_real *h_AO, const ergo_real *F_a, const ergo_real *F_b, int n_el_a, int n_el_b, ergo_real nuclearEnergy, ergo_real HF_energy)
Definition: ci.cc:2596
Contains coefficients needed for quick integral evaluation.
Definition: integral_info.h:94
Representation of a molecule as a set of nuclei and total charge.
Definition: molecule.h:87
Parameters related to integral evaluation.
Definition: ci.h:44
double ergo_real
Definition: realtype.h:69
Definition: basisinfo.h:112
Definition: ci.h:46
int use_lowdin_orbitals
Definition: ci.h:48
int no_of_core_electrons
Definition: ci.h:49
ergo_real energy_diff_limit
Definition: ci.h:56
int use_random_orbitals
Definition: ci.h:47
ergo_real initial_step_length
Definition: ci.h:52
ergo_real convergence_threshold
Definition: ci.h:51
Options()
Initializes all the fields to sane values.
Definition: ci.h:59
int max_no_of_iterations
Definition: ci.h:53
int use_energy_diff_limit
Definition: ci.h:55
int use_random_starting_guess
Definition: ci.h:50
ergo_real shift
Definition: ci.h:54