2
#include <libdpd/dpd.h>
7
extern void x_xi_check(char *term_lbl);
8
extern void x_xi1_connected(void);
9
extern void x_xi1_uhf(void);
10
extern void x_xi1_rhf(void);
12
/* compute xi_1 amplitudes for zeta equations */
17
else if (params.ref == 1)
25
dpdfile2 L1, XIA, Xia, I1, R1, F1, Z1A, Z1B;
26
int L_irr, R_irr, G_irr;
27
dpdbuf4 D, R2, L2, H2, I2;
33
/* dpd_buf4_init(&H2, CC_HBAR, 0, 2, 10, 2, 10, 0, "WMNIE");
34
dpd_buf4_print(&H2,outfile,1);
35
dpd_buf4_close(&H2); */
38
x_xi_check("begin xi1");
40
/* term 1, XIA += 0.25 LIA Rmnef <mn||ef> */
41
if ((R_irr == 0) && (!params.connect_xi)) {
42
dpd_file2_init(&I1, EOM_TMP_XI, R_irr, 0, 0, "RD_OO");
43
params.RD_overlap = 0.5 * dpd_file2_trace(&I1);
45
dpd_file2_init(&I1, EOM_TMP_XI, R_irr, 0, 0, "RD_oo");
46
params.RD_overlap += 0.5 * dpd_file2_trace(&I1);
49
dpd_file2_init(&L1, CC_GL, L_irr, 0, 1, "LIA");
50
dpd_file2_copy(&L1, EOM_XI, "XIA");
52
dpd_file2_init(&XIA, EOM_XI, G_irr, 0, 1, "XIA");
53
dpd_file2_scm(&XIA, params.RD_overlap);
54
dpd_file2_close(&XIA);
55
dpd_file2_init(&L1, CC_GL, L_irr, 0, 1, "Lia");
56
dpd_file2_copy(&L1, EOM_XI, "Xia");
58
dpd_file2_init(&Xia, EOM_XI, G_irr, 0, 1, "Xia");
59
dpd_file2_scm(&Xia, params.RD_overlap);
60
dpd_file2_close(&Xia);
65
/* term 2, Xia -= (Rmnef <in||ef>) * Lma */
66
dpd_file2_init(&XIA, EOM_XI, G_irr, 0, 1, "XIA");
67
dpd_file2_init(&Xia, EOM_XI, G_irr, 0, 1, "Xia");
69
dpd_file2_init(&I1, EOM_TMP_XI, R_irr, 0, 0, "RD_OO");
70
dpd_file2_init(&L1, CC_GL, L_irr, 0, 1, "LIA");
71
dpd_contract222(&I1, &L1, &XIA, 1, 1, -1.0, 1.0);
74
dpd_file2_init(&I1, EOM_TMP_XI, R_irr, 0, 0, "RD_oo");
75
dpd_file2_init(&L1, CC_GL, L_irr, 0, 1, "Lia");
76
dpd_contract222(&I1, &L1, &Xia, 1, 1, -1.0, 1.0);
80
dpd_file2_close(&XIA);
81
dpd_file2_close(&Xia);
86
/* term 3, XIA -= 0.5 LIE (Rmnfe <mn||fa>) */
87
dpd_file2_init(&XIA, EOM_XI, G_irr, 0, 1, "XIA");
88
dpd_file2_init(&Xia, EOM_XI, G_irr, 0, 1, "Xia");
90
dpd_file2_init(&L1, CC_GL, L_irr, 0, 1, "LIA");
91
dpd_file2_init(&I1, EOM_TMP_XI, R_irr, 1, 1, "RD_VV");
92
dpd_contract222(&L1, &I1, &XIA, 0, 1, -1.0, 1.0);
96
dpd_file2_init(&L1, CC_GL, L_irr, 0, 1, "Lia");
97
dpd_file2_init(&I1, EOM_TMP_XI, R_irr, 1, 1, "RD_vv");
98
dpd_contract222(&L1, &I1, &Xia, 0, 1, -1.0, 1.0);
100
dpd_file2_close(&L1);
102
dpd_file2_close(&XIA);
103
dpd_file2_close(&Xia);
105
x_xi_check("term 3");
108
/* term 4, XIA += (Lme Rmnef) <in||af> */
109
dpd_file2_init(&XIA, EOM_XI, G_irr, 0, 1, "XIA");
110
dpd_file2_init(&Xia, EOM_XI, G_irr, 0, 1, "Xia");
112
dpd_file2_init(&I1, EOM_TMP, G_irr, 0, 1, "L1R2_OV");
113
dpd_buf4_init(&D, CC_DINTS, 0, 0, 5, 0, 5, 0, "D <ij||ab>");
114
dpd_dot24(&I1, &D, &XIA, 0, 0, 1.0, 1.0);
116
dpd_file2_close(&I1);
117
dpd_file2_init(&I1, EOM_TMP, G_irr, 0, 1, "L1R2_ov");
118
dpd_buf4_init(&D, CC_DINTS, 0, 0, 5, 0, 5, 0, "D <ij|ab>");
119
dpd_dot24(&I1, &D, &XIA, 0, 0, 1.0, 1.0);
121
dpd_file2_close(&I1);
123
dpd_file2_init(&I1, EOM_TMP, G_irr, 0, 1, "L1R2_ov");
124
dpd_buf4_init(&D, CC_DINTS, 0, 0, 5, 0, 5, 0, "D <ij||ab>");
125
dpd_dot24(&I1, &D, &Xia, 0, 0, 1.0, 1.0);
127
dpd_file2_close(&I1);
128
dpd_file2_init(&I1, EOM_TMP, G_irr, 0, 1, "L1R2_OV");
129
dpd_buf4_init(&D, CC_DINTS, 0, 0, 5, 0, 5, 0, "D <ij|ab>");
130
dpd_dot24(&I1, &D, &Xia, 0, 0, 1.0, 1.0);
132
dpd_file2_close(&I1);
134
dpd_file2_close(&XIA);
135
dpd_file2_close(&Xia);
137
x_xi_check("term 4");
140
/* XIA += (Lmnef * Rmnef) FIA */
141
dpd_file2_init(&R1, CC_GR, R_irr, 0, 1, "RIA");
142
dpd_file2_init(&L1, CC_GL, L_irr, 0, 1, "LIA");
143
params.overlap1 = dpd_file2_dot(&R1, &L1);
144
dpd_file2_close(&R1);
145
dpd_file2_close(&L1);
146
dpd_file2_init(&R1, CC_GR, R_irr, 0, 1, "Ria");
147
dpd_file2_init(&L1, CC_GL, L_irr, 0, 1, "Lia");
148
params.overlap1 += dpd_file2_dot(&R1, &L1);
149
dpd_file2_close(&R1);
150
dpd_file2_close(&L1);
151
params.overlap2 = 1.0e0 - params.overlap1 - (params.R0 * params.L0);
153
/* When (connect_xi), we still include the following term, even though Hbar
154
is not connected to R. The <Rmnef|Lmnef> Fia term here along with the
155
<Rme|Lme> Fia term which is _not_ substracted out in xi_connected add up
156
to (1)*Fia. This constant term causes cclambda to be solving the
157
ground-state lambda equations implicitly as well. */
158
dpd_file2_init(&XIA, EOM_XI, G_irr, 0, 1, "XIA");
159
dpd_file2_init(&Xia, EOM_XI, G_irr, 0, 1, "Xia");
161
dpd_file2_init(&F1, CC_OEI, 0, 0, 1, "FME");
162
dpd_file2_axpy(&F1, &XIA, params.overlap2, 0);
163
dpd_file2_close(&F1);
164
dpd_file2_init(&F1, CC_OEI, 0, 0, 1, "Fme");
165
dpd_file2_axpy(&F1, &Xia, params.overlap2, 0);
166
dpd_file2_close(&F1);
168
dpd_file2_close(&XIA);
169
dpd_file2_close(&Xia);
171
x_xi_check("term 5");
174
/* term 6, -0.5 (Linef Rmnef) Fma */
175
dpd_file2_init(&XIA, EOM_XI, G_irr, 0, 1, "XIA");
176
dpd_file2_init(&Xia, EOM_XI, G_irr, 0, 1, "Xia");
178
dpd_file2_init(&I1, EOM_TMP, G_irr, 0, 0, "LR2_OO");
179
dpd_file2_init(&F1, CC_OEI, 0, 0, 1, "FME");
180
dpd_contract222(&I1, &F1, &XIA, 0, 1, -1.0, 1.0);
181
dpd_file2_close(&F1);
182
dpd_file2_close(&I1);
183
dpd_file2_init(&I1, EOM_TMP, G_irr, 0, 0, "LR2_oo");
184
dpd_file2_init(&F1, CC_OEI, 0, 0, 1, "Fme");
185
dpd_contract222(&I1, &F1, &Xia, 0, 1, -1.0, 1.0);
186
dpd_file2_close(&F1);
187
dpd_file2_close(&I1);
189
dpd_file2_close(&XIA);
190
dpd_file2_close(&Xia);
192
x_xi_check("term 6");
194
/* term 7, -0.5 (Lmnaf Rmnef) Fie */
195
dpd_file2_init(&XIA, EOM_XI, G_irr, 0, 1, "XIA");
196
dpd_file2_init(&Xia, EOM_XI, G_irr, 0, 1, "Xia");
198
dpd_file2_init(&I1, EOM_TMP, G_irr, 1, 1, "LR2_VV");
199
dpd_file2_init(&F1, CC_OEI, 0, 0, 1, "FME");
200
dpd_contract222(&F1, &I1, &XIA, 0, 0, -1.0, 1.0);
201
dpd_file2_close(&F1);
202
dpd_file2_close(&I1);
203
dpd_file2_init(&I1, EOM_TMP, G_irr, 1, 1, "LR2_vv");
204
dpd_file2_init(&F1, CC_OEI, 0, 0, 1, "Fme");
205
dpd_contract222(&F1, &I1, &Xia, 0, 0, -1.0, 1.0);
206
dpd_file2_close(&F1);
207
dpd_file2_close(&I1);
209
dpd_file2_close(&XIA);
210
dpd_file2_close(&Xia);
212
x_xi_check("term 7");
215
if (!params.connect_xi) {
216
/* term 8, (Fme Rmnef) Linaf) */
217
dpd_file2_init(&I1, EOM_TMP1, R_irr, 0, 1, "Z(N,F)");
218
dpd_file2_init(&F1, CC_OEI, 0, 0, 1, "FME");
219
dpd_buf4_init(&R2, CC_GR, R_irr, 0, 5, 2, 7, 0, "RIJAB");
220
dpd_dot13(&F1, &R2, &I1, 0, 0, 1.0, 0.0);
222
dpd_file2_close(&F1);
223
dpd_file2_init(&F1, CC_OEI, 0, 0, 1, "Fme");
224
dpd_buf4_init(&R2, CC_GR, R_irr, 0, 5, 0, 5, 0, "RiJaB");
225
dpd_dot13(&F1, &R2, &I1, 0, 0, 1.0, 1.0);
227
dpd_file2_close(&F1);
228
dpd_file2_close(&I1);
230
dpd_file2_init(&I1, EOM_TMP1, R_irr, 0, 1, "Z(n,f)");
231
dpd_file2_init(&F1, CC_OEI, 0, 0, 1, "Fme");
232
dpd_buf4_init(&R2, CC_GR, R_irr, 0, 5, 2, 7, 0, "Rijab");
233
dpd_dot13(&F1, &R2, &I1, 0, 0, 1.0, 0.0);
235
dpd_file2_close(&F1);
236
dpd_file2_init(&F1, CC_OEI, 0, 0, 1, "FME");
237
dpd_buf4_init(&R2, CC_GR, R_irr, 0, 5, 0, 5, 0, "RIjAb");
238
dpd_dot13(&F1, &R2, &I1, 0, 0, 1.0, 1.0);
240
dpd_file2_close(&F1);
241
dpd_file2_close(&I1);
243
dpd_file2_init(&Xia, EOM_XI, G_irr, 0, 1, "Xia");
244
dpd_file2_init(&XIA, EOM_XI, G_irr, 0, 1, "XIA");
246
dpd_file2_init(&I1, EOM_TMP1, R_irr, 0, 1, "Z(N,F)");
247
dpd_buf4_init(&L2, CC_GL, L_irr, 0, 5, 2, 7, 0, "LIJAB");
248
dpd_dot24(&I1, &L2, &XIA, 0, 0, 1.0, 1.0);
250
dpd_buf4_init(&L2, CC_GL, L_irr, 0, 5, 0, 5, 0, "LiJaB");
251
dpd_dot24(&I1, &L2, &Xia, 0, 0, 1.0, 1.0);
253
dpd_file2_close(&I1);
255
dpd_file2_init(&I1, EOM_TMP1, R_irr, 0, 1, "Z(n,f)");
256
dpd_buf4_init(&L2, CC_GL, L_irr, 0, 5, 2, 7, 0, "Lijab");
257
dpd_dot24(&I1, &L2, &Xia, 0, 0, 1.0, 1.0);
259
dpd_buf4_init(&L2, CC_GL, L_irr, 0, 5, 0, 5, 0, "LIjAb");
260
dpd_dot24(&I1, &L2, &XIA, 0, 0, 1.0, 1.0);
262
dpd_file2_close(&I1);
264
dpd_file2_close(&XIA);
265
dpd_file2_close(&Xia);
267
x_xi_check("term 8");
271
dpd_file2_init(&Xia, EOM_XI, G_irr, 0, 1, "Xia");
272
dpd_file2_init(&XIA, EOM_XI, G_irr, 0, 1, "XIA");
274
dpd_file2_init(&I1, EOM_TMP, G_irr, 0, 0, "LR2_OO");
275
dpd_buf4_init(&H2, CC_HBAR, 0, 0, 11, 2, 11, 0, "WMNIE (M>N,EI)");
276
dpd_dot24(&I1, &H2, &XIA, 1, 0, 1.0, 1.0);
278
dpd_file2_close(&I1);
279
dpd_file2_init(&I1, EOM_TMP, G_irr, 0, 0, "LR2_oo");
280
dpd_buf4_init(&H2, CC_HBAR, 0, 0, 11, 0, 11, 0, "WmNiE (mN,Ei)");
281
dpd_dot14(&I1, &H2, &XIA, 1, 0, -1.0, 1.0);
283
dpd_file2_close(&I1);
285
dpd_file2_init(&I1, EOM_TMP, G_irr, 0, 0, "LR2_oo");
286
dpd_buf4_init(&H2, CC_HBAR, 0, 0, 11, 2, 11, 0, "Wmnie (m>n,ei)");
287
dpd_dot24(&I1, &H2, &Xia, 1, 0, 1.0, 1.0);
289
dpd_file2_close(&I1);
290
dpd_file2_init(&I1, EOM_TMP, G_irr, 0, 0, "LR2_OO");
291
dpd_buf4_init(&H2, CC_HBAR, 0, 0, 11, 0, 11, 0, "WMnIe (Mn,eI)");
292
dpd_dot14(&I1, &H2, &Xia, 1, 0, -1.0, 1.0);
294
dpd_file2_close(&I1);
296
dpd_file2_close(&XIA);
297
dpd_file2_close(&Xia);
299
x_xi_check("term 9");
302
/* term 11 XIA -= Rmnef Lmoea Winof */
303
dpd_file2_init(&Xia, EOM_XI, G_irr, 0, 1, "Xia");
304
dpd_file2_init(&XIA, EOM_XI, G_irr, 0, 1, "XIA");
306
/* this would be easier if it would work but 13 and 31 shifts are
307
incompatible when symmetry is on
308
dpd_buf4_init(&H2, CC_HBAR, 0, 0, 11, 2, 11, 0, "WMNIE (M>N,EI)");
309
dpd_buf4_init(&I2, EOM_TMP, G_irr, 10, 10, 10, 10, 0, "R2L2_OVOV");
310
dpd_contract442(&H2, &I2, &XIA, 0, 3, -1.0, 1.0);
314
/* if I could do a 442(0,3) I could avoid these sorts */
315
dpd_buf4_init(&H2, CC_HBAR, 0, 0, 11, 2, 11, 0, "WMNIE (M>N,EI)");
316
dpd_buf4_sort(&H2, EOM_TMP1, qrsp, 10, 0, "W (NF,OI)");
318
dpd_buf4_init(&H2, CC_HBAR, 0, 0, 11, 2, 11, 0, "Wmnie (m>n,ei)");
319
dpd_buf4_sort(&H2, EOM_TMP1, qrsp, 10, 0, "W (nf,oi)");
321
dpd_buf4_init(&H2, CC_HBAR, 0, 0, 11, 0, 11, 0, "WMnIe (Mn,eI)");
322
dpd_buf4_sort(&H2, EOM_TMP1, qrsp, 10, 0, "WMnIe qrsp");
324
dpd_buf4_init(&H2, CC_HBAR, 0, 0, 11, 0, 11, 0, "WmNiE (mN,Ei)");
325
dpd_buf4_sort(&H2, EOM_TMP1, qrsp, 10, 0, "WmNiE qrsp");
327
dpd_buf4_init(&H2, CC_HBAR, 0, 0, 11, 0, 11, 0, "WmNiE (mN,Ei)");
328
dpd_buf4_sort(&H2, EOM_TMP1, prsq, 10, 0, "WmNiE prsq");
330
dpd_buf4_init(&H2, CC_HBAR, 0, 0, 11, 0, 11, 0, "WMnIe (Mn,eI)");
331
dpd_buf4_sort(&H2, EOM_TMP1, prsq, 10, 0, "WMnIe prsq");
334
dpd_buf4_init(&H2, EOM_TMP1, 0, 10, 0, 10, 0, 0, "W (NF,OI)");
335
dpd_buf4_init(&I2, EOM_TMP, G_irr, 10, 10, 10, 10, 0, "R2L2_OVOV");
336
dpd_contract442(&H2, &I2, &XIA, 3, 3, -1.0, 1.0);
339
dpd_buf4_init(&H2, EOM_TMP1, 0, 10, 0, 10, 0, 0, "WMnIe qrsp");
340
dpd_buf4_init(&I2, EOM_TMP, G_irr, 10, 10, 10, 10, 0, "R2L2_ovOV");
341
dpd_contract442(&H2, &I2, &XIA, 3, 3, -1.0, 1.0);
344
dpd_buf4_init(&H2, EOM_TMP1, 0, 10, 0, 10, 0, 0, "WmNiE prsq");
345
dpd_buf4_init(&I2, EOM_TMP, G_irr, 10, 10, 10, 10, 0, "R2L2_oVoV");
346
dpd_contract442(&H2, &I2, &XIA, 3, 3, 1.0, 1.0);
350
dpd_buf4_init(&H2, EOM_TMP1, 0, 10, 0, 10, 0, 0, "W (nf,oi)");
351
dpd_buf4_init(&I2, EOM_TMP, G_irr, 10, 10, 10, 10, 0, "R2L2_ovov");
352
dpd_contract442(&H2, &I2, &Xia, 3, 3, -1.0, 1.0);
355
dpd_buf4_init(&H2, EOM_TMP1, 0, 10, 0, 10, 0, 0, "WmNiE qrsp");
356
dpd_buf4_init(&I2, EOM_TMP, G_irr, 10, 10, 10, 10, 0, "R2L2_OVov");
357
dpd_contract442(&H2, &I2, &Xia, 3, 3, -1.0, 1.0);
360
dpd_buf4_init(&H2, EOM_TMP1, 0, 10, 0, 10, 0, 0, "WMnIe prsq");
361
dpd_buf4_init(&I2, EOM_TMP, G_irr, 10, 10, 10, 10, 0, "R2L2_OvOv");
362
dpd_contract442(&H2, &I2, &Xia, 3, 3, 1.0, 1.0);
366
dpd_file2_close(&XIA);
367
dpd_file2_close(&Xia);
369
x_xi_check("term 11");
372
/* term 14, +0.25 * (Rmnef Loief) * Wmnoa */
373
dpd_file2_init(&Xia, EOM_XI, G_irr, 0, 1, "Xia");
374
dpd_file2_init(&XIA, EOM_XI, G_irr, 0, 1, "XIA");
376
dpd_buf4_init(&H2, CC_HBAR, 0, 2, 10, 2, 10, 0, "WMNIE");
377
dpd_buf4_init(&I2, EOM_TMP, G_irr, 2, 0, 2, 2, 0, "R2L2_OOOO");
378
dpd_contract442(&I2, &H2, &XIA, 3, 3, 1.0, 1.0);
381
dpd_buf4_init(&H2, CC_HBAR, 0, 0, 10, 0, 10, 0, "WmNiE");
382
dpd_buf4_init(&I2, EOM_TMP, G_irr, 0, 0, 0, 0, 0, "R2L2_oOoO");
383
dpd_contract442(&I2, &H2, &XIA, 3, 3, 1.0, 1.0);
387
dpd_buf4_init(&H2, CC_HBAR, 0, 2, 10, 2, 10, 0, "Wmnie");
388
dpd_buf4_init(&I2, EOM_TMP, G_irr, 2, 0, 2, 2, 0, "R2L2_oooo");
389
dpd_contract442(&I2, &H2, &Xia, 3, 3, 1.0, 1.0);
392
dpd_buf4_init(&H2, CC_HBAR, 0, 0, 10, 0, 10, 0, "WMnIe");
393
dpd_buf4_init(&I2, EOM_TMP, G_irr, 0, 0, 0, 0, 0, "R2L2_OoOo");
394
dpd_contract442(&I2, &H2, &Xia, 3, 3, 1.0, 1.0);
398
dpd_file2_close(&XIA);
399
dpd_file2_close(&Xia);
401
x_xi_check("term 14");
404
if (!params.connect_xi) {
405
/* term 16 XIA += 0.5 Lioaf (Rmnef Wmnoe) */
406
dpd_file2_init(&Z1A, EOM_TMP1, R_irr, 0, 1, "Z(O,F)");
407
dpd_file2_init(&Z1B, EOM_TMP1, R_irr, 0, 1, "Z(o,f)");
409
dpd_buf4_init(&H2, CC_HBAR, 0, 2, 11, 2, 11, 0, "WMNIE (M>N,EI)");
410
dpd_buf4_init(&R2, CC_GR, R_irr, 2, 5, 2, 7, 0, "RIJAB");
411
dpd_contract442(&H2, &R2, &Z1A, 3, 3, 1.0, 0.0);
414
dpd_buf4_init(&H2, CC_HBAR, 0, 0, 11, 0, 11, 0, "WMnIe (Mn,eI)");
415
dpd_buf4_init(&R2, CC_GR, R_irr, 0, 5, 0, 5, 0, "RIjaB");
416
dpd_contract442(&H2, &R2, &Z1A, 3, 3, -1.0, 1.0);
420
dpd_buf4_init(&H2, CC_HBAR, 0, 2, 11, 2, 11, 0, "Wmnie (m>n,ei)");
421
dpd_buf4_init(&R2, CC_GR, R_irr, 2, 5, 2, 7, 0, "Rijab");
422
dpd_contract442(&H2, &R2, &Z1B, 3, 3, 1.0, 0.0);
425
dpd_buf4_init(&H2, CC_HBAR, 0, 0, 11, 0, 11, 0, "WmNiE (mN,Ei)");
426
dpd_buf4_init(&R2, CC_GR, R_irr, 0, 5, 0, 5, 0, "RiJAb");
427
dpd_contract442(&H2, &R2, &Z1B, 3, 3, -1.0, 1.0);
431
dpd_file2_init(&Xia, EOM_XI, G_irr, 0, 1, "Xia");
432
dpd_file2_init(&XIA, EOM_XI, G_irr, 0, 1, "XIA");
434
dpd_buf4_init(&L2, CC_GL, L_irr, 0, 5, 2, 7, 0, "LIJAB");
435
dpd_dot24(&Z1A, &L2, &XIA, 0, 0, 1.0, 1.0);
437
dpd_buf4_init(&L2, CC_GL, L_irr, 0, 5, 0, 5, 0, "LIjAb");
438
dpd_dot24(&Z1B, &L2, &XIA, 0, 0, 1.0, 1.0);
441
dpd_buf4_init(&L2, CC_GL, L_irr, 0, 5, 2, 7, 0, "Lijab");
442
dpd_dot24(&Z1B, &L2, &Xia, 0, 0, 1.0, 1.0);
444
dpd_buf4_init(&L2, CC_GL, L_irr, 0, 5, 0, 5, 0, "LiJaB");
445
dpd_dot24(&Z1A, &L2, &Xia, 0, 0, 1.0, 1.0);
448
dpd_file2_close(&Z1A);
449
dpd_file2_close(&Z1B);
451
dpd_file2_close(&XIA);
452
dpd_file2_close(&Xia);
454
x_xi_check("term 16");
458
/* term 10 XIA += 0.5 (Lmnef Rmneg) Wfiga */
459
dpd_file2_init(&Xia, EOM_XI, G_irr, 0, 1, "Xia");
460
dpd_file2_init(&XIA, EOM_XI, G_irr, 0, 1, "XIA");
462
dpd_file2_init(&I1, EOM_TMP, G_irr, 1, 1, "LR2_VV");
463
dpd_buf4_init(&H2, CC_HBAR, 0, 11, 5, 11, 7, 0, "WAMEF");
464
dpd_dot13(&I1, &H2, &XIA, 0, 0, 1.0, 1.0);
466
dpd_file2_close(&I1);
467
dpd_file2_init(&I1, EOM_TMP, G_irr, 1, 1, "LR2_vv");
468
dpd_buf4_init(&H2, CC_HBAR, 0, 11, 5, 11, 5, 0, "WaMeF");
469
dpd_dot13(&I1, &H2, &XIA, 0, 0, 1.0, 1.0);
471
dpd_file2_close(&I1);
473
dpd_file2_init(&I1, EOM_TMP, G_irr, 1, 1, "LR2_vv");
474
dpd_buf4_init(&H2, CC_HBAR, 0, 11, 5, 11, 7, 0, "Wamef");
475
dpd_dot13(&I1, &H2, &Xia, 0, 0, 1.0, 1.0);
477
dpd_file2_close(&I1);
478
dpd_file2_init(&I1, EOM_TMP, G_irr, 1, 1, "LR2_VV");
479
dpd_buf4_init(&H2, CC_HBAR, 0, 11, 5, 11, 5, 0, "WAmEf");
480
dpd_dot13(&I1, &H2, &Xia, 0, 0, 1.0, 1.0);
482
dpd_file2_close(&I1);
484
dpd_file2_close(&XIA);
485
dpd_file2_close(&Xia);
487
x_xi_check("term 10");
490
psio_close(EOM_TMP1,0);
491
psio_open(EOM_TMP1, PSIO_OPEN_NEW);
493
/* term 12, + (Rmnef Lmieg) Wgnaf */
494
dpd_file2_init(&Xia, EOM_XI, G_irr, 0, 1, "Xia");
495
dpd_file2_init(&XIA, EOM_XI, G_irr, 0, 1, "XIA");
497
dpd_buf4_init(&I2, EOM_TMP, G_irr, 10, 10, 10, 10, 0, "R2L2_OVOV");
498
dpd_buf4_sort(&I2, EOM_TMP1, sprq, 11, 10, "Z (GN,IF)");
500
dpd_buf4_init(&H2, CC_HBAR, 0, 11, 5, 11, 7, 0, "WAMEF");
501
dpd_buf4_init(&I2, EOM_TMP1, G_irr, 11, 10, 11, 10, 0, "Z (GN,IF)");
502
dpd_contract442(&I2, &H2, &XIA, 2, 2, 1.0, 1.0);
506
dpd_buf4_init(&I2, EOM_TMP, G_irr, 10, 10, 10, 10, 0, "R2L2_ovOV");
507
dpd_buf4_sort(&I2, EOM_TMP1, sprq, 11, 10, "Z (Gn,If)");
509
dpd_buf4_init(&H2, CC_HBAR, 0, 11, 5, 11, 5, 0, "WAmEf");
510
dpd_buf4_init(&I2, EOM_TMP1, G_irr, 11, 10, 11, 10, 0, "Z (Gn,If)");
511
dpd_contract442(&I2, &H2, &XIA, 2, 2, 1.0, 1.0);
515
dpd_buf4_init(&I2, EOM_TMP, G_irr, 10, 10, 10, 10, 0, "R2L2_OvOv");
516
dpd_buf4_sort(&I2, EOM_TMP1, spqr, 11, 11, "Z (gN,fI)");
518
dpd_buf4_init(&H2, CC_HBAR, 0, 11, 5, 11, 5, 0, "WaMeF");
519
dpd_buf4_init(&I2, EOM_TMP1, G_irr, 11, 11, 11, 11, 0, "Z (gN,fI)");
520
dpd_contract442(&I2, &H2, &XIA, 3, 3, -1.0, 1.0);
524
dpd_buf4_init(&I2, EOM_TMP, G_irr, 10, 10, 10, 10, 0, "R2L2_ovov");
525
dpd_buf4_sort(&I2, EOM_TMP1, sprq, 11, 10, "Z (gn,if)");
527
dpd_buf4_init(&H2, CC_HBAR, 0, 11, 5, 11, 7, 0, "Wamef");
528
dpd_buf4_init(&I2, EOM_TMP1, G_irr, 11, 10, 11, 10, 0, "Z (gn,if)");
529
dpd_contract442(&I2, &H2, &Xia, 2, 2, 1.0, 1.0);
533
dpd_buf4_init(&I2, EOM_TMP, G_irr, 10, 10, 10, 10, 0, "R2L2_OVov");
534
dpd_buf4_sort(&I2, EOM_TMP1, sprq, 11, 10, "Z (gN,iF)");
536
dpd_buf4_init(&H2, CC_HBAR, 0, 11, 5, 11, 5, 0, "WaMeF");
537
dpd_buf4_init(&I2, EOM_TMP1, G_irr, 11, 10, 11, 10, 0, "Z (gN,iF)");
538
dpd_contract442(&I2, &H2, &Xia, 2, 2, 1.0, 1.0);
542
dpd_buf4_init(&I2, EOM_TMP, G_irr, 10, 10, 10, 10, 0, "R2L2_oVoV");
543
dpd_buf4_sort(&I2, EOM_TMP1, spqr, 11, 11, "Z (Gn,Fi)");
545
dpd_buf4_init(&H2, CC_HBAR, 0, 11, 5, 11, 5, 0, "WAmEf");
546
dpd_buf4_init(&I2, EOM_TMP1, G_irr, 11, 11, 11, 11, 0, "Z (Gn,Fi)");
547
dpd_contract442(&I2, &H2, &Xia, 3, 3, -1.0, 1.0);
551
dpd_file2_close(&XIA);
552
dpd_file2_close(&Xia);
554
x_xi_check("term 12");
557
/* term 13 -0.25 (Rmnfg Weifg) Lmnea */
558
dpd_file2_init(&Xia, EOM_XI, G_irr, 0, 1, "Xia");
559
dpd_file2_init(&XIA, EOM_XI, G_irr, 0, 1, "XIA");
561
dpd_buf4_init(&I2, EOM_TMP, R_irr, 2, 10, 2, 10, 0, "R2Wamef_OOOV");
562
dpd_buf4_init(&L2, CC_GL, L_irr, 2, 5, 2, 7, 0, "LIJAB");
563
dpd_contract442(&I2, &L2, &XIA, 2, 2, 1.0, 1.0);
566
dpd_buf4_init(&I2, EOM_TMP, R_irr, 0, 10, 0, 10, 0, "R2Wamef_OoOv");
567
dpd_buf4_init(&L2, CC_GL, L_irr, 0, 5, 0, 5, 0, "LIjAb");
568
dpd_contract442(&I2, &L2, &XIA, 2, 2, 1.0, 1.0);
572
dpd_buf4_init(&I2, EOM_TMP, R_irr, 2, 10, 2, 10, 0, "R2Wamef_ooov");
573
dpd_buf4_init(&L2, CC_GL, L_irr, 2, 5, 2, 7, 0, "Lijab");
574
dpd_contract442(&I2, &L2, &Xia, 2, 2, 1.0, 1.0);
577
dpd_buf4_init(&I2, EOM_TMP, R_irr, 0, 10, 0, 10, 0, "R2Wamef_oOoV");
578
dpd_buf4_init(&L2, CC_GL, L_irr, 0, 5, 0, 5, 0, "LiJaB");
579
dpd_contract442(&I2, &L2, &Xia, 2, 2, 1.0, 1.0);
583
dpd_file2_close(&XIA);
584
dpd_file2_close(&Xia);
586
x_xi_check("term 13");
589
if (!params.connect_xi) {
590
/* term 15 Linag (Rnmef Wgmef) */
591
dpd_file2_init(&Xia, EOM_XI, G_irr, 0, 1, "Xia");
592
dpd_file2_init(&XIA, EOM_XI, G_irr, 0, 1, "XIA");
594
dpd_file2_init(&I1, EOM_TMP, R_irr, 0, 1, "R2Wamef_OV");
595
dpd_buf4_init(&L2, CC_GL, L_irr, 0, 5, 2, 7, 0, "LIJAB");
596
dpd_dot24(&I1, &L2, &XIA, 0, 0, 1.0, 1.0);
598
dpd_file2_close(&I1);
599
dpd_file2_init(&I1, EOM_TMP, R_irr, 0, 1, "R2Wamef_ov");
600
dpd_buf4_init(&L2, CC_GL, L_irr, 0, 5, 0, 5, 0, "LIjAb");
601
dpd_dot24(&I1, &L2, &XIA, 0, 0, 1.0, 1.0);
603
dpd_file2_close(&I1);
605
dpd_file2_init(&I1, EOM_TMP, R_irr, 0, 1, "R2Wamef_ov");
606
dpd_buf4_init(&L2, CC_GL, L_irr, 0, 5, 2, 7, 0, "Lijab");
607
dpd_dot24(&I1, &L2, &Xia, 0, 0, 1.0, 1.0);
609
dpd_file2_close(&I1);
610
dpd_file2_init(&I1, EOM_TMP, R_irr, 0, 1, "R2Wamef_OV");
611
dpd_buf4_init(&L2, CC_GL, L_irr, 0, 5, 0, 5, 0, "LiJaB");
612
dpd_dot24(&I1, &L2, &Xia, 0, 0, 1.0, 1.0);
614
dpd_file2_close(&I1);
616
dpd_file2_close(&XIA);
617
dpd_file2_close(&Xia);
619
x_xi_check("term 15");
623
if (params.connect_xi) x_xi1_connected();
630
void x_xi_zero(void) {
632
dpdbuf4 XIJAB, Xijab, XIjAb;
634
G_irr = params.G_irr;
636
if (params.ref == 0) {
637
dpd_file2_init(&XIA, EOM_XI, G_irr, 0, 1, "XIA");
638
dpd_file2_scm(&XIA, 0.0);
639
dpd_file2_close(&XIA);
640
dpd_buf4_init(&XIjAb, EOM_XI, G_irr, 0, 5, 0, 5, 0, "XIjAb");
641
dpd_buf4_scm(&XIjAb, 0.0);
642
dpd_buf4_close(&XIjAb);
644
else if (params.ref == 1) {
645
dpd_file2_init(&XIA, EOM_XI, G_irr, 0, 1, "XIA");
646
dpd_file2_scm(&XIA, 0.0);
647
dpd_file2_close(&XIA);
648
dpd_file2_init(&Xia, EOM_XI, G_irr, 0, 1, "Xia");
649
dpd_file2_scm(&Xia, 0.0);
650
dpd_file2_close(&Xia);
651
dpd_buf4_init(&XIJAB, EOM_XI, G_irr, 2, 7, 2, 7, 0, "XIJAB");
652
dpd_buf4_scm(&XIJAB, 0.0);
653
dpd_buf4_close(&XIJAB);
654
dpd_buf4_init(&Xijab, EOM_XI, G_irr, 2, 7, 2, 7, 0, "Xijab");
655
dpd_buf4_scm(&Xijab, 0.0);
656
dpd_buf4_close(&Xijab);
657
dpd_buf4_init(&XIjAb, EOM_XI, G_irr, 0, 5, 0, 5, 0, "XIjAb");
658
dpd_buf4_scm(&XIjAb, 0.0);
659
dpd_buf4_close(&XIjAb);
662
dpd_file2_init(&XIA, EOM_XI, G_irr, 0, 1, "XIA");
663
dpd_file2_scm(&XIA, 0.0);
664
dpd_file2_close(&XIA);
665
dpd_file2_init(&Xia, EOM_XI, G_irr, 2, 3, "Xia");
666
dpd_file2_scm(&Xia, 0.0);
667
dpd_file2_close(&Xia);
668
dpd_buf4_init(&XIJAB, EOM_XI, G_irr, 2, 7, 2, 7, 0, "XIJAB");
669
dpd_buf4_scm(&XIJAB, 0.0);
670
dpd_buf4_close(&XIJAB);
671
dpd_buf4_init(&Xijab, EOM_XI, G_irr, 12, 17, 12, 17, 0, "Xijab");
672
dpd_buf4_scm(&Xijab, 0.0);
673
dpd_buf4_close(&Xijab);
674
dpd_buf4_init(&XIjAb, EOM_XI, G_irr, 22, 28, 22, 28, 0, "XIjAb");
675
dpd_buf4_scm(&XIjAb, 0.0);
676
dpd_buf4_close(&XIjAb);