2
#include <libdpd/dpd.h>
6
extern void x_xi_check(char *term_lbl);
7
extern void x_xi1_connected(void);
11
dpdfile2 L1, XIA, Xia, I1, R1, F1, Z1A, Z1B;
12
int L_irr, R_irr, G_irr;
13
dpdbuf4 D, R2, L2, H2, I2;
21
x_xi_check("begin xi1");
23
/* term 1, XIA += 0.25 LIA Rmnef <mn||ef> */
24
if ((R_irr == 0) && (!params.connect_xi)) {
25
dpd_file2_init(&I1, EOM_TMP_XI, R_irr, 0, 0, "RD_OO");
26
params.RD_overlap = 0.5 * dpd_file2_trace(&I1);
28
dpd_file2_init(&I1, EOM_TMP_XI, R_irr, 2, 2, "RD_oo");
29
params.RD_overlap += 0.5 * dpd_file2_trace(&I1);
31
/*fprintf(outfile,"RD overlap %15.10lf\n", params.RD_overlap);*/
33
dpd_file2_init(&L1, CC_GL, L_irr, 0, 1, "LIA");
34
dpd_file2_copy(&L1, EOM_XI, "XIA");
36
dpd_file2_init(&XIA, EOM_XI, G_irr, 0, 1, "XIA");
37
dpd_file2_scm(&XIA, params.RD_overlap);
38
dpd_file2_close(&XIA);
39
dpd_file2_init(&L1, CC_GL, L_irr, 2, 3, "Lia");
40
dpd_file2_copy(&L1, EOM_XI, "Xia");
42
dpd_file2_init(&Xia, EOM_XI, G_irr, 2, 3, "Xia");
43
dpd_file2_scm(&Xia, params.RD_overlap);
44
dpd_file2_close(&Xia);
48
dpd_file2_init(&XIA, EOM_XI, G_irr, 0, 1, "XIA");
49
dpd_file2_scm(&XIA, 0.0);
50
dpd_file2_close(&XIA);
51
dpd_file2_init(&Xia, EOM_XI, G_irr, 2, 3, "Xia");
52
dpd_file2_scm(&Xia, 0.0);
53
dpd_file2_close(&Xia);
60
/* term 2, Xia -= (Rmnef <in||ef>) * Lma */
61
dpd_file2_init(&XIA, EOM_XI, G_irr, 0, 1, "XIA");
62
dpd_file2_init(&Xia, EOM_XI, G_irr, 2, 3, "Xia");
64
dpd_file2_init(&I1, EOM_TMP_XI, R_irr, 0, 0, "RD_OO");
65
dpd_file2_init(&L1, CC_GL, L_irr, 0, 1, "LIA");
66
dpd_contract222(&I1, &L1, &XIA, 1, 1, -1.0, 1.0);
69
dpd_file2_init(&I1, EOM_TMP_XI, R_irr, 2, 2, "RD_oo");
70
dpd_file2_init(&L1, CC_GL, L_irr, 2, 3, "Lia");
71
dpd_contract222(&I1, &L1, &Xia, 1, 1, -1.0, 1.0);
75
dpd_file2_close(&XIA);
76
dpd_file2_close(&Xia);
81
/* term 3, XIA -= 0.5 LIE (Rmnfe <mn||fa>) */
82
dpd_file2_init(&XIA, EOM_XI, G_irr, 0, 1, "XIA");
83
dpd_file2_init(&Xia, EOM_XI, G_irr, 2, 3, "Xia");
85
dpd_file2_init(&L1, CC_GL, L_irr, 0, 1, "LIA");
86
dpd_file2_init(&I1, EOM_TMP_XI, R_irr, 1, 1, "RD_VV");
87
dpd_contract222(&L1, &I1, &XIA, 0, 1, -1.0, 1.0);
91
dpd_file2_init(&L1, CC_GL, L_irr, 2, 3, "Lia");
92
dpd_file2_init(&I1, EOM_TMP_XI, R_irr, 3, 3, "RD_vv");
93
dpd_contract222(&L1, &I1, &Xia, 0, 1, -1.0, 1.0);
97
dpd_file2_close(&XIA);
98
dpd_file2_close(&Xia);
100
x_xi_check("term 3");
103
/* term 4, XIA += (Lme Rmnef) <in||af> */
104
dpd_file2_init(&XIA, EOM_XI, G_irr, 0, 1, "XIA");
105
dpd_file2_init(&Xia, EOM_XI, G_irr, 2, 3, "Xia");
107
/* = OV(N,f) <IN||AF> + ov(nf) <In||Af> */
108
dpd_file2_init(&I1, EOM_TMP, G_irr, 0, 1, "L1R2_OV");
109
dpd_buf4_init(&D, CC_DINTS, 0, 0, 5, 0, 5, 0, "D <IJ||AB>");
110
dpd_dot24(&I1, &D, &XIA, 0, 0, 1.0, 1.0);
112
dpd_file2_close(&I1);
113
dpd_file2_init(&I1, EOM_TMP, G_irr, 2, 3, "L1R2_ov");
114
dpd_buf4_init(&D, CC_DINTS, 0, 22, 28, 22, 28, 0, "D <Ij|Ab>");
115
dpd_dot24(&I1, &D, &XIA, 0, 0, 1.0, 1.0);
117
dpd_file2_close(&I1);
119
/* = ov(n,f) <in||af> + OV(NF) <iN||aF> */
120
dpd_file2_init(&I1, EOM_TMP, G_irr, 2, 3, "L1R2_ov");
121
dpd_buf4_init(&D, CC_DINTS, 0, 10, 15, 10, 15, 0, "D <ij||ab>");
122
dpd_dot24(&I1, &D, &Xia, 0, 0, 1.0, 1.0);
124
dpd_file2_close(&I1);
125
dpd_file2_init(&I1, EOM_TMP, G_irr, 0, 1, "L1R2_OV");
126
dpd_buf4_init(&D, CC_DINTS, 0, 23, 29, 23, 29, 0, "D <iJ|aB>");
127
dpd_dot24(&I1, &D, &Xia, 0, 0, 1.0, 1.0);
129
dpd_file2_close(&I1);
131
dpd_file2_close(&XIA);
132
dpd_file2_close(&Xia);
134
x_xi_check("term 4");
137
/* XIA += (Lmnef * Rmnef) FIA */
138
dpd_file2_init(&R1, CC_GR, R_irr, 0, 1, "RIA");
139
dpd_file2_init(&L1, CC_GL, L_irr, 0, 1, "LIA");
140
params.overlap1 = dpd_file2_dot(&R1, &L1);
141
dpd_file2_close(&R1);
142
dpd_file2_close(&L1);
143
dpd_file2_init(&R1, CC_GR, R_irr, 2, 3, "Ria");
144
dpd_file2_init(&L1, CC_GL, L_irr, 2, 3, "Lia");
145
params.overlap1 += tval = dpd_file2_dot(&R1, &L1);
146
dpd_file2_close(&R1);
147
dpd_file2_close(&L1);
148
params.overlap2 = 1.0e0 - params.overlap1;
150
/* explanation in xi1_connected and ROHF code */
151
dpd_file2_init(&XIA, EOM_XI, G_irr, 0, 1, "XIA");
152
dpd_file2_init(&Xia, EOM_XI, G_irr, 2, 3, "Xia");
154
dpd_file2_init(&F1, CC_OEI, 0, 0, 1, "FME");
155
dpd_file2_axpy(&F1, &XIA, params.overlap2, 0);
156
dpd_file2_close(&F1);
157
dpd_file2_init(&F1, CC_OEI, 0, 2, 3, "Fme");
158
dpd_file2_axpy(&F1, &Xia, params.overlap2, 0);
159
dpd_file2_close(&F1);
161
dpd_file2_close(&XIA);
162
dpd_file2_close(&Xia);
164
x_xi_check("term 5");
167
/* term 6, -0.5 (Linef Rmnef) Fma */
168
dpd_file2_init(&XIA, EOM_XI, G_irr, 0, 1, "XIA");
169
dpd_file2_init(&Xia, EOM_XI, G_irr, 2, 3, "Xia");
171
dpd_file2_init(&I1, EOM_TMP, G_irr, 0, 0, "LR2_OO");
172
dpd_file2_init(&F1, CC_OEI, 0, 0, 1, "FME");
173
dpd_contract222(&I1, &F1, &XIA, 0, 1, -1.0, 1.0);
174
dpd_file2_close(&F1);
175
dpd_file2_close(&I1);
176
dpd_file2_init(&I1, EOM_TMP, G_irr, 2, 2, "LR2_oo");
177
dpd_file2_init(&F1, CC_OEI, 0, 2, 3, "Fme");
178
dpd_contract222(&I1, &F1, &Xia, 0, 1, -1.0, 1.0);
179
dpd_file2_close(&F1);
180
dpd_file2_close(&I1);
182
dpd_file2_close(&XIA);
183
dpd_file2_close(&Xia);
185
x_xi_check("term 6");
187
/* term 7, -0.5 (Lmnaf Rmnef) Fie */
188
dpd_file2_init(&XIA, EOM_XI, G_irr, 0, 1, "XIA");
189
dpd_file2_init(&Xia, EOM_XI, G_irr, 2, 3, "Xia");
191
dpd_file2_init(&I1, EOM_TMP, G_irr, 1, 1, "LR2_VV");
192
dpd_file2_init(&F1, CC_OEI, 0, 0, 1, "FME");
193
dpd_contract222(&F1, &I1, &XIA, 0, 0, -1.0, 1.0);
194
dpd_file2_close(&F1);
195
dpd_file2_close(&I1);
196
dpd_file2_init(&I1, EOM_TMP, G_irr, 3, 3, "LR2_vv");
197
dpd_file2_init(&F1, CC_OEI, 0, 2, 3, "Fme");
198
dpd_contract222(&F1, &I1, &Xia, 0, 0, -1.0, 1.0);
199
dpd_file2_close(&F1);
200
dpd_file2_close(&I1);
202
dpd_file2_close(&XIA);
203
dpd_file2_close(&Xia);
205
x_xi_check("term 7");
208
if (!params.connect_xi) {
209
/* term 8, (Fme Rmnef) Linaf) */
210
dpd_file2_init(&I1, EOM_TMP1, R_irr, 0, 1, "Z(N,F)");
211
dpd_file2_init(&F1, CC_OEI, 0, 0, 1, "FME");
212
dpd_buf4_init(&R2, CC_GR, R_irr, 0, 5, 2, 7, 0, "RIJAB");
213
dpd_dot13(&F1, &R2, &I1, 0, 0, 1.0, 0.0);
215
dpd_file2_close(&F1);
216
dpd_file2_init(&F1, CC_OEI, 0, 2, 3, "Fme");
217
dpd_buf4_init(&R2, CC_GR, R_irr, 23, 29, 23, 29, 0, "RiJaB");
218
dpd_dot13(&F1, &R2, &I1, 0, 0, 1.0, 1.0);
220
dpd_file2_close(&F1);
221
dpd_file2_close(&I1);
223
dpd_file2_init(&I1, EOM_TMP1, R_irr, 2, 3, "Z(n,f)");
224
dpd_file2_init(&F1, CC_OEI, 0, 2, 3, "Fme");
225
dpd_buf4_init(&R2, CC_GR, R_irr, 10, 15, 12, 17, 0, "Rijab");
226
dpd_dot13(&F1, &R2, &I1, 0, 0, 1.0, 0.0);
228
dpd_file2_close(&F1);
229
dpd_file2_init(&F1, CC_OEI, 0, 0, 1, "FME");
230
dpd_buf4_init(&R2, CC_GR, R_irr, 22, 28, 22, 28, 0, "RIjAb");
231
dpd_dot13(&F1, &R2, &I1, 0, 0, 1.0, 1.0);
233
dpd_file2_close(&F1);
234
dpd_file2_close(&I1);
236
dpd_file2_init(&XIA, EOM_XI, G_irr, 0, 1, "XIA");
237
dpd_file2_init(&Xia, EOM_XI, G_irr, 2, 3, "Xia");
239
dpd_file2_init(&I1, EOM_TMP1, R_irr, 0, 1, "Z(N,F)");
240
dpd_buf4_init(&L2, CC_GL, L_irr, 0, 5, 2, 7, 0, "LIJAB");
241
dpd_dot24(&I1, &L2, &XIA, 0, 0, 1.0, 1.0);
243
dpd_buf4_init(&L2, CC_GL, L_irr, 23, 29, 23, 29, 0, "LiJaB");
244
dpd_dot24(&I1, &L2, &Xia, 0, 0, 1.0, 1.0);
246
dpd_file2_close(&I1);
248
dpd_file2_init(&I1, EOM_TMP1, R_irr, 2, 3, "Z(n,f)");
249
dpd_buf4_init(&L2, CC_GL, L_irr, 10, 15, 12, 17, 0, "Lijab");
250
dpd_dot24(&I1, &L2, &Xia, 0, 0, 1.0, 1.0);
252
dpd_buf4_init(&L2, CC_GL, L_irr, 22, 28, 22, 28, 0, "LIjAb");
253
dpd_dot24(&I1, &L2, &XIA, 0, 0, 1.0, 1.0);
255
dpd_file2_close(&I1);
257
dpd_file2_close(&XIA);
258
dpd_file2_close(&Xia);
260
x_xi_check("term 8");
264
dpd_file2_init(&Xia, EOM_XI, G_irr, 2, 3, "Xia");
265
dpd_file2_init(&XIA, EOM_XI, G_irr, 0, 1, "XIA");
267
dpd_file2_init(&I1, EOM_TMP, G_irr, 0, 0, "LR2_OO");
268
dpd_buf4_init(&H2, CC_HBAR, 0, 0, 21, 2, 21, 0, "WMNIE (M>N,EI)");
269
dpd_dot24(&I1, &H2, &XIA, 1, 0, 1.0, 1.0);
271
dpd_file2_close(&I1);
272
dpd_file2_init(&I1, EOM_TMP, G_irr, 2, 2, "LR2_oo");
273
dpd_buf4_init(&H2, CC_HBAR, 0, 23, 26, 23, 26, 0, "WmNiE (mN,Ei)");
274
dpd_dot14(&I1, &H2, &XIA, 1, 0, -1.0, 1.0);
276
dpd_file2_close(&I1);
278
dpd_file2_init(&I1, EOM_TMP, G_irr, 2, 2, "LR2_oo");
279
dpd_buf4_init(&H2, CC_HBAR, 0, 10, 31, 12, 31, 0, "Wmnie (m>n,ei)");
280
dpd_dot24(&I1, &H2, &Xia, 1, 0, 1.0, 1.0);
282
dpd_file2_close(&I1);
283
dpd_file2_init(&I1, EOM_TMP, G_irr, 0, 0, "LR2_OO");
284
dpd_buf4_init(&H2, CC_HBAR, 0, 22, 25, 22, 25, 0, "WMnIe (Mn,eI)");
285
dpd_dot14(&I1, &H2, &Xia, 1, 0, -1.0, 1.0);
287
dpd_file2_close(&I1);
289
dpd_file2_close(&XIA);
290
dpd_file2_close(&Xia);
292
x_xi_check("term 9");
295
/* term 11 XIA -= Rmnef Lmoea Winof */
296
dpd_file2_init(&Xia, EOM_XI, G_irr, 2, 3, "Xia");
297
dpd_file2_init(&XIA, EOM_XI, G_irr, 0, 1, "XIA");
299
/* this would be easier if it would work but 13 and 31 shifts are
300
incompatible when symmetry is on
301
dpd_buf4_init(&H2, CC_HBAR, 0, 0, 11, 2, 11, 0, "WMNIE (M>N,EI)");
302
dpd_buf4_init(&I2, EOM_TMP, G_irr, 10, 10, 10, 10, 0, "R2L2_OVOV");
303
dpd_contract442(&H2, &I2, &XIA, 0, 3, -1.0, 1.0);
307
/* if I could do a 442(0,3) I could avoid these sorts */
308
dpd_buf4_init(&H2, CC_HBAR, 0, 0, 21, 2, 21, 0, "WMNIE (M>N,EI)");
309
dpd_buf4_sort(&H2, EOM_TMP1, qrsp, 20, 0, "W (NF,OI)");
311
dpd_buf4_init(&H2, CC_HBAR, 0, 10, 31, 12, 31, 0, "Wmnie (m>n,ei)");
312
dpd_buf4_sort(&H2, EOM_TMP1, qrsp, 30, 10, "W (nf,oi)");
314
dpd_buf4_init(&H2, CC_HBAR, 0, 22, 25, 22, 25, 0, "WMnIe (Mn,eI)");
315
dpd_buf4_sort(&H2, EOM_TMP1, qrsp, 30, 0, "WMnIe qrsp");
317
dpd_buf4_init(&H2, CC_HBAR, 0, 23, 26, 23, 26, 0, "WmNiE (mN,Ei)");
318
dpd_buf4_sort(&H2, EOM_TMP1, qrsp, 20, 10, "WmNiE qrsp");
320
dpd_buf4_init(&H2, CC_HBAR, 0, 23, 26, 23, 26, 0, "WmNiE (mN,Ei)");
321
dpd_buf4_sort(&H2, EOM_TMP1, prsq, 27, 23, "WmNiE prsq");
323
dpd_buf4_init(&H2, CC_HBAR, 0, 22, 25, 22, 25, 0, "WMnIe (Mn,eI)");
324
dpd_buf4_sort(&H2, EOM_TMP1, prsq, 24, 22, "WMnIe prsq");
327
dpd_buf4_init(&H2, EOM_TMP1, 0, 20, 0, 20, 0, 0, "W (NF,OI)");
328
dpd_buf4_init(&I2, EOM_TMP, G_irr, 20, 20, 20, 20, 0, "R2L2_OVOV");
329
dpd_contract442(&H2, &I2, &XIA, 3, 3, -1.0, 1.0);
332
dpd_buf4_init(&H2, EOM_TMP1, 0, 30, 0, 30, 0, 0, "WMnIe qrsp");
333
dpd_buf4_init(&I2, EOM_TMP, G_irr, 30, 20, 30, 20, 0, "R2L2_ovOV");
334
dpd_contract442(&H2, &I2, &XIA, 3, 3, -1.0, 1.0);
337
dpd_buf4_init(&H2, EOM_TMP1, 0, 27, 23, 27, 23, 0, "WmNiE prsq");
338
dpd_buf4_init(&I2, EOM_TMP, G_irr, 27, 27, 27, 27, 0, "R2L2_oVoV");
339
dpd_contract442(&H2, &I2, &XIA, 3, 3, 1.0, 1.0);
343
dpd_buf4_init(&H2, EOM_TMP1, 0, 30, 10, 30, 10, 0, "W (nf,oi)");
344
dpd_buf4_init(&I2, EOM_TMP, G_irr, 30, 30, 30, 30, 0, "R2L2_ovov");
345
dpd_contract442(&H2, &I2, &Xia, 3, 3, -1.0, 1.0);
348
dpd_buf4_init(&H2, EOM_TMP1, 0, 20, 10, 20, 10, 0, "WmNiE qrsp");
349
dpd_buf4_init(&I2, EOM_TMP, G_irr, 20, 30, 20, 30, 0, "R2L2_OVov");
350
dpd_contract442(&H2, &I2, &Xia, 3, 3, -1.0, 1.0);
353
dpd_buf4_init(&H2, EOM_TMP1, 0, 24, 22, 24, 22, 0, "WMnIe prsq");
354
dpd_buf4_init(&I2, EOM_TMP, G_irr, 24, 24, 24, 24, 0, "R2L2_OvOv");
355
dpd_contract442(&H2, &I2, &Xia, 3, 3, 1.0, 1.0);
359
dpd_file2_close(&XIA);
360
dpd_file2_close(&Xia);
362
x_xi_check("term 11");
365
/* term 14, +0.25 * (Rmnef Loief) * Wmnoa */
366
dpd_file2_init(&XIA, EOM_XI, G_irr, 0, 1, "XIA");
367
dpd_file2_init(&Xia, EOM_XI, G_irr, 2, 3, "Xia");
369
dpd_buf4_init(&H2, CC_HBAR, 0, 2, 20, 2, 20, 0, "WMNIE");
370
dpd_buf4_init(&I2, EOM_TMP, G_irr, 2, 0, 2, 2, 0, "R2L2_OOOO");
371
dpd_contract442(&I2, &H2, &XIA, 3, 3, 1.0, 1.0);
374
dpd_buf4_init(&H2, CC_HBAR, 0, 23, 27, 23, 27, 0, "WmNiE");
375
dpd_buf4_init(&I2, EOM_TMP, G_irr, 23, 23, 23, 23, 0, "R2L2_oOoO");
376
dpd_contract442(&I2, &H2, &XIA, 3, 3, 1.0, 1.0);
380
dpd_buf4_init(&H2, CC_HBAR, 0, 12, 30, 12, 30, 0, "Wmnie");
381
dpd_buf4_init(&I2, EOM_TMP, G_irr, 12, 10, 12, 12, 0, "R2L2_oooo");
382
dpd_contract442(&I2, &H2, &Xia, 3, 3, 1.0, 1.0);
385
dpd_buf4_init(&H2, CC_HBAR, 0, 22, 24, 22, 24, 0, "WMnIe");
386
dpd_buf4_init(&I2, EOM_TMP, G_irr, 22, 22, 22, 22, 0, "R2L2_OoOo");
387
dpd_contract442(&I2, &H2, &Xia, 3, 3, 1.0, 1.0);
391
dpd_file2_close(&XIA);
392
dpd_file2_close(&Xia);
394
x_xi_check("term 14");
397
if (!params.connect_xi) {
398
/* term 16 XIA += 0.5 Lioaf (Rmnef Wmnoe) */
399
dpd_file2_init(&Z1A, EOM_TMP1, R_irr, 0, 1, "Z(O,F)");
400
dpd_file2_init(&Z1B, EOM_TMP1, R_irr, 2, 3, "Z(o,f)");
402
dpd_buf4_init(&H2, CC_HBAR, 0, 2, 21, 2, 21, 0, "WMNIE (M>N,EI)");
403
dpd_buf4_init(&R2, CC_GR, R_irr, 2, 5, 2, 7, 0, "RIJAB");
404
dpd_contract442(&H2, &R2, &Z1A, 3, 3, 1.0, 0.0);
407
dpd_buf4_init(&H2, CC_HBAR, 0, 22, 25, 22, 25, 0, "WMnIe (Mn,eI)");
408
dpd_buf4_init(&R2, CC_GR, R_irr, 22, 29, 22, 29, 0, "RIjaB");
409
dpd_contract442(&H2, &R2, &Z1A, 3, 3, -1.0, 1.0);
413
dpd_buf4_init(&H2, CC_HBAR, 0, 12, 31, 12, 31, 0, "Wmnie (m>n,ei)");
414
dpd_buf4_init(&R2, CC_GR, R_irr, 12, 15, 12, 17, 0, "Rijab");
415
dpd_contract442(&H2, &R2, &Z1B, 3, 3, 1.0, 0.0);
418
dpd_buf4_init(&H2, CC_HBAR, 0, 23, 26, 23, 26, 0, "WmNiE (mN,Ei)");
419
dpd_buf4_init(&R2, CC_GR, R_irr, 23, 28, 23, 28, 0, "RiJAb");
420
dpd_contract442(&H2, &R2, &Z1B, 3, 3, -1.0, 1.0);
424
dpd_file2_init(&XIA, EOM_XI, G_irr, 0, 1, "XIA");
425
dpd_file2_init(&Xia, EOM_XI, G_irr, 2, 3, "Xia");
427
dpd_buf4_init(&L2, CC_GL, L_irr, 0, 5, 2, 7, 0, "LIJAB");
428
dpd_dot24(&Z1A, &L2, &XIA, 0, 0, 1.0, 1.0);
430
dpd_buf4_init(&L2, CC_GL, L_irr, 22, 28, 22, 28, 0, "LIjAb");
431
dpd_dot24(&Z1B, &L2, &XIA, 0, 0, 1.0, 1.0);
434
dpd_buf4_init(&L2, CC_GL, L_irr, 10, 15, 12, 17, 0, "Lijab");
435
dpd_dot24(&Z1B, &L2, &Xia, 0, 0, 1.0, 1.0);
437
dpd_buf4_init(&L2, CC_GL, L_irr, 23, 29, 23, 29, 0, "LiJaB");
438
dpd_dot24(&Z1A, &L2, &Xia, 0, 0, 1.0, 1.0);
441
dpd_file2_close(&Z1A);
442
dpd_file2_close(&Z1B);
444
dpd_file2_close(&XIA);
445
dpd_file2_close(&Xia);
447
x_xi_check("term 16");
451
/* term 10 XIA += 0.5 (Lmnef Rmneg) = VV(f,g) Wfiga */
452
dpd_file2_init(&XIA, EOM_XI, G_irr, 0, 1, "XIA");
453
dpd_file2_init(&Xia, EOM_XI, G_irr, 2, 3, "Xia");
455
dpd_file2_init(&I1, EOM_TMP, G_irr, 1, 1, "LR2_VV");
456
dpd_buf4_init(&H2, CC_HBAR, 0, 21, 5, 21, 7, 0, "WAMEF");
457
dpd_dot13(&I1, &H2, &XIA, 0, 0, 1.0, 1.0);
459
dpd_file2_close(&I1);
460
dpd_file2_init(&I1, EOM_TMP, G_irr, 3, 3, "LR2_vv");
461
dpd_buf4_init(&H2, CC_HBAR, 0, 25, 29, 25, 29, 0, "WaMeF");
462
dpd_dot13(&I1, &H2, &XIA, 0, 0, 1.0, 1.0);
464
dpd_file2_close(&I1);
466
dpd_file2_init(&I1, EOM_TMP, G_irr, 3, 3, "LR2_vv");
467
dpd_buf4_init(&H2, CC_HBAR, 0, 31, 15, 31, 17, 0, "Wamef");
468
dpd_dot13(&I1, &H2, &Xia, 0, 0, 1.0, 1.0);
470
dpd_file2_close(&I1);
471
dpd_file2_init(&I1, EOM_TMP, G_irr, 1, 1, "LR2_VV");
472
dpd_buf4_init(&H2, CC_HBAR, 0, 26, 28, 26, 28, 0, "WAmEf");
473
dpd_dot13(&I1, &H2, &Xia, 0, 0, 1.0, 1.0);
475
dpd_file2_close(&I1);
477
dpd_file2_close(&XIA);
478
dpd_file2_close(&Xia);
480
x_xi_check("term 10");
483
psio_close(EOM_TMP1,0);
484
psio_open(EOM_TMP1, PSIO_OPEN_NEW);
486
/* term 12, + (Rmnef Lmieg) Wgnaf = OVOV(nf,ig) W(gn,af) */
487
dpd_file2_init(&XIA, EOM_XI, G_irr, 0, 1, "XIA");
488
dpd_file2_init(&Xia, EOM_XI, G_irr, 2, 3, "Xia");
490
/* + OVOV(NF,IG) WGNAF = OVOV(GN,IF) WGNAF(GN,AF) */
491
dpd_buf4_init(&I2, EOM_TMP, G_irr, 20, 20, 20, 20, 0, "R2L2_OVOV");
492
dpd_buf4_sort(&I2, EOM_TMP1, sprq, 21, 20, "Z (GN,IF)");
494
dpd_buf4_init(&H2, CC_HBAR, 0, 21, 5, 21, 7, 0, "WAMEF");
495
dpd_buf4_init(&I2, EOM_TMP1, G_irr, 21, 20, 21, 20, 0, "Z (GN,IF)");
496
dpd_contract442(&I2, &H2, &XIA, 2, 2, 1.0, 1.0);
500
/* + OVOV(nf,IG) WGnAf = +OVOV(Gn,If) WGnIf(Gn,Af) */
501
dpd_buf4_init(&I2, EOM_TMP, G_irr, 30, 20, 30, 20, 0, "R2L2_ovOV");
502
dpd_buf4_sort(&I2, EOM_TMP1, sprq, 26, 24, "Z (Gn,If)");
504
dpd_buf4_init(&H2, CC_HBAR, 0, 26, 28, 26, 28, 0, "WAmEf");
505
dpd_buf4_init(&I2, EOM_TMP1, G_irr, 26, 24, 26, 24, 0, "Z (Gn,If)");
506
dpd_contract442(&I2, &H2, &XIA, 2, 2, 1.0, 1.0);
510
/* + OVOV(Nf,Ig) WgNIf = - OVOV(Nf,Ig) WgNfI = -OVOV(gN,If) WaMeF(gN,Af) */
511
dpd_buf4_init(&I2, EOM_TMP, G_irr, 24, 24, 24, 24, 0, "R2L2_OvOv");
512
dpd_buf4_sort(&I2, EOM_TMP1, spqr, 25, 25, "Z (gN,fI)");
514
dpd_buf4_init(&H2, CC_HBAR, 0, 25, 29, 25, 29, 0, "WaMeF");
515
dpd_buf4_init(&I2, EOM_TMP1, G_irr, 25, 25, 25, 25, 0, "Z (gN,fI)");
516
dpd_contract442(&I2, &H2, &XIA, 3, 3, -1.0, 1.0);
520
/* + OVOV(nf,ig) Wgnif = +OVOV(gn,if) W(gn,af) */
521
dpd_buf4_init(&I2, EOM_TMP, G_irr, 30, 30, 30, 30, 0, "R2L2_ovov");
522
dpd_buf4_sort(&I2, EOM_TMP1, sprq, 31, 30, "Z (gn,if)");
524
dpd_buf4_init(&H2, CC_HBAR, 0, 31, 15, 31, 17, 0, "Wamef");
525
dpd_buf4_init(&I2, EOM_TMP1, G_irr, 31, 30, 31, 30, 0, "Z (gn,if)");
526
dpd_contract442(&I2, &H2, &Xia, 2, 2, 1.0, 1.0);
530
/* + OVOV(NF,ig) WgNaF = +OVOV(gN,iF) W(gN,aF) */
531
dpd_buf4_init(&I2, EOM_TMP, G_irr, 20, 30, 20, 30, 0, "R2L2_OVov");
532
dpd_buf4_sort(&I2, EOM_TMP1, sprq, 25, 27, "Z (gN,iF)");
534
dpd_buf4_init(&H2, CC_HBAR, 0, 25, 29, 25, 29, 0, "WaMeF");
535
dpd_buf4_init(&I2, EOM_TMP1, G_irr, 25, 27, 25, 27, 0, "Z (gN,iF)");
536
dpd_contract442(&I2, &H2, &Xia, 2, 2, 1.0, 1.0);
540
/* + OVOV(nF,iG) WGnaF (-WGnFi) = -OVOV(Gn,Fi) WAmEf(Gn,Fi) */
541
dpd_buf4_init(&I2, EOM_TMP, G_irr, 27, 27, 27, 27, 0, "R2L2_oVoV");
542
dpd_buf4_sort(&I2, EOM_TMP1, spqr, 26, 26, "Z (Gn,Fi)");
544
dpd_buf4_init(&H2, CC_HBAR, 0, 26, 28, 26, 28, 0, "WAmEf");
545
dpd_buf4_init(&I2, EOM_TMP1, G_irr, 26, 26, 26, 26, 0, "Z (Gn,Fi)");
546
dpd_contract442(&I2, &H2, &Xia, 3, 3, -1.0, 1.0);
550
dpd_file2_close(&XIA);
551
dpd_file2_close(&Xia);
553
x_xi_check("term 12");
556
/* term 13 -0.25 (Rmnfg Weifg) Lmnea = +OOOV(MN,IE) L(MN,EA) */
557
dpd_file2_init(&XIA, EOM_XI, G_irr, 0, 1, "XIA");
558
dpd_file2_init(&Xia, EOM_XI, G_irr, 2, 3, "Xia");
560
dpd_buf4_init(&I2, EOM_TMP, R_irr, 2, 20, 2, 20, 0, "R2Wamef_OOOV");
561
dpd_buf4_init(&L2, CC_GL, L_irr, 2, 5, 2, 7, 0, "LIJAB");
562
dpd_contract442(&I2, &L2, &XIA, 2, 2, 1.0, 1.0);
565
dpd_buf4_init(&I2, EOM_TMP, R_irr, 22, 24, 22, 24, 0, "R2Wamef_OoOv");
566
dpd_buf4_init(&L2, CC_GL, L_irr, 22, 28, 22, 28, 0, "LIjAb");
567
dpd_contract442(&I2, &L2, &XIA, 2, 2, 1.0, 1.0);
571
dpd_buf4_init(&I2, EOM_TMP, R_irr, 12, 30, 12, 30, 0, "R2Wamef_ooov");
572
dpd_buf4_init(&L2, CC_GL, L_irr, 12, 15, 12, 17, 0, "Lijab");
573
dpd_contract442(&I2, &L2, &Xia, 2, 2, 1.0, 1.0);
576
dpd_buf4_init(&I2, EOM_TMP, R_irr, 23, 27, 23, 27, 0, "R2Wamef_oOoV");
577
dpd_buf4_init(&L2, CC_GL, L_irr, 23, 29, 23, 29, 0, "LiJaB");
578
dpd_contract442(&I2, &L2, &Xia, 2, 2, 1.0, 1.0);
582
dpd_file2_close(&XIA);
583
dpd_file2_close(&Xia);
585
x_xi_check("term 13");
588
if (!params.connect_xi) {
589
/* term 15 Linag (Rnmef Wgmef) */
590
dpd_file2_init(&XIA, EOM_XI, G_irr, 0, 1, "XIA");
591
dpd_file2_init(&Xia, EOM_XI, G_irr, 2, 3, "Xia");
593
dpd_file2_init(&I1, EOM_TMP, R_irr, 0, 1, "R2Wamef_OV");
594
dpd_buf4_init(&L2, CC_GL, L_irr, 0, 5, 2, 7, 0, "LIJAB");
595
dpd_dot24(&I1, &L2, &XIA, 0, 0, 1.0, 1.0);
597
dpd_file2_close(&I1);
598
dpd_file2_init(&I1, EOM_TMP, R_irr, 2, 3, "R2Wamef_ov");
599
dpd_buf4_init(&L2, CC_GL, L_irr, 22, 28, 22, 28, 0, "LIjAb");
600
dpd_dot24(&I1, &L2, &XIA, 0, 0, 1.0, 1.0);
602
dpd_file2_close(&I1);
604
dpd_file2_init(&I1, EOM_TMP, R_irr, 2, 3, "R2Wamef_ov");
605
dpd_buf4_init(&L2, CC_GL, L_irr, 10, 15, 12, 17, 0, "Lijab");
606
dpd_dot24(&I1, &L2, &Xia, 0, 0, 1.0, 1.0);
608
dpd_file2_close(&I1);
609
dpd_file2_init(&I1, EOM_TMP, R_irr, 0, 1, "R2Wamef_OV");
610
dpd_buf4_init(&L2, CC_GL, L_irr, 23, 29, 23, 29, 0, "LiJaB");
611
dpd_dot24(&I1, &L2, &Xia, 0, 0, 1.0, 1.0);
613
dpd_file2_close(&I1);
615
dpd_file2_close(&XIA);
616
dpd_file2_close(&Xia);
618
x_xi_check("term 15");
622
if (params.connect_xi) x_xi1_connected();
625
x_xi_check("extra doubles terms");