10
14
/* #define DEBUG */
20
#include <libciomr/libciomr.h>
22
#include <libqt/slaterdset.h>
23
#include <physconst.h>
30
namespace psi { namespace detci {
32
extern int H0block_calc(double E);
33
extern void H0block_xy(double *x, double *y, double E);
34
extern void print_vec(unsigned int nprint, int *Iacode, int *Ibcode,
35
int *Iaidx, int *Ibidx, double *coeff,
36
struct olsen_graph *AlphaG, struct olsen_graph *BetaG,
37
struct stringwr **alplist, struct stringwr **betlist,
39
extern void parse_import_vector(SlaterDetSet *sdset, int *i_alplist,
40
int *i_alpidx, int *i_betlist, int *i_betidx, int *i_blknums);
42
extern void H0block_coupling_calc(double E, struct stringwr **alplist,
43
struct stringwr **betlist);
12
45
#define MALPHA_TOLERANCE 1E-15
20
#include <libciomr/libciomr.h>
22
#include <libqt/slaterdset.h>
23
#include <physconst.h>
29
extern int H0block_calc(double E);
30
extern void H0block_xy(double *x, double *y, double E);
31
extern void print_vec(unsigned int nprint, int *Iacode, int *Ibcode,
32
int *Iaidx, int *Ibidx, double *coeff,
33
struct olsen_graph *AlphaG, struct olsen_graph *BetaG,
34
struct stringwr **alplist, struct stringwr **betlist,
36
extern void parse_import_vector(SlaterDetSet *sdset, int *i_alplist,
37
int *i_alpidx, int *i_betlist, int *i_betidx, int *i_blknums);
41
extern void H0block_coupling_calc(double E, struct stringwr **alplist,
42
struct stringwr **betlist);
45
47
void sem_iter(CIvect &Hd, struct stringwr **alplist, struct stringwr
46
48
**betlist, double *evals, double conv_e,
47
49
double conv_rms, double enuc, double efzc,
1076
1078
Dvec.civ_xpeay(tval, Cvec, i, j);
1079
fprintf(outfile, "\nROOT %d ECI = %17.13lf", i+1,
1081
fprintf(outfile, "\n* ROOT %d CI total energy = %17.13lf", i+1,
1080
1082
evals[i] + enuc + efzc);
1082
1084
if (nroots > 1) {