3
\brief Enter brief description of file here
6
#include <libdpd/dpd.h>
13
namespace psi { namespace cchbar {
15
/* Wmbej_build(): Computes all contributions to the Wmbej HBAR matrix
16
** elements. These are defined in terms of spin orbitals as:
18
** Wmbej = <mb||ej> + t_j^f <mb||ef> - t_n^b <mn||ej>
19
** - { t_jn^fb + t_j^f t_n^b } <mn||ef>
21
** [cf. Gauss and Stanton, JCP 103, 3561-3577 (1995)]
23
** There are Wmbej six spin cases, which are stored and named
26
** Spin Case Storage Name
27
** ---------- --------- -------
28
** WMBEJ (ME,JB) "WMBEJ"
29
** Wmbej (me,jb) "Wmbej"
30
** WMbEj (ME,jb) "WMbEj"
31
** WmBeJ (me,JB) "WmBeJ"
32
** WMbeJ (Me,bJ) "WMbeJ"
33
** WmBEj (mE,Bj) "WmBEj"
34
** -------------------------------
39
void Wmbej_build(void) {
40
dpdbuf4 WMBEJ, Wmbej, WMbEj, WmBeJ, WmBEj, WMbeJ;
41
dpdbuf4 tIAJB, tjAIb, tiajb, tIAjb, tiaJB, tIbjA;
42
dpdbuf4 D, C, F, E, X, Y, t2, W, Z;
44
int Gmb, mb, Gj, Ge, Gf, nrows, ncols, nlinks;
46
if(params.ref == 0) { /** RHF **/
48
/* <mb||ej> -> Wmbej */
50
dpd_buf4_init(&C, CC_CINTS, 0, 10, 10, 10, 10, 0, "C <ia|jb>");
51
dpd_buf4_scmcopy(&C, CC_TMP0, "WMbeJ", -1);
54
dpd_buf4_init(&D, CC_DINTS, 0, 10, 11, 10, 11, 0, "D <ij|ab> (ib,aj)");
55
dpd_buf4_copy(&D, CC_TMP0, "WMbEj");
58
dpd_file2_init(&tIA, CC_OEI, 0, 0, 1, "tIA");
62
dpd_buf4_init(&F, CC_FINTS, 0, 10, 5, 10, 5, 0, "F <ia|bc>");
64
dpd_buf4_init(&WMbEj, CC_TMP0, 0, 10, 11, 10, 11, 0, "WMbEj");
65
dpd_contract424(&F, &tIA, &WMbEj, 3, 1, 0, 1, 1); /* should run OOC, if needed */
66
dpd_buf4_close(&WMbEj);
71
dpd_buf4_init(&F, CC_FINTS, 0, 11, 5, 11, 5, 0, "F <ai|bc>");
73
dpd_buf4_init(&Z, CC_TMP0, 0, 11, 11, 11, 11, 0, "Z(bM,eJ)");
74
dpd_contract424(&F, &tIA, &Z, 3, 1, 0, -1, 0);
75
dpd_buf4_sort(&Z, CC_TMP0, qpsr, 10, 10, "Z(Mb,Je)");
77
dpd_buf4_init(&Z, CC_TMP0, 0, 10, 10, 10, 10, 0, "Z(Mb,Je)");
78
dpd_buf4_init(&WMbeJ, CC_TMP0, 0, 10, 10, 10, 10, 0, "WMbeJ");
79
dpd_buf4_axpy(&Z, &WMbeJ, 1.0);
80
dpd_buf4_close(&WMbeJ);
85
/* W(Mb,Je) <-- t(J,F) <Mb|Fe> */
86
/* OOC code added to replace above on 3/26/05, TDC */
87
dpd_buf4_init(&F, CC_FINTS, 0, 10, 5, 10, 5, 0, "F <ia|bc>");
88
dpd_buf4_init(&W, CC_TMP0, 0, 10, 10, 10, 10, 0, "WMbeJ");
89
dpd_file2_mat_init(&tIA);
90
dpd_file2_mat_rd(&tIA);
92
for(Gmb=0; Gmb < moinfo.nirreps; Gmb++) {
93
dpd_buf4_mat_irrep_row_init(&W, Gmb);
94
dpd_buf4_mat_irrep_row_init(&F, Gmb);
96
for(mb=0; mb < F.params->rowtot[Gmb]; mb++) {
97
dpd_buf4_mat_irrep_row_rd(&W, Gmb, mb);
98
dpd_buf4_mat_irrep_row_rd(&F, Gmb, mb);
100
for(Gj=0; Gj < moinfo.nirreps; Gj++) {
101
Gf = Gj; /* T1 is totally symmetric */
102
Ge = Gmb ^ Gf; /* <mb|fe> is totally symmetric */
104
nrows = moinfo.occpi[Gj];
105
ncols = moinfo.virtpi[Ge];
106
nlinks = moinfo.virtpi[Gf];
107
if(nrows && ncols && nlinks)
108
C_DGEMM('n','n',nrows,ncols,nlinks,-1.0,tIA.matrix[Gj][0],nlinks,
109
&F.matrix[Gmb][0][F.col_offset[Gmb][Gf]],ncols,1.0,
110
&W.matrix[Gmb][0][W.col_offset[Gmb][Gj]],ncols);
113
dpd_buf4_mat_irrep_row_wrt(&W, Gmb, mb);
116
dpd_buf4_mat_irrep_row_close(&F, Gmb);
117
dpd_buf4_mat_irrep_row_close(&W, Gmb);
120
dpd_file2_mat_close(&tIA);
125
dpd_file2_close(&tIA);
128
dpd_file2_init(&tIA, CC_OEI, 0, 0, 1, "tIA");
130
dpd_buf4_init(&E, CC_EINTS, 0, 11, 0, 11, 0, 0, "E <ai|jk>");
131
dpd_buf4_init(&WMbEj, CC_TMP0, 0, 10, 11, 10, 11, 0, "WMbEj");
132
dpd_contract424(&E, &tIA, &WMbEj, 3, 0, 1, -1, 1);
133
dpd_buf4_close(&WMbEj);
136
dpd_buf4_init(&E, CC_EINTS, 0, 0, 10, 0, 10, 0, "E <ij|ka>");
137
dpd_buf4_init(&WMbeJ, CC_TMP0, 0, 10, 10, 10, 10, 0, "WMbeJ");
138
dpd_contract424(&E, &tIA, &WMbeJ, 1, 0, 1, 1, 1);
139
dpd_buf4_close(&WMbeJ);
142
dpd_file2_close(&tIA);
145
/* Sort to (ME,JB) */
147
dpd_buf4_init(&WMbEj, CC_TMP0, 0, 10, 11, 10, 11, 0, "WMbEj");
148
dpd_buf4_sort(&WMbEj, CC_HBAR, prsq, 10, 10, "WMbEj");
149
dpd_buf4_close(&WMbEj);
151
dpd_buf4_init(&WMbeJ, CC_TMP0, 0, 10, 10, 10, 10, 0, "WMbeJ");
152
dpd_buf4_sort(&WMbeJ, CC_HBAR, psrq, 10, 10, "WMbeJ");
153
dpd_buf4_close(&WMbeJ);
158
dpd_file2_init(&tIA, CC_OEI, 0, 0, 1, "tIA");
162
dpd_buf4_init(&W, CC_HBAR, 0, 10, 10, 10, 10, 0, "WMbEj");
163
dpd_buf4_init(&t2, CC_TAMPS, 0, 10, 10, 10, 10, 0, "tIAjb");
164
dpd_buf4_init(&D, CC_DINTS, 0, 10, 10, 10, 10, 0, "D 2<ij|ab> - <ij|ba> (ia,jb)");
165
dpd_contract444(&D, &t2, &W, 0, 0, 1, 1);
168
dpd_buf4_init(&t2, CC_TAMPS, 0, 10, 10, 10, 10, 0, "tjAIb");
169
dpd_buf4_init(&D, CC_DINTS, 0, 10, 10, 10, 10, 0, "D <ij|ab> (ia,jb)");
170
dpd_contract444(&D, &t2, &W, 0, 0, -1, 1);
175
dpd_buf4_init(&Y, CC_TMP0, 0, 10, 0, 10, 0, 0, "Y (ME,JN)");
176
dpd_buf4_init(&D, CC_DINTS, 0, 10, 11, 10, 11, 0, "D <ij|ab> (ia,bj)");
177
dpd_contract244(&tIA, &D, &Y, 1, 2, 1, 1, 0);
179
dpd_buf4_init(&W, CC_HBAR, 0, 10, 10, 10, 10, 0, "WMbEj");
180
dpd_contract424(&Y, &tIA, &W, 3, 0, 0, -1, 1);
186
dpd_buf4_init(&W, CC_HBAR, 0, 10, 10, 10, 10, 0, "WMbeJ");
187
dpd_buf4_init(&t2, CC_TAMPS, 0, 10, 10, 10, 10, 0, "tIbjA");
188
dpd_buf4_init(&D, CC_DINTS, 0, 10, 10, 10, 10, 0, "D <ij|ab> (ib,ja)");
189
dpd_contract444(&D, &t2, &W, 0, 0, 1, 1);
194
dpd_buf4_init(&Y, CC_TMP0, 0, 10, 0, 10, 0, 0, "Y (ME,JN)");
195
dpd_buf4_init(&D, CC_DINTS, 0, 10, 11, 10, 11, 0, "D <ij|ab> (ib,aj)");
196
dpd_contract244(&tIA, &D, &Y, 1, 2, 1, 1, 0);
198
dpd_buf4_init(&W, CC_HBAR, 0, 10, 10, 10, 10, 0, "WMbeJ");
199
dpd_contract424(&Y, &tIA, &W, 3, 0, 0, 1, 1);
203
dpd_file2_close(&tIA);
206
else if(params.ref == 1) { /** ROHF **/
208
/* W(mb,je) <-- <mb||ej> */
210
dpd_buf4_init(&C, CC_CINTS, 0, 10, 11, 10, 11, 0, "C <ia||jb> (ia,bj)");
211
dpd_buf4_scmcopy(&C, CC_TMP0, "WMBEJ", -1);
212
dpd_buf4_scmcopy(&C, CC_TMP0, "Wmbej", -1);
215
dpd_buf4_init(&C, CC_CINTS, 0, 10, 10, 10, 10, 0, "C <ia|jb>");
216
dpd_buf4_scmcopy(&C, CC_TMP0, "WmBEj", -1);
217
dpd_buf4_scmcopy(&C, CC_TMP0, "WMbeJ", -1);
220
dpd_buf4_init(&D, CC_DINTS, 0, 10, 11, 10, 11, 0, "D <ij|ab> (ib,aj)");
221
dpd_buf4_copy(&D, CC_TMP0, "WMbEj");
222
dpd_buf4_copy(&D, CC_TMP0, "WmBeJ");
227
dpd_file2_init(&tIA, CC_OEI, 0, 0, 1, "tIA");
228
dpd_file2_init(&tia, CC_OEI, 0, 0, 1, "tia");
230
dpd_buf4_init(&F, CC_FINTS, 0, 10, 5, 10, 5, 1, "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);
239
dpd_buf4_init(&F, CC_FINTS, 0, 10, 5, 10, 5, 0, "F <ia|bc>");
240
dpd_buf4_init(&WMbEj, CC_TMP0, 0, 10, 11, 10, 11, 0, "WMbEj");
241
dpd_contract424(&F, &tia, &WMbEj, 3, 1, 0, 1, 1);
242
dpd_buf4_close(&WMbEj);
243
dpd_buf4_init(&WmBeJ, CC_TMP0, 0, 10, 11, 10, 11, 0, "WmBeJ");
244
dpd_contract424(&F, &tIA, &WmBeJ, 3, 1, 0, 1, 1);
245
dpd_buf4_close(&WmBeJ);
247
dpd_buf4_init(&WMbeJ, CC_TMP0, 0, 10, 10, 10, 10, 0, "WMbeJ");
248
dpd_contract244(&tIA, &F, &WMbeJ, 1, 2, 1, -1, 1);
249
dpd_buf4_close(&WMbeJ);
250
dpd_buf4_init(&WmBEj, CC_TMP0, 0, 10, 10, 10, 10, 0, "WmBEj");
251
dpd_contract244(&tia, &F, &WmBEj, 1, 2, 1, -1, 1);
252
dpd_buf4_close(&WmBEj);
255
dpd_file2_close(&tIA);
256
dpd_file2_close(&tia);
260
dpd_file2_init(&tIA, CC_OEI, 0, 0, 1, "tIA");
261
dpd_file2_init(&tia, CC_OEI, 0, 0, 1, "tia");
263
dpd_buf4_init(&E, CC_EINTS, 0, 0, 11, 2, 11, 0, "E <ij||ka> (i>j,ak)");
264
dpd_buf4_init(&WMBEJ, CC_TMP0, 0, 10, 11, 10, 11, 0, "WMBEJ");
265
dpd_contract424(&E, &tIA, &WMBEJ, 1, 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, 1, 0, 1, 1, 1);
269
dpd_buf4_close(&Wmbej);
272
dpd_buf4_init(&E, CC_EINTS, 0, 11, 0, 11, 0, 0, "E <ai|jk>");
273
dpd_buf4_init(&WMbEj, CC_TMP0, 0, 10, 11, 10, 11, 0, "WMbEj");
274
dpd_contract424(&E, &tia, &WMbEj, 3, 0, 1, -1, 1);
275
dpd_buf4_close(&WMbEj);
276
dpd_buf4_init(&WmBeJ, CC_TMP0, 0, 10, 11, 10, 11, 0, "WmBeJ");
277
dpd_contract424(&E, &tIA, &WmBeJ, 3, 0, 1, -1, 1);
278
dpd_buf4_close(&WmBeJ);
281
dpd_buf4_init(&E, CC_EINTS, 0, 0, 10, 0, 10, 0, "E <ij|ka>");
282
dpd_buf4_init(&WMbeJ, CC_TMP0, 0, 10, 10, 10, 10, 0, "WMbeJ");
283
dpd_contract424(&E, &tia, &WMbeJ, 1, 0, 1, 1, 1);
284
dpd_buf4_close(&WMbeJ);
285
dpd_buf4_init(&WmBEj, CC_TMP0, 0, 10, 10, 10, 10, 0, "WmBEj");
286
dpd_contract424(&E, &tIA, &WmBEj, 1, 0, 1, 1, 1);
287
dpd_buf4_close(&WmBEj);
290
dpd_file2_close(&tIA);
291
dpd_file2_close(&tia);
293
/* Convert to (ME,JB) for remaining terms */
295
dpd_buf4_init(&WMBEJ, CC_TMP0, 0, 10, 11, 10, 11, 0, "WMBEJ");
296
dpd_buf4_sort(&WMBEJ, CC_HBAR, prsq, 10, 10, "WMBEJ");
297
dpd_buf4_close(&WMBEJ);
299
dpd_buf4_init(&Wmbej, CC_TMP0, 0, 10, 11, 10, 11, 0, "Wmbej");
300
dpd_buf4_sort(&Wmbej, CC_HBAR, prsq, 10, 10, "Wmbej");
301
dpd_buf4_close(&Wmbej);
303
dpd_buf4_init(&WMbEj, CC_TMP0, 0, 10, 11, 10, 11, 0, "WMbEj");
304
dpd_buf4_sort(&WMbEj, CC_HBAR, prsq, 10, 10, "WMbEj");
305
dpd_buf4_close(&WMbEj);
307
dpd_buf4_init(&WmBeJ, CC_TMP0, 0, 10, 11, 10, 11, 0, "WmBeJ");
308
dpd_buf4_sort(&WmBeJ, CC_HBAR, prsq, 10, 10, "WmBeJ");
309
dpd_buf4_close(&WmBeJ);
311
dpd_buf4_init(&WMbeJ, CC_TMP0, 0, 10, 10, 10, 10, 0, "WMbeJ");
312
dpd_buf4_sort(&WMbeJ, CC_HBAR, psrq, 10, 10, "WMbeJ");
313
dpd_buf4_close(&WMbeJ);
315
dpd_buf4_init(&WmBEj, CC_TMP0, 0, 10, 10, 10, 10, 0, "WmBEj");
316
dpd_buf4_sort(&WmBEj, CC_HBAR, psrq, 10, 10, "WmBEj");
317
dpd_buf4_close(&WmBEj);
320
dpd_file2_init(&tIA, CC_OEI, 0, 0, 1, "tIA");
321
dpd_file2_init(&tia, CC_OEI, 0, 0, 1, "tia");
325
dpd_buf4_init(&W, CC_HBAR, 0, 10, 10, 10, 10, 0, "WMBEJ");
326
dpd_buf4_init(&D, CC_DINTS, 0, 10, 10, 10, 10, 0, "D <ij||ab> (ia,jb)");
327
dpd_buf4_init(&t2, CC_TAMPS, 0, 10, 10, 10, 10, 0, "tIAJB");
328
dpd_contract444(&D, &t2, &W, 0, 0, 0.5, 1);
331
dpd_buf4_init(&D, CC_DINTS, 0, 10, 10, 10, 10, 0, "D <ij|ab> (ia,jb)");
332
dpd_buf4_init(&t2, CC_TAMPS, 0, 10, 10, 10, 10, 0, "tIAjb");
333
dpd_contract444(&D, &t2, &W, 0, 0, 0.5, 1);
338
dpd_buf4_init(&Y, CC_TMP0, 0, 10, 0, 10, 0, 0, "Y (ME,JN)");
339
dpd_buf4_init(&D, CC_DINTS, 0, 10, 11, 10, 11, 0, "D <ij||ab> (ia,bj)");
340
dpd_contract244(&tIA, &D, &Y, 1, 2, 1, 1, 0);
342
dpd_buf4_init(&W, CC_HBAR, 0, 10, 10, 10, 10, 0, "WMBEJ");
343
dpd_contract424(&Y, &tIA, &W, 3, 0, 0, -1, 1);
349
dpd_buf4_init(&W, CC_HBAR, 0, 10, 10, 10, 10, 0, "Wmbej");
350
dpd_buf4_init(&D, CC_DINTS, 0, 10, 10, 10, 10, 0, "D <ij||ab> (ia,jb)");
351
dpd_buf4_init(&t2, CC_TAMPS, 0, 10, 10, 10, 10, 0, "tiajb");
352
dpd_contract444(&D, &t2, &W, 0, 0, 0.5, 1);
355
dpd_buf4_init(&D, CC_DINTS, 0, 10, 10, 10, 10, 0, "D <ij|ab> (ia,jb)");
356
dpd_buf4_init(&t2, CC_TAMPS, 0, 10, 10, 10, 10, 0, "tiaJB");
357
dpd_contract444(&D, &t2, &W, 0, 0, 0.5, 1);
362
dpd_buf4_init(&Y, CC_TMP0, 0, 10, 0, 10, 0, 0, "Y (ME,JN)");
363
dpd_buf4_init(&D, CC_DINTS, 0, 10, 11, 10, 11, 0, "D <ij||ab> (ia,bj)");
364
dpd_contract244(&tia, &D, &Y, 1, 2, 1, 1, 0);
366
dpd_buf4_init(&W, CC_HBAR, 0, 10, 10, 10, 10, 0, "Wmbej");
367
dpd_contract424(&Y, &tia, &W, 3, 0, 0, -1, 1);
373
dpd_buf4_init(&W, CC_HBAR, 0, 10, 10, 10, 10, 0, "WMbEj");
374
dpd_buf4_init(&D, CC_DINTS, 0, 10, 10, 10, 10, 0, "D <ij|ab> (ia,jb)");
375
dpd_buf4_init(&t2, CC_TAMPS, 0, 10, 10, 10, 10, 0, "tiajb");
376
dpd_contract444(&D, &t2, &W, 0, 0, 0.5, 1);
379
dpd_buf4_init(&D, CC_DINTS, 0, 10, 10, 10, 10, 0, "D <ij||ab> (ia,jb)");
380
dpd_buf4_init(&t2, CC_TAMPS, 0, 10, 10, 10, 10, 0, "tiaJB");
381
dpd_contract444(&D, &t2, &W, 0, 0, 0.5, 1);
386
dpd_buf4_init(&Y, CC_TMP0, 0, 10, 0, 10, 0, 0, "Y (ME,JN)");
387
dpd_buf4_init(&D, CC_DINTS, 0, 10, 11, 10, 11, 0, "D <ij|ab> (ia,bj)");
388
dpd_contract244(&tia, &D, &Y, 1, 2, 1, 1, 0);
390
dpd_buf4_init(&W, CC_HBAR, 0, 10, 10, 10, 10, 0, "WMbEj");
391
dpd_contract424(&Y, &tia, &W, 3, 0, 0, -1, 1);
397
dpd_buf4_init(&W, CC_HBAR, 0, 10, 10, 10, 10, 0, "WmBeJ");
398
dpd_buf4_init(&D, CC_DINTS, 0, 10, 10, 10, 10, 0, "D <ij|ab> (ia,jb)");
399
dpd_buf4_init(&t2, CC_TAMPS, 0, 10, 10, 10, 10, 0, "tIAJB");
400
dpd_contract444(&D, &t2, &W, 0, 0, 0.5, 1);
403
dpd_buf4_init(&D, CC_DINTS, 0, 10, 10, 10, 10, 0, "D <ij||ab> (ia,jb)");
404
dpd_buf4_init(&t2, CC_TAMPS, 0, 10, 10, 10, 10, 0, "tIAjb");
405
dpd_contract444(&D, &t2, &W, 0, 0, 0.5, 1);
410
dpd_buf4_init(&Y, CC_TMP0, 0, 10, 0, 10, 0, 0, "Y (ME,JN)");
411
dpd_buf4_init(&D, CC_DINTS, 0, 10, 11, 10, 11, 0, "D <ij|ab> (ia,bj)");
412
dpd_contract244(&tIA, &D, &Y, 1, 2, 1, 1, 0);
414
dpd_buf4_init(&W, CC_HBAR, 0, 10, 10, 10, 10, 0, "WmBeJ");
415
dpd_contract424(&Y, &tIA, &W, 3, 0, 0, -1, 1);
421
dpd_buf4_init(&W, CC_HBAR, 0, 10, 10, 10, 10, 0, "WMbeJ");
422
dpd_buf4_init(&t2, CC_TAMPS, 0, 10, 10, 10, 10, 0, "tIbjA");
423
dpd_buf4_init(&D, CC_DINTS, 0, 10, 10, 10, 10, 0, "D <ij|ab> (ib,ja)");
424
dpd_contract444(&D, &t2, &W, 0, 0, 0.5, 1);
429
dpd_buf4_init(&Y, CC_TMP0, 0, 10, 0, 10, 0, 0, "Y (ME,JN)");
430
dpd_buf4_init(&D, CC_DINTS, 0, 10, 11, 10, 11, 0, "D <ij|ab> (ib,aj)");
431
dpd_contract244(&tIA, &D, &Y, 1, 2, 1, 1, 0);
433
dpd_buf4_init(&W, CC_HBAR, 0, 10, 10, 10, 10, 0, "WMbeJ");
434
dpd_contract424(&Y, &tia, &W, 3, 0, 0, 1, 1);
440
dpd_buf4_init(&W, CC_HBAR, 0, 10, 10, 10, 10, 0, "WmBEj");
441
dpd_buf4_init(&t2, CC_TAMPS, 0, 10, 10, 10, 10, 0, "tjAIb");
442
dpd_buf4_init(&D, CC_DINTS, 0, 10, 10, 10, 10, 0, "D <ij|ab> (ib,ja)");
443
dpd_contract444(&D, &t2, &W, 0, 0, 0.5, 1);
448
dpd_buf4_init(&Y, CC_TMP0, 0, 10, 0, 10, 0, 0, "Y (ME,JN)");
449
dpd_buf4_init(&D, CC_DINTS, 0, 10, 11, 10, 11, 0, "D <ij|ab> (ib,aj)");
450
dpd_contract244(&tia, &D, &Y, 1, 2, 1, 1, 0);
452
dpd_buf4_init(&W, CC_HBAR, 0, 10, 10, 10, 10, 0, "WmBEj");
453
dpd_contract424(&Y, &tIA, &W, 3, 0, 0, 1, 1);
457
dpd_file2_close(&tIA);
458
dpd_file2_close(&tia);
461
/* D(me,nf) * T2(jb,nf) --> W(me,jb) */
462
dpd_buf4_init(&Wmbej, CC_HBAR, 0, 10, 10, 10, 10, 0, "Wmbej");
464
dpd_buf4_init(&D, CC_DINTS, 0, 10, 10, 10, 10, 0, "D <ij||ab> (ia,jb)");
465
dpd_buf4_init(&tiajb, CC_TAMPS, 0, 10, 10, 10, 10, 0, "tiajb");
466
dpd_contract444(&D, &tiajb, &Wmbej, 0, 0, 0.5, 1);
468
dpd_buf4_close(&tiajb);
470
/* D(me,NF) * T2(jb,NF) --> W(me,jb) */
471
dpd_buf4_init(&tiaJB, CC_TAMPS, 0, 10, 10, 10, 10, 0, "tiaJB");
472
dpd_buf4_init(&D, CC_DINTS, 0, 10, 10, 10, 10, 0, "D <ij|ab> (ia,jb)");
473
dpd_contract444(&D, &tiaJB, &Wmbej, 0, 0, 0.5, 1);
475
dpd_buf4_close(&tiaJB);
477
dpd_buf4_close(&Wmbej);
480
/* D(ME,NF) * T2(JB,NF) --> W(ME,JB) */
481
dpd_buf4_init(&WMBEJ, CC_HBAR, 0, 10, 10, 10, 10, 0, "WMBEJ");
483
dpd_buf4_init(&D, CC_DINTS, 0, 10, 10, 10, 10, 0, "D <ij||ab> (ia,jb)");
484
dpd_buf4_init(&tIAJB, CC_TAMPS, 0, 10, 10, 10, 10, 0, "tIAJB");
485
dpd_contract444(&D, &tIAJB, &WMBEJ, 0, 0, 0.5, 1);
487
dpd_buf4_close(&tIAJB);
489
/* D(ME,nf) * T2(JB,nf) --> W(ME,JB) */
490
dpd_buf4_init(&tIAjb, CC_TAMPS, 0, 10, 10, 10, 10, 0, "tIAjb");
491
dpd_buf4_init(&D, CC_DINTS, 0, 10, 10, 10, 10, 0, "D <ij|ab> (ia,jb)");
492
dpd_contract444(&D, &tIAjb, &WMBEJ, 0, 0, 0.5, 1);
494
dpd_buf4_close(&tIAjb);
496
dpd_buf4_close(&WMBEJ);
499
/* D(me,nf) * T2(JB,nf) --> W(me,JB) */
500
dpd_buf4_init(&WmBeJ, CC_HBAR, 0, 10, 10, 10, 10, 0, "WmBeJ");
502
dpd_buf4_init(&D, CC_DINTS, 0, 10, 10, 10, 10, 0, "D <ij||ab> (ia,jb)");
503
dpd_buf4_init(&tIAjb, CC_TAMPS, 0, 10, 10, 10, 10, 0, "tIAjb");
504
dpd_contract444(&D, &tIAjb, &WmBeJ, 0, 0, 0.5, 1);
506
dpd_buf4_close(&tIAjb);
508
/* D(me,NF) * T2(JB,NF) --> W(me,JB) */
509
dpd_buf4_init(&D, CC_DINTS, 0, 10, 10, 10, 10, 0, "D <ij|ab> (ia,jb)");
510
dpd_buf4_init(&tIAJB, CC_TAMPS, 0, 10, 10, 10, 10, 0, "tIAJB");
511
dpd_contract444(&D, &tIAJB, &WmBeJ, 0, 0, 0.5, 1);
513
dpd_buf4_close(&tIAJB);
515
dpd_buf4_close(&WmBeJ);
518
/* D(ME,NF) * T2(jb,NF) --> W(ME,jb) */
519
dpd_buf4_init(&WMbEj, CC_HBAR, 0, 10, 10, 10, 10, 0, "WMbEj");
521
dpd_buf4_init(&D, CC_DINTS, 0, 10, 10, 10, 10, 0, "D <ij||ab> (ia,jb)");
522
dpd_buf4_init(&tiaJB, CC_TAMPS, 0, 10, 10, 10, 10, 0, "tiaJB");
523
dpd_contract444(&D, &tiaJB, &WMbEj, 0, 0, 0.5, 1);
525
dpd_buf4_close(&tiaJB);
527
/* D(ME,nf) * T2(jb,nf) --> W(ME,jb) */
528
dpd_buf4_init(&D, CC_DINTS, 0, 10, 10, 10, 10, 0, "D <ij|ab> (ia,jb)");
529
dpd_buf4_init(&tiajb, CC_TAMPS, 0, 10, 10, 10, 10, 0, "tiajb");
530
dpd_contract444(&D, &tiajb, &WMbEj, 0, 0, 0.5, 1);
532
dpd_buf4_close(&tiajb);
534
dpd_buf4_close(&WMbEj);
537
/* D(mE,Nf) * T2(jB,Nf) --> W(mE,jB) */
538
dpd_buf4_init(&WmBEj, CC_HBAR, 0, 10, 10, 10, 10, 0, "WmBEj");
540
dpd_buf4_init(&D, CC_DINTS, 0, 10, 10, 10, 10, 0, "D <ij|ab> (ib,ja)");
541
dpd_buf4_init(&tjAIb, CC_TAMPS, 0, 10, 10, 10, 10, 0, "tjAIb");
542
dpd_contract444(&D, &tjAIb, &WmBEj, 0, 0, 0.5, 1);
544
dpd_buf4_close(&tjAIb);
546
dpd_buf4_close(&WmBEj);
549
/* D(Me,nF) * T2(Jb,nF) --> W(Me,Jb) */
550
dpd_buf4_init(&WMbeJ, CC_HBAR, 0, 10, 10, 10, 10, 0, "WMbeJ");
552
dpd_buf4_init(&D, CC_DINTS, 0, 10, 10, 10, 10, 0, "D <ij|ab> (ib,ja)");
553
dpd_buf4_init(&tIbjA, CC_TAMPS, 0, 10, 10, 10, 10, 0, "tIbjA");
554
dpd_contract444(&D, &tIbjA, &WMbeJ, 0, 0, 0.5, 1);
556
dpd_buf4_close(&tIbjA);
558
dpd_buf4_close(&WMbeJ);
560
} /** RHF or ROHF **/
561
else if(params.ref == 2) { /** UHF **/
563
/* W(mb,je) <-- <mb||ej> */
565
dpd_buf4_init(&C, CC_CINTS, 0, 20, 21, 20, 21, 0, "C <IA||JB> (IA,BJ)");
566
dpd_buf4_scmcopy(&C, CC_TMP0, "WMBEJ", -1);
569
dpd_buf4_init(&C, CC_CINTS, 0, 30, 31, 30, 31, 0, "C <ia||jb> (ia,bj)");
570
dpd_buf4_scmcopy(&C, CC_TMP0, "Wmbej", -1);
573
dpd_buf4_init(&D, CC_DINTS, 0, 24, 26, 24, 26, 0, "D <Ij|Ab> (Ib,Aj)");
574
dpd_buf4_scmcopy(&D, CC_TMP0, "WMbEj", 1);
577
dpd_buf4_init(&D, CC_DINTS, 0, 27, 25, 27, 25, 0, "D <iJ|aB> (iB,aJ)");
578
dpd_buf4_scmcopy(&D, CC_TMP0, "WmBeJ", 1);
581
dpd_buf4_init(&C, CC_CINTS, 0, 27, 27, 27, 27, 0, "C <iA|jB>");
582
dpd_buf4_scmcopy(&C, CC_TMP0, "WmBEj", -1);
585
dpd_buf4_init(&C, CC_CINTS, 0, 24, 24, 24, 24, 0, "C <Ia|Jb>");
586
dpd_buf4_scmcopy(&C, CC_TMP0, "WMbeJ", -1);
591
dpd_file2_init(&tIA, CC_OEI, 0, 0, 1, "tIA");
592
dpd_file2_init(&tia, CC_OEI, 0, 2, 3, "tia");
594
dpd_buf4_init(&W, CC_TMP0, 0, 20, 21, 20, 21, 0, "WMBEJ");
595
dpd_buf4_init(&F, CC_FINTS, 0, 20, 5, 20, 5, 1, "F <IA|BC>");
596
dpd_contract424(&F, &tIA, &W, 3, 1, 0, 1, 1);
600
dpd_buf4_init(&W, CC_TMP0, 0, 30, 31, 30, 31, 0, "Wmbej");
601
dpd_buf4_init(&F, CC_FINTS, 0, 30, 15, 30, 15, 1, "F <ia|bc>");
602
dpd_contract424(&F, &tia, &W, 3, 1, 0, 1, 1);
606
dpd_buf4_init(&W, CC_TMP0, 0, 24, 26, 24, 26, 0, "WMbEj");
607
dpd_buf4_init(&F, CC_FINTS, 0, 24, 28, 24, 28, 0, "F <Ia|Bc>");
608
dpd_contract424(&F, &tia, &W, 3, 1, 0, 1, 1);
612
dpd_buf4_init(&W, CC_TMP0, 0, 27, 25, 27, 25, 0, "WmBeJ");
613
dpd_buf4_init(&F, CC_FINTS, 0, 27, 29, 27, 29, 0, "F <iA|bC>");
614
dpd_contract424(&F, &tIA, &W, 3, 1, 0, 1, 1);
618
dpd_buf4_init(&W, CC_TMP0, 0, 24, 24, 24, 24, 0, "WMbeJ");
619
dpd_buf4_init(&F, CC_FINTS, 0, 24, 28, 24, 28, 0, "F <Ia|Bc>");
620
dpd_contract244(&tIA, &F, &W, 1, 2, 1, -1, 1);
624
dpd_buf4_init(&W, CC_TMP0, 0, 27, 27, 27, 27, 0, "WmBEj");
625
dpd_buf4_init(&F, CC_FINTS, 0, 27, 29, 27, 29, 0, "F <iA|bC>");
626
dpd_contract244(&tia, &F, &W, 1, 2, 1, -1, 1);
630
dpd_file2_close(&tIA);
631
dpd_file2_close(&tia);
635
dpd_file2_init(&tIA, CC_OEI, 0, 0, 1, "tIA");
636
dpd_file2_init(&tia, CC_OEI, 0, 2, 3, "tia");
638
dpd_buf4_init(&W, CC_TMP0, 0, 20, 21, 20, 21, 0, "WMBEJ");
639
dpd_buf4_init(&E, CC_EINTS, 0, 0, 21, 2, 21, 0, "E <IJ||KA> (I>J,AK)");
640
dpd_contract424(&E, &tIA, &W, 1, 0, 1, 1, 1);
644
dpd_buf4_init(&W, CC_TMP0, 0, 30, 31, 30, 31, 0, "Wmbej");
645
dpd_buf4_init(&E, CC_EINTS, 0, 10, 31, 12, 31, 0, "E <ij||ka> (i>j,ak)");
646
dpd_contract424(&E, &tia, &W, 1, 0, 1, 1, 1);
650
dpd_buf4_init(&W, CC_TMP0, 0, 24, 26, 24, 26, 0, "WMbEj");
651
dpd_buf4_init(&E, CC_EINTS, 0, 22, 26, 22, 26, 0, "E <Ij|Ak>");
652
dpd_contract424(&E, &tia, &W, 1, 0, 1, -1, 1);
656
dpd_buf4_init(&W, CC_TMP0, 0, 27, 25, 27, 25, 0, "WmBeJ");
657
dpd_buf4_init(&E, CC_EINTS, 0, 23, 25, 23, 25, 0, "E <iJ|aK>");
658
dpd_contract424(&E, &tIA, &W, 1, 0, 1, -1, 1);
662
dpd_buf4_init(&W, CC_TMP0, 0, 24, 24, 24, 24, 0, "WMbeJ");
663
dpd_buf4_init(&E, CC_EINTS, 0, 22, 24, 22, 24, 0, "E <Ij|Ka>");
664
dpd_contract424(&E, &tia, &W, 1, 0, 1, 1, 1);
668
dpd_buf4_init(&W, CC_TMP0, 0, 27, 27, 27, 27, 0, "WmBEj");
669
dpd_buf4_init(&E, CC_EINTS, 0, 23, 27, 23, 27, 0, "E <iJ|kA>");
670
dpd_contract424(&E, &tIA, &W, 1, 0, 1, 1, 1);
674
dpd_file2_close(&tIA);
675
dpd_file2_close(&tia);
677
/* Convert to (ME,JB) for remaining terms */
679
dpd_buf4_init(&W, CC_TMP0, 0, 20, 21, 20, 21, 0, "WMBEJ");
680
dpd_buf4_sort(&W, CC_HBAR, prsq, 20, 20, "WMBEJ");
683
dpd_buf4_init(&W, CC_TMP0, 0, 30, 31, 30, 31, 0, "Wmbej");
684
dpd_buf4_sort(&W, CC_HBAR, prsq, 30, 30, "Wmbej");
687
dpd_buf4_init(&W, CC_TMP0, 0, 24, 26, 24, 26, 0, "WMbEj");
688
dpd_buf4_sort(&W, CC_HBAR, prsq, 20, 30, "WMbEj");
691
dpd_buf4_init(&W, CC_TMP0, 0, 27, 25, 27, 25, 0, "WmBeJ");
692
dpd_buf4_sort(&W, CC_HBAR, prsq, 30, 20, "WmBeJ");
695
dpd_buf4_init(&W, CC_TMP0, 0, 24, 24, 24, 24, 0, "WMbeJ");
696
dpd_buf4_sort(&W, CC_HBAR, psrq, 24, 24, "WMbeJ");
699
dpd_buf4_init(&W, CC_TMP0, 0, 27, 27, 27, 27, 0, "WmBEj");
700
dpd_buf4_sort(&W, CC_HBAR, psrq, 27, 27, "WmBEj");
705
dpd_file2_init(&tIA, CC_OEI, 0, 0, 1, "tIA");
706
dpd_file2_init(&tia, CC_OEI, 0, 2, 3, "tia");
710
dpd_buf4_init(&W, CC_HBAR, 0, 20, 20, 20, 20, 0, "WMBEJ");
711
dpd_buf4_init(&D, CC_DINTS, 0, 20, 20, 20, 20, 0, "D <IJ||AB> (IA,JB)");
712
dpd_buf4_init(&t2, CC_TAMPS, 0, 20, 20, 20, 20, 0, "tIAJB");
713
dpd_contract444(&D, &t2, &W, 0, 0, 0.5, 1);
716
dpd_buf4_init(&D, CC_DINTS, 0, 20, 30, 20, 30, 0, "D <Ij|Ab> (IA,jb)");
717
dpd_buf4_init(&t2, CC_TAMPS, 0, 20, 30, 20, 30, 0, "tIAjb");
718
dpd_contract444(&D, &t2, &W, 0, 0, 0.5, 1);
723
dpd_buf4_init(&Y, CC_TMP0, 0, 20, 0, 20, 0, 0, "Y (ME,JN)");
724
dpd_buf4_init(&D, CC_DINTS, 0, 20, 21, 20, 21, 0, "D <IJ||AB> (IA,BJ)");
725
dpd_contract244(&tIA, &D, &Y, 1, 2, 1, 1, 0);
727
dpd_buf4_init(&W, CC_HBAR, 0, 20, 20, 20, 20, 0, "WMBEJ");
728
dpd_contract424(&Y, &tIA, &W, 3, 0, 0, -1, 1);
734
dpd_buf4_init(&W, CC_HBAR, 0, 30, 30, 30, 30, 0, "Wmbej");
735
dpd_buf4_init(&D, CC_DINTS, 0, 30, 30, 30, 30, 0, "D <ij||ab> (ia,jb)");
736
dpd_buf4_init(&t2, CC_TAMPS, 0, 30, 30, 30, 30, 0, "tiajb");
737
dpd_contract444(&D, &t2, &W, 0, 0, 0.5, 1);
740
dpd_buf4_init(&D, CC_DINTS, 0, 30, 20, 30, 20, 0, "D <Ij|Ab> (ia,JB)");
741
dpd_buf4_init(&t2, CC_TAMPS, 0, 30, 20, 30, 20, 0, "tiaJB");
742
dpd_contract444(&D, &t2, &W, 0, 0, 0.5, 1);
747
dpd_buf4_init(&Y, CC_TMP0, 0, 30, 10, 30, 10, 0, "Y (me,jn)");
748
dpd_buf4_init(&D, CC_DINTS, 0, 30, 31, 30, 31, 0, "D <ij||ab> (ia,bj)");
749
dpd_contract244(&tia, &D, &Y, 1, 2, 1, 1, 0);
751
dpd_buf4_init(&W, CC_HBAR, 0, 30, 30, 30, 30, 0, "Wmbej");
752
dpd_contract424(&Y, &tia, &W, 3, 0, 0, -1, 1);
758
dpd_buf4_init(&W, CC_HBAR, 0, 20, 30, 20, 30, 0, "WMbEj");
759
dpd_buf4_init(&D, CC_DINTS, 0, 20, 30, 20, 30, 0, "D <Ij|Ab> (IA,jb)");
760
dpd_buf4_init(&t2, CC_TAMPS, 0, 30, 30, 30, 30, 0, "tiajb");
761
dpd_contract444(&D, &t2, &W, 0, 0, 0.5, 1);
764
dpd_buf4_init(&D, CC_DINTS, 0, 20, 20, 20, 20, 0, "D <IJ||AB> (IA,JB)");
765
dpd_buf4_init(&t2, CC_TAMPS, 0, 30, 20, 30, 20, 0, "tiaJB");
766
dpd_contract444(&D, &t2, &W, 0, 0, 0.5, 1);
771
dpd_buf4_init(&Y, CC_TMP0, 0, 20, 10, 20, 10, 0, "Y (ME,jn)");
772
dpd_buf4_init(&D, CC_DINTS, 0, 20, 31, 20, 31, 0, "D <Ij|Ab> (IA,bj)");
773
dpd_contract244(&tia, &D, &Y, 1, 2, 1, 1, 0);
775
dpd_buf4_init(&W, CC_HBAR, 0, 20, 30, 20, 30, 0, "WMbEj");
776
dpd_contract424(&Y, &tia, &W, 3, 0, 0, -1, 1);
782
dpd_buf4_init(&W, CC_HBAR, 0, 30, 20, 30, 20, 0, "WmBeJ");
783
dpd_buf4_init(&D, CC_DINTS, 0, 30, 20, 30, 20, 0, "D <Ij|Ab> (ia,JB)");
784
dpd_buf4_init(&t2, CC_TAMPS, 0, 20, 20, 20, 20, 0, "tIAJB");
785
dpd_contract444(&D, &t2, &W, 0, 0, 0.5, 1);
788
dpd_buf4_init(&D, CC_DINTS, 0, 30, 30, 30, 30, 0, "D <ij||ab> (ia,jb)");
789
dpd_buf4_init(&t2, CC_TAMPS, 0, 20, 30, 20, 30, 0, "tIAjb");
790
dpd_contract444(&D, &t2, &W, 0, 0, 0.5, 1);
795
dpd_buf4_init(&Y, CC_TMP0, 0, 30, 0, 30, 0, 0, "Y (me,JN)");
796
dpd_buf4_init(&D, CC_DINTS, 0, 30, 21, 30, 21, 0, "D <Ij|Ab> (ia,BJ)");
797
dpd_contract244(&tIA, &D, &Y, 1, 2, 1, 1, 0);
799
dpd_buf4_init(&W, CC_HBAR, 0, 30, 20, 30, 20, 0, "WmBeJ");
800
dpd_contract424(&Y, &tIA, &W, 3, 0, 0, -1, 1);
806
dpd_buf4_init(&W, CC_HBAR, 0, 24, 24, 24, 24, 0, "WMbeJ");
807
dpd_buf4_init(&t2, CC_TAMPS, 0, 24, 27, 24, 27, 0, "tIbjA");
808
dpd_buf4_init(&D, CC_DINTS, 0, 24, 27, 24, 27, 0, "D <Ij|Ab> (Ib,jA)");
809
dpd_contract444(&D, &t2, &W, 0, 0, 0.5, 1);
814
dpd_buf4_init(&Y, CC_TMP0, 0, 24, 22, 24, 22, 0, "Y (Me,Jn)");
815
dpd_buf4_init(&D, CC_DINTS, 0, 24, 26, 24, 26, 0, "D <Ij|Ab> (Ib,Aj)");
816
dpd_contract244(&tIA, &D, &Y, 1, 2, 1, 1, 0);
818
dpd_buf4_init(&W, CC_HBAR, 0, 24, 24, 24, 24, 0, "WMbeJ");
819
dpd_contract424(&Y, &tia, &W, 3, 0, 0, 1, 1);
825
dpd_buf4_init(&W, CC_HBAR, 0, 27, 27, 27, 27, 0, "WmBEj");
826
dpd_buf4_init(&t2, CC_TAMPS, 0, 27, 24, 27, 24, 0, "tiBJa");
827
dpd_buf4_init(&D, CC_DINTS, 0, 27, 24, 27, 24, 0, "D <iJ|aB> (iB,Ja)");
828
dpd_contract444(&D, &t2, &W, 0, 0, 0.5, 1);
833
dpd_buf4_init(&Y, CC_TMP0, 0, 27, 23, 27, 23, 0, "Y (mE,jN)");
834
dpd_buf4_init(&D, CC_DINTS, 0, 27, 25, 27, 25, 0, "D <iJ|aB> (iB,aJ)");
835
dpd_contract244(&tia, &D, &Y, 1, 2, 1, 1, 0);
837
dpd_buf4_init(&W, CC_HBAR, 0, 27, 27, 27, 27, 0, "WmBEj");
838
dpd_contract424(&Y, &tIA, &W, 3, 0, 0, 1, 1);
842
dpd_file2_close(&tIA);
843
dpd_file2_close(&tia);
845
/* D(me,nf) * T2(jb,nf) --> W(me,jb) */
846
dpd_buf4_init(&Wmbej, CC_HBAR, 0, 30, 30, 30, 30, 0, "Wmbej");
848
dpd_buf4_init(&D, CC_DINTS, 0, 30, 30, 30, 30, 0, "D <ij||ab> (ia,jb)");
849
dpd_buf4_init(&tiajb, CC_TAMPS, 0, 30, 30, 30, 30, 0, "tiajb");
850
dpd_contract444(&D, &tiajb, &Wmbej, 0, 0, 0.5, 1);
852
dpd_buf4_close(&tiajb);
854
/* D(me,NF) * T2(jb,NF) --> W(me,jb) */
855
dpd_buf4_init(&tiaJB, CC_TAMPS, 0, 30, 20, 30, 20, 0, "tiaJB");
856
dpd_buf4_init(&D, CC_DINTS, 0, 30, 20, 30, 20, 0, "D <Ij|Ab> (ia,JB)");
857
dpd_contract444(&D, &tiaJB, &Wmbej, 0, 0, 0.5, 1);
859
dpd_buf4_close(&tiaJB);
861
dpd_buf4_close(&Wmbej);
864
/* D(ME,NF) * T2(JB,NF) --> W(ME,JB) */
865
dpd_buf4_init(&WMBEJ, CC_HBAR, 0, 20, 20, 20, 20, 0, "WMBEJ");
867
dpd_buf4_init(&D, CC_DINTS, 0, 20, 20, 20, 20, 0, "D <IJ||AB> (IA,JB)");
868
dpd_buf4_init(&tIAJB, CC_TAMPS, 0, 20, 20, 20, 20, 0, "tIAJB");
869
dpd_contract444(&D, &tIAJB, &WMBEJ, 0, 0, 0.5, 1);
871
dpd_buf4_close(&tIAJB);
873
/* D(ME,nf) * T2(JB,nf) --> W(ME,JB) */
874
dpd_buf4_init(&tIAjb, CC_TAMPS, 0, 20, 30, 20, 30, 0, "tIAjb");
875
dpd_buf4_init(&D, CC_DINTS, 0, 20, 30, 20, 30, 0, "D <Ij|Ab> (IA,jb)");
876
dpd_contract444(&D, &tIAjb, &WMBEJ, 0, 0, 0.5, 1);
878
dpd_buf4_close(&tIAjb);
880
dpd_buf4_close(&WMBEJ);
883
/* D(me,nf) * T2(JB,nf) --> W(me,JB) */
884
dpd_buf4_init(&WmBeJ, CC_HBAR, 0, 30, 20, 30, 20, 0, "WmBeJ");
886
dpd_buf4_init(&D, CC_DINTS, 0, 30, 30, 30, 30, 0, "D <ij||ab> (ia,jb)");
887
dpd_buf4_init(&tIAjb, CC_TAMPS, 0, 20, 30, 20, 30, 0, "tIAjb");
888
dpd_contract444(&D, &tIAjb, &WmBeJ, 0, 0, 0.5, 1);
890
dpd_buf4_close(&tIAjb);
892
/* D(me,NF) * T2(JB,NF) --> W(me,JB) */
893
dpd_buf4_init(&D, CC_DINTS, 0, 30, 20, 30, 20, 0, "D <Ij|Ab> (ia,JB)");
894
dpd_buf4_init(&tIAJB, CC_TAMPS, 0, 20, 20, 20, 20, 0, "tIAJB");
895
dpd_contract444(&D, &tIAJB, &WmBeJ, 0, 0, 0.5, 1);
897
dpd_buf4_close(&tIAJB);
899
dpd_buf4_close(&WmBeJ);
902
/* D(ME,NF) * T2(jb,NF) --> W(ME,jb) */
903
dpd_buf4_init(&WMbEj, CC_HBAR, 0, 20, 30, 20, 30, 0, "WMbEj");
905
dpd_buf4_init(&D, CC_DINTS, 0, 20, 20, 20, 20, 0, "D <IJ||AB> (IA,JB)");
906
dpd_buf4_init(&tiaJB, CC_TAMPS, 0, 30, 20, 30, 20, 0, "tiaJB");
907
dpd_contract444(&D, &tiaJB, &WMbEj, 0, 0, 0.5, 1);
909
dpd_buf4_close(&tiaJB);
911
/* D(ME,nf) * T2(jb,nf) --> W(ME,jb) */
912
dpd_buf4_init(&D, CC_DINTS, 0, 20, 30, 20, 30, 0, "D <Ij|Ab> (IA,jb)");
913
dpd_buf4_init(&tiajb, CC_TAMPS, 0, 30, 30, 30, 30, 0, "tiajb");
914
dpd_contract444(&D, &tiajb, &WMbEj, 0, 0, 0.5, 1);
916
dpd_buf4_close(&tiajb);
918
dpd_buf4_close(&WMbEj);
921
/* D(mE,Nf) * T2(jB,Nf) --> W(mE,jB) */
922
dpd_buf4_init(&WmBEj, CC_HBAR, 0, 27, 27, 27, 27, 0, "WmBEj");
924
dpd_buf4_init(&D, CC_DINTS, 0, 27, 24, 27, 24, 0, "D <iJ|aB> (iB,Ja)");
925
dpd_buf4_init(&tjAIb, CC_TAMPS, 0, 27, 24, 27, 24, 0, "tjAIb");
926
dpd_contract444(&D, &tjAIb, &WmBEj, 0, 0, 0.5, 1);
928
dpd_buf4_close(&tjAIb);
930
dpd_buf4_close(&WmBEj);
933
/* D(Me,nF) * T2(Jb,nF) --> W(Me,Jb) */
934
dpd_buf4_init(&WMbeJ, CC_HBAR, 0, 24, 24, 24, 24, 0, "WMbeJ");
936
dpd_buf4_init(&D, CC_DINTS, 0, 24, 27, 24, 27, 0, "D <Ij|Ab> (Ib,jA)");
937
dpd_buf4_init(&tIbjA, CC_TAMPS, 0, 24, 27, 24, 27, 0, "tIbjA");
938
dpd_contract444(&D, &tIbjA, &WMbeJ, 0, 0, 0.5, 1);
940
dpd_buf4_close(&tIbjA);
942
dpd_buf4_close(&WMbeJ);
950
}} // namespace psi::cchbar