3
#include <libdpd/dpd.h>
8
/* This function computes <phi_i^a | Hbar | 0>. This will be zero as long
9
as the T amplitudes were obtained from CCSD computation with the same Hbar. */
17
dpdfile2 newtIA, newtia, tIA, tia, fIA, fia;
18
dpdfile2 FAE, Fae, FMI, Fmi, FME, Fme;
20
dpdbuf4 tIJAB, tijab, tIjAb, tiJaB, T2;
21
dpdbuf4 C, C_anti, D, F_anti, F, E_anti, E, Z;
22
int Gma, Gmi, Gm, Gi, Ga, ma, m, a, A, nrows, ncols, h, e, nirreps;
23
int *occpi, *virtpi, *openpi;
26
nirreps = moinfo.nirreps;
27
occpi = moinfo.occpi; virtpi = moinfo.virtpi;
28
openpi = moinfo.openpi;
34
if(params.ref == 0) { /** RHF **/
35
dpd_file2_init(&fIA, CC_OEI, 0, 0, 1, "fIA");
36
dpd_file2_copy(&fIA, CC_OEI, "FAI residual");
37
dpd_file2_close(&fIA);
39
dpd_file2_init(&newtIA, CC_OEI, 0, 0, 1, "FAI residual");
41
dpd_file2_init(&tIA, CC_OEI, 0, 0, 1, "tIA");
43
dpd_file2_init(&FAE, CC_OEI, 0, 1, 1, "FAE");
44
dpd_contract222(&tIA, &FAE, &newtIA, 0, 0, 1, 1);
45
dpd_file2_close(&FAE);
47
dpd_file2_init(&FMI, CC_OEI, 0, 0, 0, "FMI");
48
dpd_contract222(&FMI, &tIA, &newtIA, 1, 1, -1, 1);
49
dpd_file2_close(&FMI);
51
dpd_file2_close(&tIA);
53
dpd_file2_init(&FME, CC_OEI, 0, 0, 1, "FME");
55
dpd_buf4_init(&tIjAb, CC_TAMPS, 0, 10, 10, 10, 10, 0, "2 tIAjb - tIBja");
56
dpd_contract422(&tIjAb, &FME, &newtIA, 0, 0, 1, 1);
57
dpd_buf4_close(&tIjAb);
59
dpd_file2_close(&FME);
61
dpd_buf4_init(&C_anti, CC_CINTS, 0, 10, 10, 10, 10, 0, "C <ia||jb>");
62
dpd_buf4_init(&D, CC_DINTS, 0, 0, 5, 0, 5, 0, "D <ij|ab>");
64
dpd_file2_init(&tIA, CC_OEI, 0, 0, 1, "tIA");
66
dpd_dot14(&tIA, &C_anti, &newtIA, 0, 1, -1, 1);
67
dpd_dot13(&tIA, &D, &newtIA, 0, 0, 1, 1);
69
dpd_file2_close(&tIA);
71
dpd_buf4_close(&C_anti);
74
/* t(i,a) <-- (2 t(mi,ef) - t(mi,fe)) <ma|ef> */
75
/* out-of-core version replacing the *stupid* code above 3/22/05, TDC */
76
dpd_buf4_init(&Z, CC_TMP0, 0, 10, 0, 10, 0, 0, "Z(ma,mi)");
77
dpd_buf4_init(&F, CC_FINTS, 0, 10, 5, 10, 5, 0, "F 2<ia|bc> - <ia|cb>");
78
dpd_buf4_init(&tIjAb, CC_TAMPS, 0, 0, 5, 0, 5, 0, "tIjAb");
79
dpd_contract444(&F, &tIjAb, &Z, 0, 0, 1.0, 0.0);
80
dpd_buf4_close(&tIjAb);
82
dpd_trace42_13(&Z, &newtIA, 1, 1.0, 1.0);
85
dpd_buf4_init(&E, CC_EINTS, 0, 11, 0, 11, 0, 0, "E 2<ai|jk> - <ai|kj>");
86
dpd_buf4_init(&tIjAb, CC_TAMPS, 0, 0, 5, 0, 5, 0, "tIjAb");
87
dpd_contract442(&E, &tIjAb, &newtIA, 1, 3, -1, 1);
89
dpd_buf4_close(&tIjAb);
91
dotval = dpd_file2_dot_self(&newtIA);
92
fprintf(outfile,"\t Norm squared of <Phi_I^A|Hbar|0> = %20.15lf\n",dotval);
93
dpd_file2_close(&newtIA);
95
else if(params.ref == 1) { /** ROHF **/
97
dpd_file2_init(&fIA, CC_OEI, 0, 0, 1, "fIA");
98
dpd_file2_copy(&fIA, CC_OEI, "FAI residual");
99
dpd_file2_close(&fIA);
101
dpd_file2_init(&fia, CC_OEI, 0, 0, 1, "fia");
102
dpd_file2_copy(&fia, CC_OEI, "Fai residual");
103
dpd_file2_close(&fia);
105
dpd_file2_init(&newtIA, CC_OEI, 0, 0, 1, "FAI residual");
106
dpd_file2_init(&newtia, CC_OEI, 0, 0, 1, "Fai residual");
108
dpd_file2_init(&tIA, CC_OEI, 0, 0, 1, "tIA");
109
dpd_file2_init(&tia, CC_OEI, 0, 0, 1, "tia");
111
dpd_file2_init(&FAE, CC_OEI, 0, 1, 1, "FAE");
112
dpd_file2_init(&Fae, CC_OEI, 0, 1, 1, "Fae");
114
dpd_contract222(&tIA, &FAE, &newtIA, 0, 0, 1, 1);
115
dpd_contract222(&tia, &Fae, &newtia, 0, 0, 1, 1);
117
dpd_file2_close(&FAE); dpd_file2_close(&Fae);
119
dpd_file2_close(&tIA); dpd_file2_close(&tia);
121
dpd_file2_init(&tIA, CC_OEI, 0, 0, 1, "tIA");
122
dpd_file2_init(&tia, CC_OEI, 0, 0, 1, "tia");
124
dpd_file2_init(&FMI, CC_OEI, 0, 0, 0, "FMI");
125
dpd_file2_init(&Fmi, CC_OEI, 0, 0, 0, "Fmi");
127
dpd_contract222(&FMI, &tIA, &newtIA, 1, 1, -1, 1);
128
dpd_contract222(&Fmi, &tia, &newtia, 1, 1, -1, 1);
130
dpd_file2_close(&FMI); dpd_file2_close(&Fmi);
131
dpd_file2_close(&tIA); dpd_file2_close(&tia);
133
dpd_file2_init(&FME, CC_OEI, 0, 0, 1, "FME");
134
dpd_file2_init(&Fme, CC_OEI, 0, 0, 1, "Fme");
136
dpd_buf4_init(&tIJAB, CC_TAMPS, 0, 0, 5, 2, 7, 0, "tIJAB");
137
dpd_buf4_init(&tijab, CC_TAMPS, 0, 0, 5, 2, 7, 0, "tijab");
139
dpd_dot13(&FME, &tIJAB, &newtIA, 0, 0, 1, 1);
140
dpd_dot13(&Fme, &tijab, &newtia, 0, 0, 1, 1);
142
dpd_buf4_close(&tIJAB);
143
dpd_buf4_close(&tijab);
145
dpd_buf4_init(&tIjAb, CC_TAMPS, 0, 0, 5, 0, 5, 0, "tIjAb");
147
dpd_dot24(&Fme, &tIjAb, &newtIA, 0, 0, 1, 1);
148
dpd_dot13(&FME, &tIjAb, &newtia, 0, 0, 1, 1);
150
dpd_buf4_close(&tIjAb);
152
dpd_file2_close(&FME);
153
dpd_file2_close(&Fme);
155
dpd_buf4_init(&C_anti, CC_CINTS, 0, 10, 10, 10, 10, 0,
157
dpd_buf4_init(&D, CC_DINTS, 0, 0, 5, 0, 5, 0, "D <ij|ab>");
159
dpd_file2_init(&tIA, CC_OEI, 0, 0, 1, "tIA");
160
dpd_file2_init(&tia, CC_OEI, 0, 0, 1, "tia");
162
dpd_dot14(&tIA, &C_anti, &newtIA, 0, 1, -1, 1);
163
dpd_dot13(&tia, &D, &newtIA, 0, 0, 1, 1);
165
dpd_dot14(&tia, &C_anti, &newtia, 0, 1, -1, 1);
166
dpd_dot13(&tIA, &D, &newtia, 0, 0, 1, 1);
168
dpd_file2_close(&tIA);
169
dpd_file2_close(&tia);
171
dpd_buf4_close(&C_anti);
174
dpd_buf4_init(&F_anti, CC_FINTS, 0, 10, 7, 10, 5, 1, "F <ia|bc>");
175
dpd_buf4_init(&tIJAB, CC_TAMPS, 0, 0, 7, 2, 7, 0, "tIJAB");
176
dpd_buf4_init(&tijab, CC_TAMPS, 0, 0, 7, 2, 7, 0, "tijab");
178
dpd_contract442(&tIJAB, &F_anti, &newtIA, 1, 1, 1, 1);
179
dpd_contract442(&tijab, &F_anti, &newtia, 1, 1, 1, 1);
181
dpd_buf4_close(&tIJAB);
182
dpd_buf4_close(&tijab);
183
dpd_buf4_close(&F_anti);
185
dpd_buf4_init(&F, CC_FINTS, 0, 10, 5, 10, 5, 0, "F <ia|bc>");
186
dpd_buf4_init(&tIjAb, CC_TAMPS, 0, 0, 5, 0, 5, 0, "tIjAb");
187
dpd_buf4_init(&tiJaB, CC_TAMPS, 0, 0, 5, 0, 5, 0, "tiJaB");
189
dpd_contract442(&tiJaB, &F, &newtIA, 1, 1, 1, 1);
190
dpd_contract442(&tIjAb, &F, &newtia, 1, 1, 1, 1);
193
dpd_buf4_close(&tIjAb);
194
dpd_buf4_close(&tiJaB);
196
dpd_buf4_init(&E_anti, CC_EINTS, 0, 11, 2, 11, 0, 1, "E <ai|jk>");
197
dpd_buf4_init(&tIJAB, CC_TAMPS, 0, 2, 5, 2, 7, 0, "tIJAB");
198
dpd_buf4_init(&tijab, CC_TAMPS, 0, 2, 5, 2, 7, 0, "tijab");
200
dpd_contract442(&E_anti, &tIJAB, &newtIA, 1, 3, -1, 1);
201
dpd_contract442(&E_anti, &tijab, &newtia, 1, 3, -1, 1);
203
dpd_buf4_close(&E_anti);
204
dpd_buf4_close(&tIJAB);
205
dpd_buf4_close(&tijab);
207
dpd_buf4_init(&E, CC_EINTS, 0, 11, 0, 11, 0, 0, "E <ai|jk>");
208
dpd_buf4_init(&tIjAb, CC_TAMPS, 0, 0, 5, 0, 5, 0, "tIjAb");
209
dpd_buf4_init(&tiJaB, CC_TAMPS, 0, 0, 5, 0, 5, 0, "tiJaB");
211
dpd_contract442(&E, &tiJaB, &newtIA, 1, 3, -1, 1);
212
dpd_contract442(&E, &tIjAb, &newtia, 1, 3, -1, 1);
215
dpd_buf4_close(&tIjAb);
216
dpd_buf4_close(&tiJaB);
218
/* Purge FAI matrix elements */
219
dpd_file2_mat_init(&newtIA);
220
dpd_file2_mat_rd(&newtIA);
221
for(h=0; h < nirreps; h++) {
222
for(m=0; m<occpi[h]; m++)
223
for(e=(virtpi[h]-openpi[h]); e<virtpi[h]; e++)
224
newtIA.matrix[h][m][e] = 0.0;
226
dpd_file2_mat_wrt(&newtIA);
227
dpd_file2_mat_close(&newtIA);
229
/* Purge Fai matrix elements */
230
dpd_file2_mat_init(&newtia);
231
dpd_file2_mat_rd(&newtia);
232
for(h=0; h < nirreps; h++) {
233
for(e=0; e<virtpi[h]; e++)
234
for(m=(occpi[h]-openpi[h]); m<occpi[h]; m++)
235
newtia.matrix[h][m][e] = 0.0;
237
dpd_file2_mat_wrt(&newtia);
238
dpd_file2_mat_close(&newtia);
240
dotval = dpd_file2_dot_self(&newtIA);
241
fprintf(outfile,"\t Norm squared of <Phi_I^A|Hbar|0> = %20.15lf\n",dotval);
242
dotval = dpd_file2_dot_self(&newtia);
243
fprintf(outfile,"\t Norm squared of <Phi_i^a|Hbar|0> = %20.15lf\n",dotval);
245
dpd_file2_close(&newtIA); dpd_file2_close(&newtia);
247
else if(params.ref == 2) { /*** UHF ***/
249
dpd_file2_init(&fIA, CC_OEI, 0, 0, 1, "fIA");
250
dpd_file2_copy(&fIA, CC_OEI, "FAI residual");
251
dpd_file2_close(&fIA);
253
dpd_file2_init(&fia, CC_OEI, 0, 2, 3, "fia");
254
dpd_file2_copy(&fia, CC_OEI, "Fai residual");
255
dpd_file2_close(&fia);
257
dpd_file2_init(&newtIA, CC_OEI, 0, 0, 1, "FAI residual");
258
dpd_file2_init(&newtia, CC_OEI, 0, 2, 3, "Fai residual");
260
dpd_file2_init(&tIA, CC_OEI, 0, 0, 1, "tIA");
261
dpd_file2_init(&tia, CC_OEI, 0, 2, 3, "tia");
263
dpd_file2_init(&FAE, CC_OEI, 0, 1, 1, "FAE");
264
dpd_contract222(&tIA, &FAE, &newtIA, 0, 0, 1, 1);
265
dpd_file2_close(&FAE);
267
dpd_file2_init(&Fae, CC_OEI, 0, 3, 3, "Fae");
268
dpd_contract222(&tia, &Fae, &newtia, 0, 0, 1, 1);
269
dpd_file2_close(&Fae);
271
dpd_file2_init(&FMI, CC_OEI, 0, 0, 0, "FMI");
272
dpd_contract222(&FMI, &tIA, &newtIA, 1, 1, -1, 1);
273
dpd_file2_close(&FMI);
275
dpd_file2_init(&Fmi, CC_OEI, 0, 2, 2, "Fmi");
276
dpd_contract222(&Fmi, &tia, &newtia, 1, 1, -1, 1);
277
dpd_file2_close(&Fmi);
279
dpd_file2_close(&tIA);
280
dpd_file2_close(&tia);
282
dpd_file2_init(&FME, CC_OEI, 0, 0, 1, "FME");
283
dpd_file2_init(&Fme, CC_OEI, 0, 2, 3, "Fme");
286
dpd_buf4_init(&tIJAB, CC_TAMPS, 0, 0, 5, 2, 7, 0, "tIJAB");
287
dpd_dot13(&FME, &tIJAB, &newtIA, 0, 0, 1, 1);
288
dpd_buf4_close(&tIJAB);
290
dpd_buf4_init(&tijab, CC_TAMPS, 0, 10, 15, 12, 17, 0, "tijab");
291
dpd_dot13(&Fme, &tijab, &newtia, 0, 0, 1, 1);
292
dpd_buf4_close(&tijab);
294
dpd_buf4_init(&tIjAb, CC_TAMPS, 0, 22, 28, 22, 28, 0, "tIjAb");
295
dpd_dot24(&Fme, &tIjAb, &newtIA, 0, 0, 1, 1);
296
dpd_dot13(&FME, &tIjAb, &newtia, 0, 0, 1, 1);
297
dpd_buf4_close(&tIjAb);
299
dpd_file2_close(&FME);
300
dpd_file2_close(&Fme);
304
dpd_file2_init(&tIA, CC_OEI, 0, 0, 1, "tIA");
305
dpd_file2_init(&tia, CC_OEI, 0, 2, 3, "tia");
307
dpd_buf4_init(&C, CC_CINTS, 0, 20, 20, 20, 20, 0, "C <IA||JB>");
308
dpd_dot14(&tIA, &C, &newtIA, 0, 1, -1, 1);
311
dpd_buf4_init(&C, CC_CINTS, 0, 30, 30, 30, 30, 0, "C <ia||jb>");
312
dpd_dot14(&tia, &C, &newtia, 0, 1, -1, 1);
315
dpd_buf4_init(&D, CC_DINTS, 0, 23, 29, 23, 29, 0, "D <iJ|aB>");
316
dpd_dot13(&tia, &D, &newtIA, 0, 0, 1, 1);
319
dpd_buf4_init(&D, CC_DINTS, 0, 22, 28, 22, 28, 0, "D <Ij|Ab>");
320
dpd_dot13(&tIA, &D, &newtia, 0, 0, 1, 1);
323
dpd_file2_close(&tIA);
324
dpd_file2_close(&tia);
327
dpd_buf4_init(&F, CC_FINTS, 0, 20, 7, 20, 5, 1, "F <IA|BC>");
328
dpd_buf4_init(&tIJAB, CC_TAMPS, 0, 0, 7, 2, 7, 0, "tIJAB");
329
dpd_contract442(&tIJAB, &F, &newtIA, 1, 1, 1, 1);
330
dpd_buf4_close(&tIJAB);
333
dpd_buf4_init(&F, CC_FINTS, 0, 30, 17, 30, 15, 1, "F <ia|bc>");
334
dpd_buf4_init(&tijab, CC_TAMPS, 0, 10, 17, 12, 17, 0, "tijab");
335
dpd_contract442(&tijab, &F, &newtia, 1, 1, 1, 1);
336
dpd_buf4_close(&tijab);
339
dpd_buf4_init(&F, CC_FINTS, 0, 28, 26, 28, 26, 0, "F <Ab|Ci>");
340
dpd_buf4_init(&tIjAb, CC_TAMPS, 0, 22, 28, 22, 28, 0, "tIjAb");
341
dpd_contract442(&tIjAb, &F, &newtIA, 0, 2, 1, 1);
342
dpd_buf4_close(&tIjAb);
345
dpd_buf4_init(&F, CC_FINTS, 0, 24, 28, 24, 28, 0, "F <Ia|Bc>");
346
dpd_buf4_init(&tIjAb, CC_TAMPS, 0, 22, 28, 22, 28, 0, "tIjAb");
347
dpd_contract442(&tIjAb, &F, &newtia, 1, 1, 1, 1);
348
dpd_buf4_close(&tIjAb);
353
dpd_buf4_init(&E, CC_EINTS, 0, 21, 2, 21, 0, 1, "E <AI|JK>");
354
dpd_buf4_init(&tIJAB, CC_TAMPS, 0, 2, 5, 2, 7, 0, "tIJAB");
355
dpd_contract442(&E, &tIJAB, &newtIA, 1, 3, -1, 1);
358
dpd_buf4_init(&E, CC_EINTS, 0, 31, 12, 31, 10, 1, "E <ai|jk>");
359
dpd_buf4_init(&tijab, CC_TAMPS, 0, 12, 15, 12, 17, 0, "tijab");
360
dpd_contract442(&E, &tijab, &newtia, 1, 3, -1, 1);
363
dpd_buf4_init(&E, CC_EINTS, 0, 22, 24, 22, 24, 0, "E <Ij|Ka>");
364
dpd_buf4_init(&tIjAb, CC_TAMPS, 0, 22, 28, 22, 28, 0, "tIjAb");
365
dpd_contract442(&E, &tIjAb, &newtIA, 2, 2, -1, 1);
367
dpd_buf4_close(&tIjAb);
369
dpd_buf4_init(&E, CC_EINTS, 0, 23, 27, 23, 27, 0, "E <iJ|kA>");
370
dpd_buf4_init(&tIjAb, CC_TAMPS, 0, 23, 29, 23, 29, 0, "tiJaB");
371
dpd_contract442(&E, &tIjAb, &newtia, 2, 2, -1, 1);
373
dpd_buf4_close(&tIjAb);
375
dotval = dpd_file2_dot_self(&newtIA);
376
fprintf(outfile,"\t Norm squared of <Phi_I^A|Hbar|0> = %20.15lf\n",dotval);
377
dotval = dpd_file2_dot_self(&newtia);
378
fprintf(outfile,"\t Norm squared of <Phi_i^a|Hbar|0> = %20.15lf\n",dotval);
380
dpd_file2_close(&newtIA); dpd_file2_close(&newtia);
385
void Fae_for_Fai(void)
388
int ma,fe,ef,m,f,M,A,Gm,Ga,Ge,Gf,Gma,nrows,ncols;
392
dpdfile2 fAB, fab, fIA, fia;
395
dpdbuf4 F_anti, F, D_anti, D;
396
dpdbuf4 tautIJAB, tautijab, tautIjAb, taut;
398
nirreps = moinfo.nirreps;
400
if(params.ref == 0) { /** RHF **/
401
dpd_file2_init(&fAB, CC_OEI, 0, 1, 1, "fAB");
402
dpd_file2_copy(&fAB, CC_OEI, "FAE");
403
dpd_file2_close(&fAB);
405
else if(params.ref == 1) { /** ROHF **/
406
dpd_file2_init(&fAB, CC_OEI, 0, 1, 1, "fAB");
407
dpd_file2_copy(&fAB, CC_OEI, "FAE");
408
dpd_file2_close(&fAB);
410
dpd_file2_init(&fab, CC_OEI, 0, 1, 1, "fab");
411
dpd_file2_copy(&fab, CC_OEI, "Fae");
412
dpd_file2_close(&fab);
414
else if(params.ref == 2) { /** UHF **/
415
dpd_file2_init(&fAB, CC_OEI, 0, 1, 1, "fAB");
416
dpd_file2_copy(&fAB, CC_OEI, "FAE");
417
dpd_file2_close(&fAB);
419
dpd_file2_init(&fab, CC_OEI, 0, 3, 3, "fab");
420
dpd_file2_copy(&fab, CC_OEI, "Fae");
421
dpd_file2_close(&fab);
424
/* don't remove diagonal elements here */
426
if(params.ref == 0) { /** RHF **/
427
dpd_file2_init(&FAE, CC_OEI, 0, 1, 1, "FAE");
428
dpd_file2_init(&fIA, CC_OEI, 0, 0, 1, "fIA");
429
dpd_file2_init(&tIA, CC_OEI, 0, 0, 1, "tIA");
430
dpd_contract222(&tIA, &fIA, &FAE, 1, 1, -0.5, 1);
431
dpd_file2_close(&tIA);
432
dpd_file2_close(&fIA);
433
dpd_file2_close(&FAE);
435
/* Out-of-core algorithm for F->FAE added 3/20/05 - TDC */
436
/* Fae <-- t(m,f) [2 <ma|fe> - <ma|ef>] */
437
dpd_file2_init(&FAE, CC_OEI, 0, 1, 1, "FAE");
438
dpd_file2_mat_init(&FAE);
439
dpd_file2_mat_rd(&FAE);
440
dpd_file2_init(&tIA, CC_OEI, 0, 0, 1, "tIA");
441
dpd_file2_mat_init(&tIA);
442
dpd_file2_mat_rd(&tIA);
443
dpd_buf4_init(&F, CC_FINTS, 0, 10, 5, 10, 5, 0,"F <ia|bc>");
444
for(Gma=0; Gma < nirreps; Gma++) {
445
dpd_buf4_mat_irrep_row_init(&F, Gma);
446
X = init_array(F.params->coltot[Gma]);
448
for(ma=0; ma < F.params->rowtot[Gma]; ma++) {
449
dpd_buf4_mat_irrep_row_rd(&F, Gma, ma);
450
m = F.params->roworb[Gma][ma][0];
451
a = F.params->roworb[Gma][ma][1];
452
Gm = F.params->psym[m];
453
Ga = Ge = Gm ^ Gma; /* Fae is totally symmetric */
454
Gf = Gm; /* T1 is totally symmetric */
455
M = m - F.params->poff[Gm];
456
A = a - F.params->qoff[Ga];
458
zero_arr(X, F.params->coltot[Gma]);
460
/* build spin-adapted F-integrals for current ma */
461
for(fe=0; fe < F.params->coltot[Gma]; fe++) {
462
f = F.params->colorb[Gma][fe][0];
463
e = F.params->colorb[Gma][fe][1];
464
ef = F.params->colidx[e][f];
465
X[fe] = 2.0 * F.matrix[Gma][0][fe] - F.matrix[Gma][0][ef];
468
nrows = moinfo.virtpi[Gf];
469
ncols = moinfo.virtpi[Ge];
471
C_DGEMV('t',nrows,ncols,1.0,&X[F.col_offset[Gma][Gf]],ncols,
472
tIA.matrix[Gm][M],1,1.0,
473
FAE.matrix[Ga][A],1);
477
dpd_buf4_mat_irrep_row_close(&F, Gma);
480
dpd_file2_mat_close(&tIA);
481
dpd_file2_close(&tIA);
482
dpd_file2_mat_wrt(&FAE);
483
dpd_file2_mat_close(&FAE);
484
dpd_file2_close(&FAE);
486
dpd_file2_init(&FAE, CC_OEI, 0, 1, 1, "FAE");
488
dpd_buf4_init(&D, CC_DINTS, 0, 0, 5, 0, 5, 0, "D 2<ij|ab> - <ij|ba>");
489
dpd_buf4_init(&tautIjAb, CC_TAMPS, 0, 0, 5, 0, 5, 0, "tautIjAb");
490
dpd_contract442(&tautIjAb, &D, &FAE, 3, 3, -1, 1);
492
dpd_buf4_close(&tautIjAb);
494
/* Build the tilde intermediates */
495
dpd_file2_copy(&FAE, CC_OEI, "FAEt");
496
dpd_file2_close(&FAE);
498
dpd_file2_init(&FAEt, CC_OEI, 0, 1, 1, "FAEt");
500
dpd_file2_init(&tIA, CC_OEI, 0, 0, 1, "tIA");
501
dpd_file2_init(&FME, CC_OEI, 0, 0, 1, "FME");
502
dpd_contract222(&tIA, &FME, &FAEt, 1, 1, -0.5, 1);
503
dpd_file2_close(&tIA);
504
dpd_file2_close(&FME);
506
dpd_file2_close(&FAEt);
508
else if(params.ref == 1) { /** ROHF **/
509
dpd_file2_init(&FAE, CC_OEI, 0, 1, 1, "FAE");
510
dpd_file2_init(&Fae, CC_OEI, 0, 1, 1, "Fae");
512
dpd_file2_init(&fIA, CC_OEI, 0, 0, 1, "fIA");
513
dpd_file2_init(&tIA, CC_OEI, 0, 0, 1, "tIA");
514
dpd_contract222(&tIA, &fIA, &FAE, 1, 1, -0.5, 1);
515
dpd_file2_close(&tIA);
516
dpd_file2_close(&fIA);
518
dpd_file2_init(&fia, CC_OEI, 0, 0, 1, "fia");
519
dpd_file2_init(&tia, CC_OEI, 0, 0, 1, "tia");
520
dpd_contract222(&tia, &fia, &Fae, 1, 1, -0.5, 1);
521
dpd_file2_close(&tia);
522
dpd_file2_close(&fia);
524
dpd_buf4_init(&F_anti, CC_FINTS, 0, 10, 5, 10, 5, 1, "F <ia|bc>");
525
dpd_buf4_init(&F, CC_FINTS, 0, 10, 5, 10, 5, 0,"F <ia|bc>");
526
dpd_file2_init(&tIA, CC_OEI, 0, 0, 1, "tIA");
527
dpd_file2_init(&tia, CC_OEI, 0, 0, 1, "tia");
529
dpd_dot13(&tIA, &F_anti, &FAE, 0, 0, 1.0, 1.0);
530
dpd_dot13(&tia, &F, &FAE, 0, 0, 1.0, 1.0);
532
dpd_dot13(&tia, &F_anti, &Fae, 0, 0, 1.0, 1.0);
533
dpd_dot13(&tIA, &F, &Fae, 0, 0, 1.0, 1.0);
535
dpd_file2_close(&tIA);
536
dpd_file2_close(&tia);
537
dpd_buf4_close(&F_anti);
540
dpd_buf4_init(&D_anti, CC_DINTS, 0, 2, 5, 2, 5, 0, "D <ij||ab> (i>j,ab)");
542
dpd_buf4_init(&tautIJAB, CC_TAMPS, 0, 2, 5, 2, 7, 0, "tautIJAB");
543
dpd_buf4_init(&tautijab, CC_TAMPS, 0, 2, 5, 2, 7, 0, "tautijab");
545
dpd_contract442(&tautIJAB, &D_anti, &FAE, 2, 2, -1, 1);
546
dpd_contract442(&tautijab, &D_anti, &Fae, 2, 2, -1, 1);
548
dpd_buf4_close(&D_anti);
549
dpd_buf4_close(&tautIJAB);
550
dpd_buf4_close(&tautijab);
552
dpd_buf4_init(&D, CC_DINTS, 0, 0, 5, 0, 5, 0, "D <ij|ab>");
553
dpd_buf4_init(&tautIjAb, CC_TAMPS, 0, 0, 5, 0, 5, 0, "tautIjAb");
555
dpd_contract442(&tautIjAb, &D, &Fae, 3, 3, -1, 1);
556
dpd_contract442(&tautIjAb, &D, &FAE, 2, 2, -1, 1);
559
dpd_buf4_close(&tautIjAb);
562
/* Build the tilde intermediates */
563
dpd_file2_copy(&FAE, CC_OEI, "FAEt");
564
dpd_file2_copy(&Fae, CC_OEI, "Faet");
566
dpd_file2_close(&FAE);
567
dpd_file2_close(&Fae);
569
dpd_file2_init(&FAEt, CC_OEI, 0, 1, 1, "FAEt");
570
dpd_file2_init(&Faet, CC_OEI, 0, 1, 1, "Faet");
572
dpd_file2_init(&tIA, CC_OEI, 0, 0, 1, "tIA");
573
dpd_file2_init(&FME, CC_OEI, 0, 0, 1, "FME");
574
dpd_contract222(&tIA, &FME, &FAEt, 1, 1, -0.5, 1);
575
dpd_file2_close(&tIA);
576
dpd_file2_close(&FME);
578
dpd_file2_init(&tia, CC_OEI, 0, 0, 1, "tia");
579
dpd_file2_init(&Fme, CC_OEI, 0, 0, 1, "Fme");
580
dpd_contract222(&tia, &Fme, &Faet, 1, 1, -0.5, 1);
581
dpd_file2_close(&tia);
582
dpd_file2_close(&Fme);
584
dpd_file2_close(&FAEt);
585
dpd_file2_close(&Faet);
587
else if(params.ref == 2) { /** UHF **/
589
dpd_file2_init(&FAE, CC_OEI, 0, 1, 1, "FAE");
590
dpd_file2_init(&Fae, CC_OEI, 0, 3, 3, "Fae");
592
dpd_file2_init(&fIA, CC_OEI, 0, 0, 1, "fIA");
593
dpd_file2_init(&tIA, CC_OEI, 0, 0, 1, "tIA");
594
dpd_contract222(&tIA, &fIA, &FAE, 1, 1, -0.5, 1);
595
dpd_file2_close(&tIA);
596
dpd_file2_close(&fIA);
598
dpd_file2_init(&fia, CC_OEI, 0, 2, 3, "fia");
599
dpd_file2_init(&tia, CC_OEI, 0, 2, 3, "tia");
600
dpd_contract222(&tia, &fia, &Fae, 1, 1, -0.5, 1);
601
dpd_file2_close(&tia);
602
dpd_file2_close(&fia);
604
dpd_file2_init(&tIA, CC_OEI, 0, 0, 1, "tIA");
605
dpd_file2_init(&tia, CC_OEI, 0, 2, 3, "tia");
607
dpd_buf4_init(&F, CC_FINTS, 0, 20, 5, 20, 5, 1, "F <IA|BC>");
608
dpd_dot13(&tIA, &F, &FAE, 0, 0, 1, 1);
611
dpd_buf4_init(&F, CC_FINTS, 0, 27, 29, 27, 29, 0, "F <iA|bC>");
612
dpd_dot13(&tia, &F, &FAE, 0, 0, 1, 1);
615
dpd_buf4_init(&F, CC_FINTS, 0, 30, 15, 30, 15, 1, "F <ia|bc>");
616
dpd_dot13(&tia, &F, &Fae, 0, 0, 1, 1);
619
dpd_buf4_init(&F, CC_FINTS, 0, 24, 28, 24, 28, 0, "F <Ia|Bc>");
620
dpd_dot13(&tIA, &F, &Fae, 0, 0, 1, 1);
623
dpd_file2_close(&tIA);
624
dpd_file2_close(&tia);
626
dpd_buf4_init(&D, CC_DINTS, 0, 2, 5, 2, 5, 0, "D <IJ||AB> (I>J,AB)");
627
dpd_buf4_init(&taut, CC_TAMPS, 0, 2, 5, 2, 7, 0, "tautIJAB");
628
dpd_contract442(&taut, &D, &FAE, 2, 2, -1, 1);
629
dpd_buf4_close(&taut);
632
dpd_buf4_init(&D, CC_DINTS, 0, 22, 28, 22, 28, 0, "D <Ij|Ab>");
633
dpd_buf4_init(&taut, CC_TAMPS, 0, 22, 28, 22, 28, 0, "tautIjAb");
634
dpd_contract442(&taut, &D, &FAE, 2, 2, -1, 1);
635
dpd_buf4_close(&taut);
638
dpd_buf4_init(&D, CC_DINTS, 0, 12, 15, 12, 15, 0, "D <ij||ab> (i>j,ab)");
639
dpd_buf4_init(&taut, CC_TAMPS, 0, 12, 15, 12, 17, 0, "tautijab");
640
dpd_contract442(&taut, &D, &Fae, 2, 2, -1, 1);
641
dpd_buf4_close(&taut);
644
dpd_buf4_init(&D, CC_DINTS, 0, 22, 28, 22, 28, 0, "D <Ij|Ab>");
645
dpd_buf4_init(&taut, CC_TAMPS, 0, 22, 28, 22, 28, 0, "tautIjAb");
646
dpd_contract442(&taut, &D, &Fae, 3, 3, -1, 1);
647
dpd_buf4_close(&taut);
650
/* Build the tilde intermediates */
651
dpd_file2_copy(&FAE, CC_OEI, "FAEt");
652
dpd_file2_copy(&Fae, CC_OEI, "Faet");
654
dpd_file2_close(&FAE);
655
dpd_file2_close(&Fae);
657
dpd_file2_init(&FAEt, CC_OEI, 0, 1, 1, "FAEt");
658
dpd_file2_init(&Faet, CC_OEI, 0, 3, 3, "Faet");
660
dpd_file2_init(&tIA, CC_OEI, 0, 0, 1, "tIA");
661
dpd_file2_init(&FME, CC_OEI, 0, 0, 1, "FME");
662
dpd_contract222(&tIA, &FME, &FAEt, 1, 1, -0.5, 1);
663
dpd_file2_close(&tIA);
664
dpd_file2_close(&FME);
666
dpd_file2_init(&tia, CC_OEI, 0, 2, 3, "tia");
667
dpd_file2_init(&Fme, CC_OEI, 0, 2, 3, "Fme");
668
dpd_contract222(&tia, &Fme, &Faet, 1, 1, -0.5, 1);
669
dpd_file2_close(&tia);
670
dpd_file2_close(&Fme);
673
dpd_file2_close(&FAEt);
674
dpd_file2_close(&Faet);
678
void Fme_for_Fai(void)
680
dpdfile2 FME, Fme, fIA, fia, tIA, tia;
683
if(params.ref == 0) { /** RHF **/
684
dpd_file2_init(&fIA, CC_OEI, 0, 0, 1, "fIA");
685
dpd_file2_copy(&fIA, CC_OEI, "FME");
686
dpd_file2_close(&fIA);
688
dpd_file2_init(&FME, CC_OEI, 0, 0, 1, "FME");
690
dpd_buf4_init(&D_anti, CC_DINTS, 0, 0, 5, 0, 5, 0, "D <ij||ab>");
691
dpd_buf4_init(&D, CC_DINTS, 0, 0, 5, 0, 5, 0, "D <ij|ab>");
692
dpd_file2_init(&tIA, CC_OEI, 0, 0, 1, "tIA");
694
dpd_dot13(&tIA, &D_anti, &FME, 0, 0, 1.0, 1.0);
695
dpd_dot13(&tIA, &D, &FME, 0, 0, 1.0, 1.0);
697
dpd_file2_close(&tIA);
698
dpd_buf4_close(&D_anti);
701
dpd_file2_close(&FME);
703
else if(params.ref == 1) { /** ROHF **/
705
dpd_file2_init(&fIA, CC_OEI, 0, 0, 1, "fIA");
706
dpd_file2_copy(&fIA, CC_OEI, "FME");
707
dpd_file2_close(&fIA);
709
dpd_file2_init(&fia, CC_OEI, 0, 0, 1, "fia");
710
dpd_file2_copy(&fia, CC_OEI, "Fme");
711
dpd_file2_close(&fia);
713
dpd_file2_init(&FME, CC_OEI, 0, 0, 1, "FME");
714
dpd_file2_init(&Fme, CC_OEI, 0, 0, 1, "Fme");
716
dpd_buf4_init(&D_anti, CC_DINTS, 0, 0, 5, 0, 5, 0, "D <ij||ab>");
717
dpd_buf4_init(&D, CC_DINTS, 0, 0, 5, 0, 5, 0, "D <ij|ab>");
718
dpd_file2_init(&tIA, CC_OEI, 0, 0, 1, "tIA");
719
dpd_file2_init(&tia, CC_OEI, 0, 0, 1, "tia");
721
dpd_dot13(&tIA, &D_anti, &FME, 0, 0, 1.0, 1.0);
722
dpd_dot13(&tia, &D, &FME, 0, 0, 1.0, 1.0);
724
dpd_dot13(&tia, &D_anti, &Fme, 0, 0, 1.0, 1.0);
725
dpd_dot13(&tIA, &D, &Fme, 0, 0, 1.0, 1.0);
727
dpd_file2_close(&tIA);
728
dpd_file2_close(&tia);
729
dpd_buf4_close(&D_anti);
732
dpd_file2_close(&FME);
733
dpd_file2_close(&Fme);
735
else if(params.ref == 2) { /** UHF **/
737
dpd_file2_init(&fIA, CC_OEI, 0, 0, 1, "fIA");
738
dpd_file2_copy(&fIA, CC_OEI, "FME");
739
dpd_file2_close(&fIA);
741
dpd_file2_init(&fia, CC_OEI, 0, 2, 3, "fia");
742
dpd_file2_copy(&fia, CC_OEI, "Fme");
743
dpd_file2_close(&fia);
745
dpd_file2_init(&FME, CC_OEI, 0, 0, 1, "FME");
746
dpd_file2_init(&Fme, CC_OEI, 0, 2, 3, "Fme");
748
dpd_file2_init(&tIA, CC_OEI, 0, 0, 1, "tIA");
749
dpd_file2_init(&tia, CC_OEI, 0, 2, 3, "tia");
751
dpd_buf4_init(&D, CC_DINTS, 0, 20, 20, 20, 20, 0, "D <IJ||AB> (IA,JB)");
752
dpd_contract422(&D, &tIA, &FME, 0, 0, 1, 1);
755
dpd_buf4_init(&D, CC_DINTS, 0, 20, 30, 20, 30, 0, "D <Ij|Ab> (IA,jb)");
756
dpd_contract422(&D, &tia, &FME, 0, 0, 1, 1);
759
dpd_buf4_init(&D, CC_DINTS, 0, 30, 30, 30, 30, 0, "D <ij||ab> (ia,jb)");
760
dpd_contract422(&D, &tia, &Fme, 0, 0, 1, 1);
763
dpd_buf4_init(&D, CC_DINTS, 0, 30, 20, 30, 20, 0, "D <Ij|Ab> (ia,JB)");
764
dpd_contract422(&D, &tIA, &Fme, 0, 0, 1, 1);
767
dpd_file2_close(&tIA);
768
dpd_file2_close(&tia);
770
dpd_file2_close(&FME);
771
dpd_file2_close(&Fme);
776
void Fmi_for_Fai(void)
779
dpdfile2 FMI, Fmi, FMIt, Fmit, fIJ, fij, fIA, fia;
780
dpdfile2 tIA, tia, FME, Fme;
781
dpdbuf4 E_anti, E, D_anti, D;
782
dpdbuf4 tautIJAB, tautijab, tautIjAb;
784
if(params.ref == 0) { /** RHF **/
785
dpd_file2_init(&fIJ, CC_OEI, 0, 0, 0, "fIJ");
786
dpd_file2_copy(&fIJ, CC_OEI, "FMI");
787
dpd_file2_close(&fIJ);
789
else if(params.ref == 1) { /** ROHF **/
790
dpd_file2_init(&fIJ, CC_OEI, 0, 0, 0, "fIJ");
791
dpd_file2_copy(&fIJ, CC_OEI, "FMI");
792
dpd_file2_close(&fIJ);
794
dpd_file2_init(&fij, CC_OEI, 0, 0, 0, "fij");
795
dpd_file2_copy(&fij, CC_OEI, "Fmi");
796
dpd_file2_close(&fij);
798
else if(params.ref == 2) { /** UHF **/
799
dpd_file2_init(&fIJ, CC_OEI, 0, 0, 0, "fIJ");
800
dpd_file2_copy(&fIJ, CC_OEI, "FMI");
801
dpd_file2_close(&fIJ);
803
dpd_file2_init(&fij, CC_OEI, 0, 2, 2, "fij");
804
dpd_file2_copy(&fij, CC_OEI, "Fmi");
805
dpd_file2_close(&fij);
808
/* don't remove diagonals */
810
if(params.ref == 0) { /** RHF **/
811
dpd_file2_init(&FMI, CC_OEI, 0, 0, 0, "FMI");
813
dpd_file2_init(&fIA, CC_OEI, 0, 0, 1, "fIA");
814
dpd_file2_init(&tIA, CC_OEI, 0, 0, 1, "tIA");
815
dpd_contract222(&fIA, &tIA, &FMI, 0, 0, 0.5, 1);
816
dpd_file2_close(&tIA);
817
dpd_file2_close(&fIA);
819
dpd_buf4_init(&E_anti, CC_EINTS, 0, 11, 0, 11, 0, 1, "E <ai|jk>");
820
dpd_buf4_init(&E, CC_EINTS, 0, 11, 0, 11, 0, 0, "E <ai|jk>");
822
dpd_file2_init(&tIA, CC_OEI, 0, 0, 1, "tIA");
824
dpd_dot13(&tIA, &E_anti, &FMI, 1, 1, 1.0, 1.0);
825
dpd_dot13(&tIA, &E, &FMI, 1, 1, 1.0, 1.0);
827
dpd_file2_close(&tIA);
829
dpd_buf4_close(&E_anti);
832
dpd_buf4_init(&D, CC_DINTS, 0, 0, 5, 0, 5, 0, "D 2<ij|ab> - <ij|ba>");
833
dpd_buf4_init(&tautIjAb, CC_TAMPS, 0, 0, 5, 0, 5, 0, "tautIjAb");
834
dpd_contract442(&D, &tautIjAb, &FMI, 0, 0, 1, 1);
835
dpd_buf4_close(&tautIjAb);
838
/* Build the tilde intermediate */
839
dpd_file2_copy(&FMI, CC_OEI, "FMIt");
840
dpd_file2_close(&FMI);
842
dpd_file2_init(&FMIt, CC_OEI, 0, 0, 0, "FMIt");
844
dpd_file2_init(&tIA, CC_OEI, 0, 0, 1, "tIA");
845
dpd_file2_init(&FME, CC_OEI, 0, 0, 1, "FME");
846
dpd_contract222(&FME, &tIA, &FMIt, 0, 0, 0.5, 1);
847
dpd_file2_close(&FME);
848
dpd_file2_close(&tIA);
850
dpd_file2_close(&FMIt);
852
else if(params.ref == 1) { /** ROHF **/
854
dpd_file2_init(&FMI, CC_OEI, 0, 0, 0, "FMI");
855
dpd_file2_init(&Fmi, CC_OEI, 0, 0, 0, "Fmi");
857
dpd_file2_init(&fIA, CC_OEI, 0, 0, 1, "fIA");
858
dpd_file2_init(&tIA, CC_OEI, 0, 0, 1, "tIA");
859
dpd_contract222(&fIA, &tIA, &FMI, 0, 0, 0.5, 1);
860
dpd_file2_close(&tIA);
861
dpd_file2_close(&fIA);
863
dpd_file2_init(&fia, CC_OEI, 0, 0, 1, "fia");
864
dpd_file2_init(&tia, CC_OEI, 0, 0, 1, "tia");
865
dpd_contract222(&fia, &tia, &Fmi, 0, 0, 0.5, 1);
866
dpd_file2_close(&tia);
867
dpd_file2_close(&fia);
869
dpd_buf4_init(&E_anti, CC_EINTS, 0, 11, 0, 11, 0, 1, "E <ai|jk>");
870
dpd_buf4_init(&E, CC_EINTS, 0, 11, 0, 11, 0, 0, "E <ai|jk>");
871
dpd_file2_init(&tIA, CC_OEI, 0, 0, 1, "tIA");
872
dpd_file2_init(&tia, CC_OEI, 0, 0, 1, "tia");
874
dpd_dot13(&tIA, &E_anti, &FMI, 1, 1, 1.0, 1.0);
875
dpd_dot13(&tia, &E, &FMI, 1, 1, 1.0, 1.0);
877
dpd_dot13(&tia, &E_anti, &Fmi, 1, 1, 1.0, 1.0);
878
dpd_dot13(&tIA, &E, &Fmi, 1, 1, 1.0, 1.0);
880
dpd_file2_close(&tIA);
881
dpd_file2_close(&tia);
882
dpd_buf4_close(&E_anti);
885
dpd_buf4_init(&D_anti, CC_DINTS, 0, 0, 7, 0, 7, 0, "D <ij||ab> (ij,a>b)");
886
dpd_buf4_init(&tautIJAB, CC_TAMPS, 0, 0, 7, 2, 7, 0, "tautIJAB");
887
dpd_buf4_init(&tautijab, CC_TAMPS, 0, 0, 7, 2, 7, 0, "tautijab");
889
dpd_contract442(&D_anti, &tautIJAB, &FMI, 0, 0, 1, 1);
890
dpd_contract442(&D_anti, &tautijab, &Fmi, 0, 0, 1, 1);
892
dpd_buf4_close(&tautIJAB);
893
dpd_buf4_close(&tautijab);
894
dpd_buf4_close(&D_anti);
896
dpd_buf4_init(&D, CC_DINTS, 0, 0, 5, 0, 5, 0, "D <ij|ab>");
897
dpd_buf4_init(&tautIjAb, CC_TAMPS, 0, 0, 5, 0, 5, 0, "tautIjAb");
899
dpd_contract442(&D, &tautIjAb, &FMI, 0, 0, 1, 1);
900
dpd_contract442(&D, &tautIjAb, &Fmi, 1, 1, 1, 1);
902
dpd_buf4_close(&tautIjAb);
905
/* Build the tilde intermediate */
906
dpd_file2_copy(&FMI, CC_OEI, "FMIt");
907
dpd_file2_copy(&Fmi, CC_OEI, "Fmit");
909
dpd_file2_close(&FMI);
910
dpd_file2_close(&Fmi);
912
dpd_file2_init(&FMIt, CC_OEI, 0, 0, 0, "FMIt");
913
dpd_file2_init(&Fmit, CC_OEI, 0, 0, 0, "Fmit");
915
dpd_file2_init(&tIA, CC_OEI, 0, 0, 1, "tIA");
916
dpd_file2_init(&FME, CC_OEI, 0, 0, 1, "FME");
917
dpd_contract222(&FME, &tIA, &FMIt, 0, 0, 0.5, 1);
918
dpd_file2_close(&FME);
919
dpd_file2_close(&tIA);
921
dpd_file2_init(&tia, CC_OEI, 0, 0, 1, "tia");
922
dpd_file2_init(&Fme, CC_OEI, 0, 0, 1, "Fme");
923
dpd_contract222(&Fme, &tia, &Fmit, 0, 0, 0.5, 1);
924
dpd_file2_close(&Fme);
925
dpd_file2_close(&tia);
927
dpd_file2_close(&FMIt);
928
dpd_file2_close(&Fmit);
930
else if(params.ref == 2) { /** UHF **/
932
dpd_file2_init(&FMI, CC_OEI, 0, 0, 0, "FMI");
933
dpd_file2_init(&Fmi, CC_OEI, 0, 2, 2, "Fmi");
935
dpd_file2_init(&fIA, CC_OEI, 0, 0, 1, "fIA");
936
dpd_file2_init(&tIA, CC_OEI, 0, 0, 1, "tIA");
937
dpd_contract222(&fIA, &tIA, &FMI, 0, 0, 0.5, 1);
938
dpd_file2_close(&tIA);
939
dpd_file2_close(&fIA);
941
dpd_file2_init(&fia, CC_OEI, 0, 2, 3, "fia");
942
dpd_file2_init(&tia, CC_OEI, 0, 2, 3, "tia");
943
dpd_contract222(&fia, &tia, &Fmi, 0, 0, 0.5, 1);
944
dpd_file2_close(&tia);
945
dpd_file2_close(&fia);
947
dpd_file2_init(&tIA, CC_OEI, 0, 0, 1, "tIA");
948
dpd_file2_init(&tia, CC_OEI, 0, 2, 3, "tia");
950
dpd_buf4_init(&E_anti, CC_EINTS, 0, 21, 0, 21, 0, 1, "E <AI|JK>");
951
dpd_buf4_init(&E, CC_EINTS, 0, 22, 24, 22, 24, 0, "E <Ij|Ka>");
953
dpd_dot13(&tIA, &E_anti, &FMI, 1, 1, 1, 1);
954
dpd_dot24(&tia, &E, &FMI, 0, 0, 1, 1);
957
dpd_buf4_close(&E_anti);
959
dpd_buf4_init(&E_anti, CC_EINTS, 0, 31, 10, 31, 10, 1, "E <ai|jk>");
960
dpd_buf4_init(&E, CC_EINTS, 0, 26, 22, 26, 22, 0, "E <Ai|Jk>");
962
dpd_dot13(&tia, &E_anti, &Fmi, 1, 1, 1, 1);
963
dpd_dot13(&tIA, &E, &Fmi, 1, 1, 1, 1);
966
dpd_buf4_close(&E_anti);
968
dpd_file2_close(&tIA);
969
dpd_file2_close(&tia);
971
dpd_buf4_init(&D, CC_DINTS, 0, 0, 7, 0, 7, 0, "D <IJ||AB> (IJ,A>B)");
972
dpd_buf4_init(&tautIJAB, CC_TAMPS, 0, 0, 7, 2, 7, 0, "tautIJAB");
973
dpd_contract442(&D, &tautIJAB, &FMI, 0, 0, 1, 1);
974
dpd_buf4_close(&tautIJAB);
977
dpd_buf4_init(&D, CC_DINTS, 0, 10, 17, 10, 17, 0, "D <ij||ab> (ij,a>b)");
978
dpd_buf4_init(&tautijab, CC_TAMPS, 0, 10, 17, 12, 17, 0, "tautijab");
979
dpd_contract442(&D, &tautijab, &Fmi, 0, 0, 1, 1);
980
dpd_buf4_close(&tautijab);
983
dpd_buf4_init(&D, CC_DINTS, 0, 22, 28, 22, 28, 0, "D <Ij|Ab>");
984
dpd_buf4_init(&tautIjAb, CC_TAMPS, 0, 22, 28, 22, 28, 0, "tautIjAb");
985
dpd_contract442(&D, &tautIjAb, &FMI, 0, 0, 1, 1);
986
dpd_buf4_close(&tautIjAb);
989
dpd_buf4_init(&D, CC_DINTS, 0, 23, 29, 23, 29, 0, "D <iJ|aB>");
990
dpd_buf4_init(&tautIjAb, CC_TAMPS, 0, 23, 29, 23, 29, 0, "tautiJaB");
991
dpd_contract442(&D, &tautIjAb, &Fmi, 0, 0, 1, 1);
992
dpd_buf4_close(&tautIjAb);
995
/* Build the tilde intermediate */
996
dpd_file2_copy(&FMI, CC_OEI, "FMIt");
997
dpd_file2_copy(&Fmi, CC_OEI, "Fmit");
999
dpd_file2_close(&FMI);
1000
dpd_file2_close(&Fmi);
1002
dpd_file2_init(&FMIt, CC_OEI, 0, 0, 0, "FMIt");
1003
dpd_file2_init(&Fmit, CC_OEI, 0, 2, 2, "Fmit");
1005
dpd_file2_init(&tIA, CC_OEI, 0, 0, 1, "tIA");
1006
dpd_file2_init(&FME, CC_OEI, 0, 0, 1, "FME");
1007
dpd_contract222(&FME, &tIA, &FMIt, 0, 0, 0.5, 1);
1008
dpd_file2_close(&FME);
1009
dpd_file2_close(&tIA);
1011
dpd_file2_init(&tia, CC_OEI, 0, 2, 3, "tia");
1012
dpd_file2_init(&Fme, CC_OEI, 0, 2, 3, "Fme");
1013
dpd_contract222(&Fme, &tia, &Fmit, 0, 0, 0.5, 1);
1014
dpd_file2_close(&Fme);
1015
dpd_file2_close(&tia);
1017
dpd_file2_close(&FMIt);
1018
dpd_file2_close(&Fmit);