6
void overlap_LAMPS(int L_irr)
6
void overlap_LAMPS(struct L_Params L_params)
10
10
int i,j,a,b,I,J,A,B,Isym,Jsym,Asym,Bsym;
11
11
dpdfile2 T1, L1, T1A, T1B;
13
13
double value = 1.0;
14
14
double ST1A, ST1B, ST2AA, ST2BB, ST2AB, ST12AA, ST12BB, ST12AB;
15
char *L1A_lbl, *L1B_lbl, *L2AA_lbl, *L2BB_lbl, *L2AB_lbl, *L2RHF_lbl;
17
L1A_lbl = L_params.L1A_lbl;
18
L1B_lbl = L_params.L1B_lbl;
19
L2AA_lbl = L_params.L2AA_lbl;
20
L2BB_lbl = L_params.L2BB_lbl;
21
L2AB_lbl = L_params.L2AB_lbl;
22
L2RHF_lbl = L_params.L2RHF_lbl;
16
23
nirreps = moinfo.nirreps;
24
L_irr = L_params.irrep;
18
dpd_file2_init(&L1, CC_OEI, L_irr, 0, 1, "LIA");
26
dpd_file2_init(&L1, CC_LAMPS, L_irr, 0, 1, L1A_lbl);
19
27
dpd_file2_init(&T1, CC_OEI, 0, 0, 1, "tIA");
20
28
ST1A = dpd_file2_dot(&T1, &L1);
21
29
dpd_file2_close(&L1);
22
30
dpd_file2_close(&T1);
24
32
if(params.ref == 0 || params.ref == 1) { /** RHF/ROHF **/
25
dpd_file2_init(&L1, CC_OEI, L_irr, 0, 1, "Lia");
33
dpd_file2_init(&L1, CC_LAMPS, L_irr, 0, 1, L1B_lbl);
26
34
dpd_file2_init(&T1, CC_OEI, 0, 0, 1, "tia");
28
36
else if(params.ref == 2) { /** UHF **/
29
dpd_file2_init(&L1, CC_OEI, L_irr, 2, 3, "Lia");
37
dpd_file2_init(&L1, CC_LAMPS, L_irr, 2, 3, L1B_lbl);
30
38
dpd_file2_init(&T1, CC_OEI, 0, 2, 3, "tia");
32
40
ST1B = dpd_file2_dot(&T1, &L1);
33
41
dpd_file2_close(&L1);
34
42
dpd_file2_close(&T1);
36
dpd_buf4_init(&L2, CC_LAMPS, L_irr, 2, 7, 2, 7, 0, "LIJAB");
44
dpd_buf4_init(&L2, CC_LAMPS, L_irr, 2, 7, 2, 7, 0, L2AA_lbl);
37
45
dpd_buf4_init(&T2, CC_TAMPS, 0, 2, 7, 2, 7, 0, "tIJAB");
38
46
ST2AA = dpd_buf4_dot(&L2, &T2);
39
47
dpd_buf4_close(&T2);
40
48
dpd_buf4_close(&L2);
42
50
if(params.ref == 0 || params.ref == 1) { /** RHF/ROHF **/
43
dpd_buf4_init(&L2, CC_LAMPS, L_irr, 2, 7, 2, 7, 0, "Lijab");
51
dpd_buf4_init(&L2, CC_LAMPS, L_irr, 2, 7, 2, 7, 0, L2BB_lbl);
44
52
dpd_buf4_init(&T2, CC_TAMPS, 0, 2, 7, 2, 7, 0, "tijab");
46
54
else if(params.ref == 2) { /** UHF **/
47
dpd_buf4_init(&L2, CC_LAMPS, L_irr, 12, 17, 12, 17, 0, "Lijab");
55
dpd_buf4_init(&L2, CC_LAMPS, L_irr, 12, 17, 12, 17, 0, L2BB_lbl);
48
56
dpd_buf4_init(&T2, CC_TAMPS, 0, 12, 17, 12, 17, 0, "tijab");
50
58
ST2BB = dpd_buf4_dot(&L2, &T2);
52
60
dpd_buf4_close(&L2);
54
62
if(params.ref == 0 || params.ref == 1) { /** RHF/ROHF **/
55
dpd_buf4_init(&L2, CC_LAMPS, L_irr, 0, 5, 0, 5, 0, "LIjAb");
63
dpd_buf4_init(&L2, CC_LAMPS, L_irr, 0, 5, 0, 5, 0, L2AB_lbl);
56
64
dpd_buf4_init(&T2, CC_TAMPS, 0, 0, 5, 0, 5, 0, "tIjAb");
58
66
else if(params.ref == 2) { /** UHF **/
59
dpd_buf4_init(&L2, CC_LAMPS, L_irr, 22, 28, 22, 28, 0, "LIjAb");
67
dpd_buf4_init(&L2, CC_LAMPS, L_irr, 22, 28, 22, 28, 0, L2AB_lbl);
60
68
dpd_buf4_init(&T2, CC_TAMPS, 0, 22, 28, 22, 28, 0, "tIjAb");
62
70
ST2AB = dpd_buf4_dot(&L2, &T2);
105
113
if(params.ref == 0 || params.ref == 1)
106
dpd_buf4_init(&L2, CC_LAMPS, L_irr, 2, 7, 2, 7, 0, "Lijab");
114
dpd_buf4_init(&L2, CC_LAMPS, L_irr, 2, 7, 2, 7, 0, L2BB_lbl);
107
115
else if(params.ref == 2)
108
dpd_buf4_init(&L2, CC_LAMPS, L_irr, 12, 17, 12, 17, 0, "Lijab");
116
dpd_buf4_init(&L2, CC_LAMPS, L_irr, 12, 17, 12, 17, 0, L2BB_lbl);
110
118
for(h=0; h < nirreps; h++) {
111
119
dpd_buf4_mat_irrep_init(&L2, h); 0,
137
145
if(params.ref == 0 || params.ref == 1)
138
dpd_buf4_init(&L2, CC_LAMPS, L_irr, 0, 5, 0, 5, 0, "LIjAb");
146
dpd_buf4_init(&L2, CC_LAMPS, L_irr, 0, 5, 0, 5, 0, L2AB_lbl);
139
147
else if(params.ref == 2)
140
dpd_buf4_init(&L2, CC_LAMPS, L_irr, 22, 28, 22, 28, 0, "LIjAb");
148
dpd_buf4_init(&L2, CC_LAMPS, L_irr, 22, 28, 22, 28, 0, L2AB_lbl);
142
150
for(h=0; h < nirreps; h++) {
143
151
dpd_buf4_mat_irrep_init(&L2, h); 0,