ci.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 #ifndef CIHEADER
00029 #define CIHEADER
00030
00031 #include "basisinfo.h"
00032 #include "integrals_2el.h"
00033
00034
00035 namespace CI {
00036
00037 struct Options {
00038 int use_random_orbitals;
00039 int use_lowdin_orbitals;
00040 int no_of_core_electrons;
00041 int use_random_starting_guess;
00042 ergo_real convergence_threshold;
00043 ergo_real initial_step_length;
00044 int max_no_of_iterations;
00045 ergo_real shift;
00046 int use_energy_diff_limit;
00047 ergo_real energy_diff_limit;
00048
00050 Options() : use_random_orbitals(0),
00051 use_lowdin_orbitals(0),
00052 no_of_core_electrons(0),
00053 use_random_starting_guess(0),
00054 convergence_threshold(1e-4),
00055 initial_step_length(0.01),
00056 max_no_of_iterations(30),
00057 shift(0.0),
00058 use_energy_diff_limit(0),
00059 energy_diff_limit(10.0)
00060 {
00061 }
00062 };
00063
00064 }
00065
00066
00067 int do_CI(
00068 const BasisInfoStruct & basisInfo,
00069 const IntegralInfo* integralInfo,
00070 const CI::Options& options,
00071 const ergo_real* S,
00072 const ergo_real* h_AO,
00073 const ergo_real* F_a,
00074 const ergo_real* F_b,
00075 int n_el_a,
00076 int n_el_b,
00077 ergo_real nuclearEnergy,
00078 ergo_real HF_energy
00079 );
00080
00081
00082 #endif