2
** RESPONSE: Program to compute various response properties.
9
#include <libipv1/ip_lib.h>
10
#include <libpsio/psio.h>
11
#include <libciomr/libciomr.h>
12
#include <libdpd/dpd.h>
13
#include <libchkpt/chkpt.h>
17
/* Max length of ioff array */
18
#define IOFF_MAX 32641
20
/* Function prototypes */
21
void init_io(int argc, char *argv[]);
23
void get_moinfo(void);
24
void get_params(void);
27
int **cacheprep_rhf(int level, int *cachefiles);
28
int **cacheprep_uhf(int level, int *cachefiles);
29
void build_A_RHF(void);
31
int main(int argc, char *argv[])
33
int **cachelist, *cachefiles;
40
cachefiles = init_int_array(PSIO_MAXUNIT);
42
if(params.ref == 2) { /*** UHF references ***/
43
cachelist = cacheprep_uhf(params.cachelev, cachefiles);
45
dpd_init(0, moinfo.nirreps, params.memory, 0, cachefiles, cachelist,
46
NULL, 4, moinfo.aoccpi, moinfo.aocc_sym, moinfo.avirtpi, moinfo.avir_sym,
47
moinfo.boccpi, moinfo.bocc_sym, moinfo.bvirtpi, moinfo.bvir_sym);
49
else { /*** RHF/ROHF references ***/
50
cachelist = cacheprep_rhf(params.cachelev, cachefiles);
52
dpd_init(0, moinfo.nirreps, params.memory, 0, cachefiles, cachelist, NULL,
53
2, moinfo.occpi, moinfo.occ_sym, moinfo.virtpi, moinfo.vir_sym);
58
/* transform mu integrals */
72
void init_io(int argc, char *argv[])
75
extern char *gprgid();
78
progid = (char *) malloc(strlen(gprgid())+2);
79
sprintf(progid, ":%s",gprgid());
81
psi_start(argc-1,argv+1,0); /* this assumes no cmdline args except filenames */
87
psio_open(PSIF_MO_HESS,0);
88
psio_open(CC_INFO, PSIO_OPEN_OLD);
89
psio_open(CC_OEI, PSIO_OPEN_OLD);
90
psio_open(CC_CINTS, PSIO_OPEN_OLD);
91
psio_open(CC_DINTS, PSIO_OPEN_OLD);
92
psio_open(CC_TMP0, PSIO_OPEN_NEW);
99
psio_close(PSIF_MO_HESS,1);
100
psio_close(CC_INFO, 1);
101
psio_close(CC_OEI, 1);
102
psio_close(CC_CINTS, 1);
103
psio_close(CC_DINTS, 1);
104
psio_close(CC_TMP0, 1);
113
char *prgid = "STABLE";
121
ioff = init_int_array(IOFF_MAX);
123
for(i=1; i < IOFF_MAX; i++) ioff[i] = ioff[i-1] + i;