2
#include <libdpd/dpd.h>
6
/* Wmbej_build(): Computes all contributions to the Wmbej HBAR matrix
7
** elements. These are defined in terms of spin orbitals as:
9
** Wmbej = <mb||ej> + t_j^f <mb||ef> - t_n^b <mn||ej>
10
** - { t_jn^fb + t_j^f t_n^b } <mn||ef>
12
** [cf. Gauss and Stanton, JCP 103, 3561-3577 (1995)]
14
** There are Wmbej six spin cases, which are stored and named
17
** Spin Case Storage Name
18
** ---------- --------- -------
19
** WMBEJ (ME,JB) "WMBEJ"
20
** Wmbej (me,jb) "Wmbej"
21
** WMbEj (ME,jb) "WMbEj"
22
** WmBeJ (me,JB) "WmBeJ"
23
** WMbeJ (Me,bJ) "WMbeJ"
24
** WmBEj (mE,Bj) "WmBEj"
25
** -------------------------------
30
void Wmbej_build(void) {
31
dpdbuf4 WMBEJ, Wmbej, WMbEj, WmBeJ, WmBEj, WMbeJ;
32
dpdbuf4 tIAJB, tjAIb, tiajb, tIAjb, tiaJB, tIbjA;
33
dpdbuf4 D, C, F, E, X, Y, t2, W, Z;
35
int Gmb, mb, Gj, Ge, Gf, nrows, ncols, nlinks;
37
if(params.ref == 0) { /** RHF **/
39
/* <mb||ej> -> Wmbej */
41
dpd_buf4_init(&C, CC_CINTS, 0, 10, 10, 10, 10, 0, "C <ia|jb>");
42
dpd_buf4_scmcopy(&C, CC_TMP0, "WMbeJ", -1);
45
dpd_buf4_init(&D, CC_DINTS, 0, 10, 11, 10, 11, 0, "D <ij|ab> (ib,aj)");
46
dpd_buf4_copy(&D, CC_TMP0, "WMbEj");
49
dpd_file2_init(&tIA, CC_OEI, 0, 0, 1, "tIA");
53
dpd_buf4_init(&F, CC_FINTS, 0, 10, 5, 10, 5, 0, "F <ia|bc>");
55
dpd_buf4_init(&WMbEj, CC_TMP0, 0, 10, 11, 10, 11, 0, "WMbEj");
56
dpd_contract424(&F, &tIA, &WMbEj, 3, 1, 0, 1, 1); /* should run OOC, if needed */
57
dpd_buf4_close(&WMbEj);
62
dpd_buf4_init(&F, CC_FINTS, 0, 11, 5, 11, 5, 0, "F <ai|bc>");
64
dpd_buf4_init(&Z, CC_TMP0, 0, 11, 11, 11, 11, 0, "Z(bM,eJ)");
65
dpd_contract424(&F, &tIA, &Z, 3, 1, 0, -1, 0);
66
dpd_buf4_sort(&Z, CC_TMP0, qpsr, 10, 10, "Z(Mb,Je)");
68
dpd_buf4_init(&Z, CC_TMP0, 0, 10, 10, 10, 10, 0, "Z(Mb,Je)");
69
dpd_buf4_init(&WMbeJ, CC_TMP0, 0, 10, 10, 10, 10, 0, "WMbeJ");
70
dpd_buf4_axpy(&Z, &WMbeJ, 1.0);
71
dpd_buf4_close(&WMbeJ);
76
/* W(Mb,Je) <-- t(J,F) <Mb|Fe> */
77
/* OOC code added to replace above on 3/26/05, TDC */
78
dpd_buf4_init(&F, CC_FINTS, 0, 10, 5, 10, 5, 0, "F <ia|bc>");
79
dpd_buf4_init(&W, CC_TMP0, 0, 10, 10, 10, 10, 0, "WMbeJ");
80
dpd_file2_mat_init(&tIA);
81
dpd_file2_mat_rd(&tIA);
83
for(Gmb=0; Gmb < moinfo.nirreps; Gmb++) {
84
dpd_buf4_mat_irrep_row_init(&W, Gmb);
85
dpd_buf4_mat_irrep_row_init(&F, Gmb);
87
for(mb=0; mb < F.params->rowtot[Gmb]; mb++) {
88
dpd_buf4_mat_irrep_row_rd(&W, Gmb, mb);
89
dpd_buf4_mat_irrep_row_rd(&F, Gmb, mb);
91
for(Gj=0; Gj < moinfo.nirreps; Gj++) {
92
Gf = Gj; /* T1 is totally symmetric */
93
Ge = Gmb ^ Gf; /* <mb|fe> is totally symmetric */
95
nrows = moinfo.occpi[Gj];
96
ncols = moinfo.virtpi[Ge];
97
nlinks = moinfo.virtpi[Gf];
98
if(nrows && ncols && nlinks)
99
C_DGEMM('n','n',nrows,ncols,nlinks,-1.0,tIA.matrix[Gj][0],nlinks,
100
&F.matrix[Gmb][0][F.col_offset[Gmb][Gf]],ncols,1.0,
101
&W.matrix[Gmb][0][W.col_offset[Gmb][Gj]],ncols);
104
dpd_buf4_mat_irrep_row_wrt(&W, Gmb, mb);
107
dpd_buf4_mat_irrep_row_close(&F, Gmb);
108
dpd_buf4_mat_irrep_row_close(&W, Gmb);
111
dpd_file2_mat_close(&tIA);
116
dpd_file2_close(&tIA);
119
dpd_file2_init(&tIA, CC_OEI, 0, 0, 1, "tIA");
121
dpd_buf4_init(&E, CC_EINTS, 0, 11, 0, 11, 0, 0, "E <ai|jk>");
122
dpd_buf4_init(&WMbEj, CC_TMP0, 0, 10, 11, 10, 11, 0, "WMbEj");
123
dpd_contract424(&E, &tIA, &WMbEj, 3, 0, 1, -1, 1);
124
dpd_buf4_close(&WMbEj);
127
dpd_buf4_init(&E, CC_EINTS, 0, 0, 10, 0, 10, 0, "E <ij|ka>");
128
dpd_buf4_init(&WMbeJ, CC_TMP0, 0, 10, 10, 10, 10, 0, "WMbeJ");
129
dpd_contract424(&E, &tIA, &WMbeJ, 1, 0, 1, 1, 1);
130
dpd_buf4_close(&WMbeJ);
133
dpd_file2_close(&tIA);
136
/* Sort to (ME,JB) */
138
dpd_buf4_init(&WMbEj, CC_TMP0, 0, 10, 11, 10, 11, 0, "WMbEj");
139
dpd_buf4_sort(&WMbEj, CC_HBAR, prsq, 10, 10, "WMbEj");
140
dpd_buf4_close(&WMbEj);
142
dpd_buf4_init(&WMbeJ, CC_TMP0, 0, 10, 10, 10, 10, 0, "WMbeJ");
143
dpd_buf4_sort(&WMbeJ, CC_HBAR, psrq, 10, 10, "WMbeJ");
144
dpd_buf4_close(&WMbeJ);
149
dpd_file2_init(&tIA, CC_OEI, 0, 0, 1, "tIA");
153
dpd_buf4_init(&W, CC_HBAR, 0, 10, 10, 10, 10, 0, "WMbEj");
154
dpd_buf4_init(&t2, CC_TAMPS, 0, 10, 10, 10, 10, 0, "tIAjb");
155
dpd_buf4_init(&D, CC_DINTS, 0, 10, 10, 10, 10, 0, "D 2<ij|ab> - <ij|ba> (ia,jb)");
156
dpd_contract444(&D, &t2, &W, 0, 0, 1, 1);
159
dpd_buf4_init(&t2, CC_TAMPS, 0, 10, 10, 10, 10, 0, "tjAIb");
160
dpd_buf4_init(&D, CC_DINTS, 0, 10, 10, 10, 10, 0, "D <ij|ab> (ia,jb)");
161
dpd_contract444(&D, &t2, &W, 0, 0, -1, 1);
166
dpd_buf4_init(&Y, CC_TMP0, 0, 10, 0, 10, 0, 0, "Y (ME,JN)");
167
dpd_buf4_init(&D, CC_DINTS, 0, 10, 11, 10, 11, 0, "D <ij|ab> (ia,bj)");
168
dpd_contract244(&tIA, &D, &Y, 1, 2, 1, 1, 0);
170
dpd_buf4_init(&W, CC_HBAR, 0, 10, 10, 10, 10, 0, "WMbEj");
171
dpd_contract424(&Y, &tIA, &W, 3, 0, 0, -1, 1);
177
dpd_buf4_init(&W, CC_HBAR, 0, 10, 10, 10, 10, 0, "WMbeJ");
178
dpd_buf4_init(&t2, CC_TAMPS, 0, 10, 10, 10, 10, 0, "tIbjA");
179
dpd_buf4_init(&D, CC_DINTS, 0, 10, 10, 10, 10, 0, "D <ij|ab> (ib,ja)");
180
dpd_contract444(&D, &t2, &W, 0, 0, 1, 1);
185
dpd_buf4_init(&Y, CC_TMP0, 0, 10, 0, 10, 0, 0, "Y (ME,JN)");
186
dpd_buf4_init(&D, CC_DINTS, 0, 10, 11, 10, 11, 0, "D <ij|ab> (ib,aj)");
187
dpd_contract244(&tIA, &D, &Y, 1, 2, 1, 1, 0);
189
dpd_buf4_init(&W, CC_HBAR, 0, 10, 10, 10, 10, 0, "WMbeJ");
190
dpd_contract424(&Y, &tIA, &W, 3, 0, 0, 1, 1);
194
dpd_file2_close(&tIA);
197
else if(params.ref == 1) { /** ROHF **/
199
/* W(mb,je) <-- <mb||ej> */
201
dpd_buf4_init(&C, CC_CINTS, 0, 10, 11, 10, 11, 0, "C <ia||jb> (ia,bj)");
202
dpd_buf4_scmcopy(&C, CC_TMP0, "WMBEJ", -1);
203
dpd_buf4_scmcopy(&C, CC_TMP0, "Wmbej", -1);
206
dpd_buf4_init(&C, CC_CINTS, 0, 10, 10, 10, 10, 0, "C <ia|jb>");
207
dpd_buf4_scmcopy(&C, CC_TMP0, "WmBEj", -1);
208
dpd_buf4_scmcopy(&C, CC_TMP0, "WMbeJ", -1);
211
dpd_buf4_init(&D, CC_DINTS, 0, 10, 11, 10, 11, 0, "D <ij|ab> (ib,aj)");
212
dpd_buf4_copy(&D, CC_TMP0, "WMbEj");
213
dpd_buf4_copy(&D, CC_TMP0, "WmBeJ");
218
dpd_file2_init(&tIA, CC_OEI, 0, 0, 1, "tIA");
219
dpd_file2_init(&tia, CC_OEI, 0, 0, 1, "tia");
221
dpd_buf4_init(&F, CC_FINTS, 0, 10, 5, 10, 5, 1, "F <ia|bc>");
222
dpd_buf4_init(&WMBEJ, CC_TMP0, 0, 10, 11, 10, 11, 0, "WMBEJ");
223
dpd_contract424(&F, &tIA, &WMBEJ, 3, 1, 0, 1, 1);
224
dpd_buf4_close(&WMBEJ);
225
dpd_buf4_init(&Wmbej, CC_TMP0, 0, 10, 11, 10, 11, 0, "Wmbej");
226
dpd_contract424(&F, &tia, &Wmbej, 3, 1, 0, 1, 1);
227
dpd_buf4_close(&Wmbej);
230
dpd_buf4_init(&F, CC_FINTS, 0, 10, 5, 10, 5, 0, "F <ia|bc>");
231
dpd_buf4_init(&WMbEj, CC_TMP0, 0, 10, 11, 10, 11, 0, "WMbEj");
232
dpd_contract424(&F, &tia, &WMbEj, 3, 1, 0, 1, 1);
233
dpd_buf4_close(&WMbEj);
234
dpd_buf4_init(&WmBeJ, CC_TMP0, 0, 10, 11, 10, 11, 0, "WmBeJ");
235
dpd_contract424(&F, &tIA, &WmBeJ, 3, 1, 0, 1, 1);
236
dpd_buf4_close(&WmBeJ);
238
dpd_buf4_init(&WMbeJ, CC_TMP0, 0, 10, 10, 10, 10, 0, "WMbeJ");
239
dpd_contract244(&tIA, &F, &WMbeJ, 1, 2, 1, -1, 1);
240
dpd_buf4_close(&WMbeJ);
241
dpd_buf4_init(&WmBEj, CC_TMP0, 0, 10, 10, 10, 10, 0, "WmBEj");
242
dpd_contract244(&tia, &F, &WmBEj, 1, 2, 1, -1, 1);
243
dpd_buf4_close(&WmBEj);
246
dpd_file2_close(&tIA);
247
dpd_file2_close(&tia);
251
dpd_file2_init(&tIA, CC_OEI, 0, 0, 1, "tIA");
252
dpd_file2_init(&tia, CC_OEI, 0, 0, 1, "tia");
254
dpd_buf4_init(&E, CC_EINTS, 0, 0, 11, 2, 11, 0, "E <ij||ka> (i>j,ak)");
255
dpd_buf4_init(&WMBEJ, CC_TMP0, 0, 10, 11, 10, 11, 0, "WMBEJ");
256
dpd_contract424(&E, &tIA, &WMBEJ, 1, 0, 1, 1, 1);
257
dpd_buf4_close(&WMBEJ);
258
dpd_buf4_init(&Wmbej, CC_TMP0, 0, 10, 11, 10, 11, 0, "Wmbej");
259
dpd_contract424(&E, &tia, &Wmbej, 1, 0, 1, 1, 1);
260
dpd_buf4_close(&Wmbej);
263
dpd_buf4_init(&E, CC_EINTS, 0, 11, 0, 11, 0, 0, "E <ai|jk>");
264
dpd_buf4_init(&WMbEj, CC_TMP0, 0, 10, 11, 10, 11, 0, "WMbEj");
265
dpd_contract424(&E, &tia, &WMbEj, 3, 0, 1, -1, 1);
266
dpd_buf4_close(&WMbEj);
267
dpd_buf4_init(&WmBeJ, CC_TMP0, 0, 10, 11, 10, 11, 0, "WmBeJ");
268
dpd_contract424(&E, &tIA, &WmBeJ, 3, 0, 1, -1, 1);
269
dpd_buf4_close(&WmBeJ);
272
dpd_buf4_init(&E, CC_EINTS, 0, 0, 10, 0, 10, 0, "E <ij|ka>");
273
dpd_buf4_init(&WMbeJ, CC_TMP0, 0, 10, 10, 10, 10, 0, "WMbeJ");
274
dpd_contract424(&E, &tia, &WMbeJ, 1, 0, 1, 1, 1);
275
dpd_buf4_close(&WMbeJ);
276
dpd_buf4_init(&WmBEj, CC_TMP0, 0, 10, 10, 10, 10, 0, "WmBEj");
277
dpd_contract424(&E, &tIA, &WmBEj, 1, 0, 1, 1, 1);
278
dpd_buf4_close(&WmBEj);
281
dpd_file2_close(&tIA);
282
dpd_file2_close(&tia);
284
/* Convert to (ME,JB) for remaining terms */
286
dpd_buf4_init(&WMBEJ, CC_TMP0, 0, 10, 11, 10, 11, 0, "WMBEJ");
287
dpd_buf4_sort(&WMBEJ, CC_HBAR, prsq, 10, 10, "WMBEJ");
288
dpd_buf4_close(&WMBEJ);
290
dpd_buf4_init(&Wmbej, CC_TMP0, 0, 10, 11, 10, 11, 0, "Wmbej");
291
dpd_buf4_sort(&Wmbej, CC_HBAR, prsq, 10, 10, "Wmbej");
292
dpd_buf4_close(&Wmbej);
294
dpd_buf4_init(&WMbEj, CC_TMP0, 0, 10, 11, 10, 11, 0, "WMbEj");
295
dpd_buf4_sort(&WMbEj, CC_HBAR, prsq, 10, 10, "WMbEj");
296
dpd_buf4_close(&WMbEj);
298
dpd_buf4_init(&WmBeJ, CC_TMP0, 0, 10, 11, 10, 11, 0, "WmBeJ");
299
dpd_buf4_sort(&WmBeJ, CC_HBAR, prsq, 10, 10, "WmBeJ");
300
dpd_buf4_close(&WmBeJ);
302
dpd_buf4_init(&WMbeJ, CC_TMP0, 0, 10, 10, 10, 10, 0, "WMbeJ");
303
dpd_buf4_sort(&WMbeJ, CC_HBAR, psrq, 10, 10, "WMbeJ");
304
dpd_buf4_close(&WMbeJ);
306
dpd_buf4_init(&WmBEj, CC_TMP0, 0, 10, 10, 10, 10, 0, "WmBEj");
307
dpd_buf4_sort(&WmBEj, CC_HBAR, psrq, 10, 10, "WmBEj");
308
dpd_buf4_close(&WmBEj);
311
dpd_file2_init(&tIA, CC_OEI, 0, 0, 1, "tIA");
312
dpd_file2_init(&tia, CC_OEI, 0, 0, 1, "tia");
316
dpd_buf4_init(&W, CC_HBAR, 0, 10, 10, 10, 10, 0, "WMBEJ");
317
dpd_buf4_init(&D, CC_DINTS, 0, 10, 10, 10, 10, 0, "D <ij||ab> (ia,jb)");
318
dpd_buf4_init(&t2, CC_TAMPS, 0, 10, 10, 10, 10, 0, "tIAJB");
319
dpd_contract444(&D, &t2, &W, 0, 0, 0.5, 1);
322
dpd_buf4_init(&D, CC_DINTS, 0, 10, 10, 10, 10, 0, "D <ij|ab> (ia,jb)");
323
dpd_buf4_init(&t2, CC_TAMPS, 0, 10, 10, 10, 10, 0, "tIAjb");
324
dpd_contract444(&D, &t2, &W, 0, 0, 0.5, 1);
329
dpd_buf4_init(&Y, CC_TMP0, 0, 10, 0, 10, 0, 0, "Y (ME,JN)");
330
dpd_buf4_init(&D, CC_DINTS, 0, 10, 11, 10, 11, 0, "D <ij||ab> (ia,bj)");
331
dpd_contract244(&tIA, &D, &Y, 1, 2, 1, 1, 0);
333
dpd_buf4_init(&W, CC_HBAR, 0, 10, 10, 10, 10, 0, "WMBEJ");
334
dpd_contract424(&Y, &tIA, &W, 3, 0, 0, -1, 1);
340
dpd_buf4_init(&W, CC_HBAR, 0, 10, 10, 10, 10, 0, "Wmbej");
341
dpd_buf4_init(&D, CC_DINTS, 0, 10, 10, 10, 10, 0, "D <ij||ab> (ia,jb)");
342
dpd_buf4_init(&t2, CC_TAMPS, 0, 10, 10, 10, 10, 0, "tiajb");
343
dpd_contract444(&D, &t2, &W, 0, 0, 0.5, 1);
346
dpd_buf4_init(&D, CC_DINTS, 0, 10, 10, 10, 10, 0, "D <ij|ab> (ia,jb)");
347
dpd_buf4_init(&t2, CC_TAMPS, 0, 10, 10, 10, 10, 0, "tiaJB");
348
dpd_contract444(&D, &t2, &W, 0, 0, 0.5, 1);
353
dpd_buf4_init(&Y, CC_TMP0, 0, 10, 0, 10, 0, 0, "Y (ME,JN)");
354
dpd_buf4_init(&D, CC_DINTS, 0, 10, 11, 10, 11, 0, "D <ij||ab> (ia,bj)");
355
dpd_contract244(&tia, &D, &Y, 1, 2, 1, 1, 0);
357
dpd_buf4_init(&W, CC_HBAR, 0, 10, 10, 10, 10, 0, "Wmbej");
358
dpd_contract424(&Y, &tia, &W, 3, 0, 0, -1, 1);
364
dpd_buf4_init(&W, CC_HBAR, 0, 10, 10, 10, 10, 0, "WMbEj");
365
dpd_buf4_init(&D, CC_DINTS, 0, 10, 10, 10, 10, 0, "D <ij|ab> (ia,jb)");
366
dpd_buf4_init(&t2, CC_TAMPS, 0, 10, 10, 10, 10, 0, "tiajb");
367
dpd_contract444(&D, &t2, &W, 0, 0, 0.5, 1);
370
dpd_buf4_init(&D, CC_DINTS, 0, 10, 10, 10, 10, 0, "D <ij||ab> (ia,jb)");
371
dpd_buf4_init(&t2, CC_TAMPS, 0, 10, 10, 10, 10, 0, "tiaJB");
372
dpd_contract444(&D, &t2, &W, 0, 0, 0.5, 1);
377
dpd_buf4_init(&Y, CC_TMP0, 0, 10, 0, 10, 0, 0, "Y (ME,JN)");
378
dpd_buf4_init(&D, CC_DINTS, 0, 10, 11, 10, 11, 0, "D <ij|ab> (ia,bj)");
379
dpd_contract244(&tia, &D, &Y, 1, 2, 1, 1, 0);
381
dpd_buf4_init(&W, CC_HBAR, 0, 10, 10, 10, 10, 0, "WMbEj");
382
dpd_contract424(&Y, &tia, &W, 3, 0, 0, -1, 1);
388
dpd_buf4_init(&W, CC_HBAR, 0, 10, 10, 10, 10, 0, "WmBeJ");
389
dpd_buf4_init(&D, CC_DINTS, 0, 10, 10, 10, 10, 0, "D <ij|ab> (ia,jb)");
390
dpd_buf4_init(&t2, CC_TAMPS, 0, 10, 10, 10, 10, 0, "tIAJB");
391
dpd_contract444(&D, &t2, &W, 0, 0, 0.5, 1);
394
dpd_buf4_init(&D, CC_DINTS, 0, 10, 10, 10, 10, 0, "D <ij||ab> (ia,jb)");
395
dpd_buf4_init(&t2, CC_TAMPS, 0, 10, 10, 10, 10, 0, "tIAjb");
396
dpd_contract444(&D, &t2, &W, 0, 0, 0.5, 1);
401
dpd_buf4_init(&Y, CC_TMP0, 0, 10, 0, 10, 0, 0, "Y (ME,JN)");
402
dpd_buf4_init(&D, CC_DINTS, 0, 10, 11, 10, 11, 0, "D <ij|ab> (ia,bj)");
403
dpd_contract244(&tIA, &D, &Y, 1, 2, 1, 1, 0);
405
dpd_buf4_init(&W, CC_HBAR, 0, 10, 10, 10, 10, 0, "WmBeJ");
406
dpd_contract424(&Y, &tIA, &W, 3, 0, 0, -1, 1);
412
dpd_buf4_init(&W, CC_HBAR, 0, 10, 10, 10, 10, 0, "WMbeJ");
413
dpd_buf4_init(&t2, CC_TAMPS, 0, 10, 10, 10, 10, 0, "tIbjA");
414
dpd_buf4_init(&D, CC_DINTS, 0, 10, 10, 10, 10, 0, "D <ij|ab> (ib,ja)");
415
dpd_contract444(&D, &t2, &W, 0, 0, 0.5, 1);
420
dpd_buf4_init(&Y, CC_TMP0, 0, 10, 0, 10, 0, 0, "Y (ME,JN)");
421
dpd_buf4_init(&D, CC_DINTS, 0, 10, 11, 10, 11, 0, "D <ij|ab> (ib,aj)");
422
dpd_contract244(&tIA, &D, &Y, 1, 2, 1, 1, 0);
424
dpd_buf4_init(&W, CC_HBAR, 0, 10, 10, 10, 10, 0, "WMbeJ");
425
dpd_contract424(&Y, &tia, &W, 3, 0, 0, 1, 1);
431
dpd_buf4_init(&W, CC_HBAR, 0, 10, 10, 10, 10, 0, "WmBEj");
432
dpd_buf4_init(&t2, CC_TAMPS, 0, 10, 10, 10, 10, 0, "tjAIb");
433
dpd_buf4_init(&D, CC_DINTS, 0, 10, 10, 10, 10, 0, "D <ij|ab> (ib,ja)");
434
dpd_contract444(&D, &t2, &W, 0, 0, 0.5, 1);
439
dpd_buf4_init(&Y, CC_TMP0, 0, 10, 0, 10, 0, 0, "Y (ME,JN)");
440
dpd_buf4_init(&D, CC_DINTS, 0, 10, 11, 10, 11, 0, "D <ij|ab> (ib,aj)");
441
dpd_contract244(&tia, &D, &Y, 1, 2, 1, 1, 0);
443
dpd_buf4_init(&W, CC_HBAR, 0, 10, 10, 10, 10, 0, "WmBEj");
444
dpd_contract424(&Y, &tIA, &W, 3, 0, 0, 1, 1);
448
dpd_file2_close(&tIA);
449
dpd_file2_close(&tia);
452
/* D(me,nf) * T2(jb,nf) --> W(me,jb) */
453
dpd_buf4_init(&Wmbej, CC_HBAR, 0, 10, 10, 10, 10, 0, "Wmbej");
455
dpd_buf4_init(&D, CC_DINTS, 0, 10, 10, 10, 10, 0, "D <ij||ab> (ia,jb)");
456
dpd_buf4_init(&tiajb, CC_TAMPS, 0, 10, 10, 10, 10, 0, "tiajb");
457
dpd_contract444(&D, &tiajb, &Wmbej, 0, 0, 0.5, 1);
459
dpd_buf4_close(&tiajb);
461
/* D(me,NF) * T2(jb,NF) --> W(me,jb) */
462
dpd_buf4_init(&tiaJB, CC_TAMPS, 0, 10, 10, 10, 10, 0, "tiaJB");
463
dpd_buf4_init(&D, CC_DINTS, 0, 10, 10, 10, 10, 0, "D <ij|ab> (ia,jb)");
464
dpd_contract444(&D, &tiaJB, &Wmbej, 0, 0, 0.5, 1);
466
dpd_buf4_close(&tiaJB);
468
dpd_buf4_close(&Wmbej);
471
/* D(ME,NF) * T2(JB,NF) --> W(ME,JB) */
472
dpd_buf4_init(&WMBEJ, CC_HBAR, 0, 10, 10, 10, 10, 0, "WMBEJ");
474
dpd_buf4_init(&D, CC_DINTS, 0, 10, 10, 10, 10, 0, "D <ij||ab> (ia,jb)");
475
dpd_buf4_init(&tIAJB, CC_TAMPS, 0, 10, 10, 10, 10, 0, "tIAJB");
476
dpd_contract444(&D, &tIAJB, &WMBEJ, 0, 0, 0.5, 1);
478
dpd_buf4_close(&tIAJB);
480
/* D(ME,nf) * T2(JB,nf) --> W(ME,JB) */
481
dpd_buf4_init(&tIAjb, CC_TAMPS, 0, 10, 10, 10, 10, 0, "tIAjb");
482
dpd_buf4_init(&D, CC_DINTS, 0, 10, 10, 10, 10, 0, "D <ij|ab> (ia,jb)");
483
dpd_contract444(&D, &tIAjb, &WMBEJ, 0, 0, 0.5, 1);
485
dpd_buf4_close(&tIAjb);
487
dpd_buf4_close(&WMBEJ);
490
/* D(me,nf) * T2(JB,nf) --> W(me,JB) */
491
dpd_buf4_init(&WmBeJ, CC_HBAR, 0, 10, 10, 10, 10, 0, "WmBeJ");
493
dpd_buf4_init(&D, CC_DINTS, 0, 10, 10, 10, 10, 0, "D <ij||ab> (ia,jb)");
494
dpd_buf4_init(&tIAjb, CC_TAMPS, 0, 10, 10, 10, 10, 0, "tIAjb");
495
dpd_contract444(&D, &tIAjb, &WmBeJ, 0, 0, 0.5, 1);
497
dpd_buf4_close(&tIAjb);
499
/* D(me,NF) * T2(JB,NF) --> W(me,JB) */
500
dpd_buf4_init(&D, CC_DINTS, 0, 10, 10, 10, 10, 0, "D <ij|ab> (ia,jb)");
501
dpd_buf4_init(&tIAJB, CC_TAMPS, 0, 10, 10, 10, 10, 0, "tIAJB");
502
dpd_contract444(&D, &tIAJB, &WmBeJ, 0, 0, 0.5, 1);
504
dpd_buf4_close(&tIAJB);
506
dpd_buf4_close(&WmBeJ);
509
/* D(ME,NF) * T2(jb,NF) --> W(ME,jb) */
510
dpd_buf4_init(&WMbEj, CC_HBAR, 0, 10, 10, 10, 10, 0, "WMbEj");
512
dpd_buf4_init(&D, CC_DINTS, 0, 10, 10, 10, 10, 0, "D <ij||ab> (ia,jb)");
513
dpd_buf4_init(&tiaJB, CC_TAMPS, 0, 10, 10, 10, 10, 0, "tiaJB");
514
dpd_contract444(&D, &tiaJB, &WMbEj, 0, 0, 0.5, 1);
516
dpd_buf4_close(&tiaJB);
518
/* D(ME,nf) * T2(jb,nf) --> W(ME,jb) */
519
dpd_buf4_init(&D, CC_DINTS, 0, 10, 10, 10, 10, 0, "D <ij|ab> (ia,jb)");
520
dpd_buf4_init(&tiajb, CC_TAMPS, 0, 10, 10, 10, 10, 0, "tiajb");
521
dpd_contract444(&D, &tiajb, &WMbEj, 0, 0, 0.5, 1);
523
dpd_buf4_close(&tiajb);
525
dpd_buf4_close(&WMbEj);
528
/* D(mE,Nf) * T2(jB,Nf) --> W(mE,jB) */
529
dpd_buf4_init(&WmBEj, CC_HBAR, 0, 10, 10, 10, 10, 0, "WmBEj");
531
dpd_buf4_init(&D, CC_DINTS, 0, 10, 10, 10, 10, 0, "D <ij|ab> (ib,ja)");
532
dpd_buf4_init(&tjAIb, CC_TAMPS, 0, 10, 10, 10, 10, 0, "tjAIb");
533
dpd_contract444(&D, &tjAIb, &WmBEj, 0, 0, 0.5, 1);
535
dpd_buf4_close(&tjAIb);
537
dpd_buf4_close(&WmBEj);
540
/* D(Me,nF) * T2(Jb,nF) --> W(Me,Jb) */
541
dpd_buf4_init(&WMbeJ, CC_HBAR, 0, 10, 10, 10, 10, 0, "WMbeJ");
543
dpd_buf4_init(&D, CC_DINTS, 0, 10, 10, 10, 10, 0, "D <ij|ab> (ib,ja)");
544
dpd_buf4_init(&tIbjA, CC_TAMPS, 0, 10, 10, 10, 10, 0, "tIbjA");
545
dpd_contract444(&D, &tIbjA, &WMbeJ, 0, 0, 0.5, 1);
547
dpd_buf4_close(&tIbjA);
549
dpd_buf4_close(&WMbeJ);
551
} /** RHF or ROHF **/
552
else if(params.ref == 2) { /** UHF **/
554
/* W(mb,je) <-- <mb||ej> */
556
dpd_buf4_init(&C, CC_CINTS, 0, 20, 21, 20, 21, 0, "C <IA||JB> (IA,BJ)");
557
dpd_buf4_scmcopy(&C, CC_TMP0, "WMBEJ", -1);
560
dpd_buf4_init(&C, CC_CINTS, 0, 30, 31, 30, 31, 0, "C <ia||jb> (ia,bj)");
561
dpd_buf4_scmcopy(&C, CC_TMP0, "Wmbej", -1);
564
dpd_buf4_init(&D, CC_DINTS, 0, 24, 26, 24, 26, 0, "D <Ij|Ab> (Ib,Aj)");
565
dpd_buf4_scmcopy(&D, CC_TMP0, "WMbEj", 1);
568
dpd_buf4_init(&D, CC_DINTS, 0, 27, 25, 27, 25, 0, "D <iJ|aB> (iB,aJ)");
569
dpd_buf4_scmcopy(&D, CC_TMP0, "WmBeJ", 1);
572
dpd_buf4_init(&C, CC_CINTS, 0, 27, 27, 27, 27, 0, "C <iA|jB>");
573
dpd_buf4_scmcopy(&C, CC_TMP0, "WmBEj", -1);
576
dpd_buf4_init(&C, CC_CINTS, 0, 24, 24, 24, 24, 0, "C <Ia|Jb>");
577
dpd_buf4_scmcopy(&C, CC_TMP0, "WMbeJ", -1);
582
dpd_file2_init(&tIA, CC_OEI, 0, 0, 1, "tIA");
583
dpd_file2_init(&tia, CC_OEI, 0, 2, 3, "tia");
585
dpd_buf4_init(&W, CC_TMP0, 0, 20, 21, 20, 21, 0, "WMBEJ");
586
dpd_buf4_init(&F, CC_FINTS, 0, 20, 5, 20, 5, 1, "F <IA|BC>");
587
dpd_contract424(&F, &tIA, &W, 3, 1, 0, 1, 1);
591
dpd_buf4_init(&W, CC_TMP0, 0, 30, 31, 30, 31, 0, "Wmbej");
592
dpd_buf4_init(&F, CC_FINTS, 0, 30, 15, 30, 15, 1, "F <ia|bc>");
593
dpd_contract424(&F, &tia, &W, 3, 1, 0, 1, 1);
597
dpd_buf4_init(&W, CC_TMP0, 0, 24, 26, 24, 26, 0, "WMbEj");
598
dpd_buf4_init(&F, CC_FINTS, 0, 24, 28, 24, 28, 0, "F <Ia|Bc>");
599
dpd_contract424(&F, &tia, &W, 3, 1, 0, 1, 1);
603
dpd_buf4_init(&W, CC_TMP0, 0, 27, 25, 27, 25, 0, "WmBeJ");
604
dpd_buf4_init(&F, CC_FINTS, 0, 27, 29, 27, 29, 0, "F <iA|bC>");
605
dpd_contract424(&F, &tIA, &W, 3, 1, 0, 1, 1);
609
dpd_buf4_init(&W, CC_TMP0, 0, 24, 24, 24, 24, 0, "WMbeJ");
610
dpd_buf4_init(&F, CC_FINTS, 0, 24, 28, 24, 28, 0, "F <Ia|Bc>");
611
dpd_contract244(&tIA, &F, &W, 1, 2, 1, -1, 1);
615
dpd_buf4_init(&W, CC_TMP0, 0, 27, 27, 27, 27, 0, "WmBEj");
616
dpd_buf4_init(&F, CC_FINTS, 0, 27, 29, 27, 29, 0, "F <iA|bC>");
617
dpd_contract244(&tia, &F, &W, 1, 2, 1, -1, 1);
621
dpd_file2_close(&tIA);
622
dpd_file2_close(&tia);
626
dpd_file2_init(&tIA, CC_OEI, 0, 0, 1, "tIA");
627
dpd_file2_init(&tia, CC_OEI, 0, 2, 3, "tia");
629
dpd_buf4_init(&W, CC_TMP0, 0, 20, 21, 20, 21, 0, "WMBEJ");
630
dpd_buf4_init(&E, CC_EINTS, 0, 0, 21, 2, 21, 0, "E <IJ||KA> (I>J,AK)");
631
dpd_contract424(&E, &tIA, &W, 1, 0, 1, 1, 1);
635
dpd_buf4_init(&W, CC_TMP0, 0, 30, 31, 30, 31, 0, "Wmbej");
636
dpd_buf4_init(&E, CC_EINTS, 0, 10, 31, 12, 31, 0, "E <ij||ka> (i>j,ak)");
637
dpd_contract424(&E, &tia, &W, 1, 0, 1, 1, 1);
641
dpd_buf4_init(&W, CC_TMP0, 0, 24, 26, 24, 26, 0, "WMbEj");
642
dpd_buf4_init(&E, CC_EINTS, 0, 22, 26, 22, 26, 0, "E <Ij|Ak>");
643
dpd_contract424(&E, &tia, &W, 1, 0, 1, -1, 1);
647
dpd_buf4_init(&W, CC_TMP0, 0, 27, 25, 27, 25, 0, "WmBeJ");
648
dpd_buf4_init(&E, CC_EINTS, 0, 23, 25, 23, 25, 0, "E <iJ|aK>");
649
dpd_contract424(&E, &tIA, &W, 1, 0, 1, -1, 1);
653
dpd_buf4_init(&W, CC_TMP0, 0, 24, 24, 24, 24, 0, "WMbeJ");
654
dpd_buf4_init(&E, CC_EINTS, 0, 22, 24, 22, 24, 0, "E <Ij|Ka>");
655
dpd_contract424(&E, &tia, &W, 1, 0, 1, 1, 1);
659
dpd_buf4_init(&W, CC_TMP0, 0, 27, 27, 27, 27, 0, "WmBEj");
660
dpd_buf4_init(&E, CC_EINTS, 0, 23, 27, 23, 27, 0, "E <iJ|kA>");
661
dpd_contract424(&E, &tIA, &W, 1, 0, 1, 1, 1);
665
dpd_file2_close(&tIA);
666
dpd_file2_close(&tia);
668
/* Convert to (ME,JB) for remaining terms */
670
dpd_buf4_init(&W, CC_TMP0, 0, 20, 21, 20, 21, 0, "WMBEJ");
671
dpd_buf4_sort(&W, CC_HBAR, prsq, 20, 20, "WMBEJ");
674
dpd_buf4_init(&W, CC_TMP0, 0, 30, 31, 30, 31, 0, "Wmbej");
675
dpd_buf4_sort(&W, CC_HBAR, prsq, 30, 30, "Wmbej");
678
dpd_buf4_init(&W, CC_TMP0, 0, 24, 26, 24, 26, 0, "WMbEj");
679
dpd_buf4_sort(&W, CC_HBAR, prsq, 20, 30, "WMbEj");
682
dpd_buf4_init(&W, CC_TMP0, 0, 27, 25, 27, 25, 0, "WmBeJ");
683
dpd_buf4_sort(&W, CC_HBAR, prsq, 30, 20, "WmBeJ");
686
dpd_buf4_init(&W, CC_TMP0, 0, 24, 24, 24, 24, 0, "WMbeJ");
687
dpd_buf4_sort(&W, CC_HBAR, psrq, 24, 24, "WMbeJ");
690
dpd_buf4_init(&W, CC_TMP0, 0, 27, 27, 27, 27, 0, "WmBEj");
691
dpd_buf4_sort(&W, CC_HBAR, psrq, 27, 27, "WmBEj");
696
dpd_file2_init(&tIA, CC_OEI, 0, 0, 1, "tIA");
697
dpd_file2_init(&tia, CC_OEI, 0, 2, 3, "tia");
701
dpd_buf4_init(&W, CC_HBAR, 0, 20, 20, 20, 20, 0, "WMBEJ");
702
dpd_buf4_init(&D, CC_DINTS, 0, 20, 20, 20, 20, 0, "D <IJ||AB> (IA,JB)");
703
dpd_buf4_init(&t2, CC_TAMPS, 0, 20, 20, 20, 20, 0, "tIAJB");
704
dpd_contract444(&D, &t2, &W, 0, 0, 0.5, 1);
707
dpd_buf4_init(&D, CC_DINTS, 0, 20, 30, 20, 30, 0, "D <Ij|Ab> (IA,jb)");
708
dpd_buf4_init(&t2, CC_TAMPS, 0, 20, 30, 20, 30, 0, "tIAjb");
709
dpd_contract444(&D, &t2, &W, 0, 0, 0.5, 1);
714
dpd_buf4_init(&Y, CC_TMP0, 0, 20, 0, 20, 0, 0, "Y (ME,JN)");
715
dpd_buf4_init(&D, CC_DINTS, 0, 20, 21, 20, 21, 0, "D <IJ||AB> (IA,BJ)");
716
dpd_contract244(&tIA, &D, &Y, 1, 2, 1, 1, 0);
718
dpd_buf4_init(&W, CC_HBAR, 0, 20, 20, 20, 20, 0, "WMBEJ");
719
dpd_contract424(&Y, &tIA, &W, 3, 0, 0, -1, 1);
725
dpd_buf4_init(&W, CC_HBAR, 0, 30, 30, 30, 30, 0, "Wmbej");
726
dpd_buf4_init(&D, CC_DINTS, 0, 30, 30, 30, 30, 0, "D <ij||ab> (ia,jb)");
727
dpd_buf4_init(&t2, CC_TAMPS, 0, 30, 30, 30, 30, 0, "tiajb");
728
dpd_contract444(&D, &t2, &W, 0, 0, 0.5, 1);
731
dpd_buf4_init(&D, CC_DINTS, 0, 30, 20, 30, 20, 0, "D <Ij|Ab> (ia,JB)");
732
dpd_buf4_init(&t2, CC_TAMPS, 0, 30, 20, 30, 20, 0, "tiaJB");
733
dpd_contract444(&D, &t2, &W, 0, 0, 0.5, 1);
738
dpd_buf4_init(&Y, CC_TMP0, 0, 30, 10, 30, 10, 0, "Y (me,jn)");
739
dpd_buf4_init(&D, CC_DINTS, 0, 30, 31, 30, 31, 0, "D <ij||ab> (ia,bj)");
740
dpd_contract244(&tia, &D, &Y, 1, 2, 1, 1, 0);
742
dpd_buf4_init(&W, CC_HBAR, 0, 30, 30, 30, 30, 0, "Wmbej");
743
dpd_contract424(&Y, &tia, &W, 3, 0, 0, -1, 1);
749
dpd_buf4_init(&W, CC_HBAR, 0, 20, 30, 20, 30, 0, "WMbEj");
750
dpd_buf4_init(&D, CC_DINTS, 0, 20, 30, 20, 30, 0, "D <Ij|Ab> (IA,jb)");
751
dpd_buf4_init(&t2, CC_TAMPS, 0, 30, 30, 30, 30, 0, "tiajb");
752
dpd_contract444(&D, &t2, &W, 0, 0, 0.5, 1);
755
dpd_buf4_init(&D, CC_DINTS, 0, 20, 20, 20, 20, 0, "D <IJ||AB> (IA,JB)");
756
dpd_buf4_init(&t2, CC_TAMPS, 0, 30, 20, 30, 20, 0, "tiaJB");
757
dpd_contract444(&D, &t2, &W, 0, 0, 0.5, 1);
762
dpd_buf4_init(&Y, CC_TMP0, 0, 20, 10, 20, 10, 0, "Y (ME,jn)");
763
dpd_buf4_init(&D, CC_DINTS, 0, 20, 31, 20, 31, 0, "D <Ij|Ab> (IA,bj)");
764
dpd_contract244(&tia, &D, &Y, 1, 2, 1, 1, 0);
766
dpd_buf4_init(&W, CC_HBAR, 0, 20, 30, 20, 30, 0, "WMbEj");
767
dpd_contract424(&Y, &tia, &W, 3, 0, 0, -1, 1);
773
dpd_buf4_init(&W, CC_HBAR, 0, 30, 20, 30, 20, 0, "WmBeJ");
774
dpd_buf4_init(&D, CC_DINTS, 0, 30, 20, 30, 20, 0, "D <Ij|Ab> (ia,JB)");
775
dpd_buf4_init(&t2, CC_TAMPS, 0, 20, 20, 20, 20, 0, "tIAJB");
776
dpd_contract444(&D, &t2, &W, 0, 0, 0.5, 1);
779
dpd_buf4_init(&D, CC_DINTS, 0, 30, 30, 30, 30, 0, "D <ij||ab> (ia,jb)");
780
dpd_buf4_init(&t2, CC_TAMPS, 0, 20, 30, 20, 30, 0, "tIAjb");
781
dpd_contract444(&D, &t2, &W, 0, 0, 0.5, 1);
786
dpd_buf4_init(&Y, CC_TMP0, 0, 30, 0, 30, 0, 0, "Y (me,JN)");
787
dpd_buf4_init(&D, CC_DINTS, 0, 30, 21, 30, 21, 0, "D <Ij|Ab> (ia,BJ)");
788
dpd_contract244(&tIA, &D, &Y, 1, 2, 1, 1, 0);
790
dpd_buf4_init(&W, CC_HBAR, 0, 30, 20, 30, 20, 0, "WmBeJ");
791
dpd_contract424(&Y, &tIA, &W, 3, 0, 0, -1, 1);
797
dpd_buf4_init(&W, CC_HBAR, 0, 24, 24, 24, 24, 0, "WMbeJ");
798
dpd_buf4_init(&t2, CC_TAMPS, 0, 24, 27, 24, 27, 0, "tIbjA");
799
dpd_buf4_init(&D, CC_DINTS, 0, 24, 27, 24, 27, 0, "D <Ij|Ab> (Ib,jA)");
800
dpd_contract444(&D, &t2, &W, 0, 0, 0.5, 1);
805
dpd_buf4_init(&Y, CC_TMP0, 0, 24, 22, 24, 22, 0, "Y (Me,Jn)");
806
dpd_buf4_init(&D, CC_DINTS, 0, 24, 26, 24, 26, 0, "D <Ij|Ab> (Ib,Aj)");
807
dpd_contract244(&tIA, &D, &Y, 1, 2, 1, 1, 0);
809
dpd_buf4_init(&W, CC_HBAR, 0, 24, 24, 24, 24, 0, "WMbeJ");
810
dpd_contract424(&Y, &tia, &W, 3, 0, 0, 1, 1);
816
dpd_buf4_init(&W, CC_HBAR, 0, 27, 27, 27, 27, 0, "WmBEj");
817
dpd_buf4_init(&t2, CC_TAMPS, 0, 27, 24, 27, 24, 0, "tiBJa");
818
dpd_buf4_init(&D, CC_DINTS, 0, 27, 24, 27, 24, 0, "D <iJ|aB> (iB,Ja)");
819
dpd_contract444(&D, &t2, &W, 0, 0, 0.5, 1);
824
dpd_buf4_init(&Y, CC_TMP0, 0, 27, 23, 27, 23, 0, "Y (mE,jN)");
825
dpd_buf4_init(&D, CC_DINTS, 0, 27, 25, 27, 25, 0, "D <iJ|aB> (iB,aJ)");
826
dpd_contract244(&tia, &D, &Y, 1, 2, 1, 1, 0);
828
dpd_buf4_init(&W, CC_HBAR, 0, 27, 27, 27, 27, 0, "WmBEj");
829
dpd_contract424(&Y, &tIA, &W, 3, 0, 0, 1, 1);
833
dpd_file2_close(&tIA);
834
dpd_file2_close(&tia);
836
/* D(me,nf) * T2(jb,nf) --> W(me,jb) */
837
dpd_buf4_init(&Wmbej, CC_HBAR, 0, 30, 30, 30, 30, 0, "Wmbej");
839
dpd_buf4_init(&D, CC_DINTS, 0, 30, 30, 30, 30, 0, "D <ij||ab> (ia,jb)");
840
dpd_buf4_init(&tiajb, CC_TAMPS, 0, 30, 30, 30, 30, 0, "tiajb");
841
dpd_contract444(&D, &tiajb, &Wmbej, 0, 0, 0.5, 1);
843
dpd_buf4_close(&tiajb);
845
/* D(me,NF) * T2(jb,NF) --> W(me,jb) */
846
dpd_buf4_init(&tiaJB, CC_TAMPS, 0, 30, 20, 30, 20, 0, "tiaJB");
847
dpd_buf4_init(&D, CC_DINTS, 0, 30, 20, 30, 20, 0, "D <Ij|Ab> (ia,JB)");
848
dpd_contract444(&D, &tiaJB, &Wmbej, 0, 0, 0.5, 1);
850
dpd_buf4_close(&tiaJB);
852
dpd_buf4_close(&Wmbej);
855
/* D(ME,NF) * T2(JB,NF) --> W(ME,JB) */
856
dpd_buf4_init(&WMBEJ, CC_HBAR, 0, 20, 20, 20, 20, 0, "WMBEJ");
858
dpd_buf4_init(&D, CC_DINTS, 0, 20, 20, 20, 20, 0, "D <IJ||AB> (IA,JB)");
859
dpd_buf4_init(&tIAJB, CC_TAMPS, 0, 20, 20, 20, 20, 0, "tIAJB");
860
dpd_contract444(&D, &tIAJB, &WMBEJ, 0, 0, 0.5, 1);
862
dpd_buf4_close(&tIAJB);
864
/* D(ME,nf) * T2(JB,nf) --> W(ME,JB) */
865
dpd_buf4_init(&tIAjb, CC_TAMPS, 0, 20, 30, 20, 30, 0, "tIAjb");
866
dpd_buf4_init(&D, CC_DINTS, 0, 20, 30, 20, 30, 0, "D <Ij|Ab> (IA,jb)");
867
dpd_contract444(&D, &tIAjb, &WMBEJ, 0, 0, 0.5, 1);
869
dpd_buf4_close(&tIAjb);
871
dpd_buf4_close(&WMBEJ);
874
/* D(me,nf) * T2(JB,nf) --> W(me,JB) */
875
dpd_buf4_init(&WmBeJ, CC_HBAR, 0, 30, 20, 30, 20, 0, "WmBeJ");
877
dpd_buf4_init(&D, CC_DINTS, 0, 30, 30, 30, 30, 0, "D <ij||ab> (ia,jb)");
878
dpd_buf4_init(&tIAjb, CC_TAMPS, 0, 20, 30, 20, 30, 0, "tIAjb");
879
dpd_contract444(&D, &tIAjb, &WmBeJ, 0, 0, 0.5, 1);
881
dpd_buf4_close(&tIAjb);
883
/* D(me,NF) * T2(JB,NF) --> W(me,JB) */
884
dpd_buf4_init(&D, CC_DINTS, 0, 30, 20, 30, 20, 0, "D <Ij|Ab> (ia,JB)");
885
dpd_buf4_init(&tIAJB, CC_TAMPS, 0, 20, 20, 20, 20, 0, "tIAJB");
886
dpd_contract444(&D, &tIAJB, &WmBeJ, 0, 0, 0.5, 1);
888
dpd_buf4_close(&tIAJB);
890
dpd_buf4_close(&WmBeJ);
893
/* D(ME,NF) * T2(jb,NF) --> W(ME,jb) */
894
dpd_buf4_init(&WMbEj, CC_HBAR, 0, 20, 30, 20, 30, 0, "WMbEj");
896
dpd_buf4_init(&D, CC_DINTS, 0, 20, 20, 20, 20, 0, "D <IJ||AB> (IA,JB)");
897
dpd_buf4_init(&tiaJB, CC_TAMPS, 0, 30, 20, 30, 20, 0, "tiaJB");
898
dpd_contract444(&D, &tiaJB, &WMbEj, 0, 0, 0.5, 1);
900
dpd_buf4_close(&tiaJB);
902
/* D(ME,nf) * T2(jb,nf) --> W(ME,jb) */
903
dpd_buf4_init(&D, CC_DINTS, 0, 20, 30, 20, 30, 0, "D <Ij|Ab> (IA,jb)");
904
dpd_buf4_init(&tiajb, CC_TAMPS, 0, 30, 30, 30, 30, 0, "tiajb");
905
dpd_contract444(&D, &tiajb, &WMbEj, 0, 0, 0.5, 1);
907
dpd_buf4_close(&tiajb);
909
dpd_buf4_close(&WMbEj);
912
/* D(mE,Nf) * T2(jB,Nf) --> W(mE,jB) */
913
dpd_buf4_init(&WmBEj, CC_HBAR, 0, 27, 27, 27, 27, 0, "WmBEj");
915
dpd_buf4_init(&D, CC_DINTS, 0, 27, 24, 27, 24, 0, "D <iJ|aB> (iB,Ja)");
916
dpd_buf4_init(&tjAIb, CC_TAMPS, 0, 27, 24, 27, 24, 0, "tjAIb");
917
dpd_contract444(&D, &tjAIb, &WmBEj, 0, 0, 0.5, 1);
919
dpd_buf4_close(&tjAIb);
921
dpd_buf4_close(&WmBEj);
924
/* D(Me,nF) * T2(Jb,nF) --> W(Me,Jb) */
925
dpd_buf4_init(&WMbeJ, CC_HBAR, 0, 24, 24, 24, 24, 0, "WMbeJ");
927
dpd_buf4_init(&D, CC_DINTS, 0, 24, 27, 24, 27, 0, "D <Ij|Ab> (Ib,jA)");
928
dpd_buf4_init(&tIbjA, CC_TAMPS, 0, 24, 27, 24, 27, 0, "tIbjA");
929
dpd_contract444(&D, &tIbjA, &WMbeJ, 0, 0, 0.5, 1);
931
dpd_buf4_close(&tIbjA);
933
dpd_buf4_close(&WMbeJ);