~ubuntu-branches/ubuntu/karmic/psicode/karmic

« back to all changes in this revision

Viewing changes to src/bin/ccdensity/x_xi1.c

  • Committer: Bazaar Package Importer
  • Author(s): Michael Banck, Michael Banck, Daniel Leidert
  • Date: 2009-02-23 00:12:02 UTC
  • mfrom: (1.1.2 upstream)
  • Revision ID: james.westby@ubuntu.com-20090223001202-rutldoy3dimfpesc
Tags: 3.4.0-1
* New upstream release.

[ Michael Banck ]
* debian/patches/01_DESTDIR.dpatch: Refreshed.
* debian/patches/02_FHS.dpatch: Removed, applied upstream.
* debian/patches/03_debian_docdir: Likewise.
* debian/patches/04_man.dpatch: Likewise.
* debian/patches/06_466828_fix_gcc_43_ftbfs.dpatch: Likewise.
* debian/patches/07_464867_move_executables: Fixed and refreshed.
* debian/patches/00list: Adjusted.
* debian/control: Improved description.
* debian/patches-held: Removed.
* debian/rules (install/psi3): Do not ship the ruby bindings for now.

[ Daniel Leidert ]
* debian/rules: Fix txtdir via DEB_MAKE_INSTALL_TARGET.
* debian/patches/01_DESTDIR.dpatch: Refreshed.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
#include <stdio.h>
2
 
#include <libdpd/dpd.h>
3
 
#define EXTERN
4
 
#include "globals.h"
5
 
 
6
 
void x_xi1_rohf(void);
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);
11
 
 
12
 
/* compute xi_1 amplitudes for zeta equations */
13
 
 
14
 
void x_xi1(void) {
15
 
  if (params.ref == 0)
16
 
    x_xi1_rhf();
17
 
  else if (params.ref == 1)
18
 
    x_xi1_rohf();
19
 
  else
20
 
    x_xi1_uhf();
21
 
}
22
 
 
23
 
void x_xi1_rohf(void)
24
 
{
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;
28
 
 
29
 
  L_irr = params.L_irr;
30
 
  R_irr = params.R_irr;
31
 
  G_irr = params.G_irr;
32
 
 
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); */
36
 
 
37
 
#ifdef DEBUG_XI
38
 
x_xi_check("begin xi1");
39
 
#endif
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);
44
 
    dpd_file2_close(&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);
47
 
    dpd_file2_close(&I1);
48
 
 
49
 
    dpd_file2_init(&L1, CC_GL, L_irr, 0, 1, "LIA");
50
 
    dpd_file2_copy(&L1, EOM_XI, "XIA");
51
 
    dpd_file2_close(&L1);
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");
57
 
    dpd_file2_close(&L1);
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);
61
 
  }
62
 
#ifdef DEBUG_XI
63
 
x_xi_check("term 1");
64
 
#endif
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");
68
 
 
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);
72
 
  dpd_file2_close(&L1);
73
 
  dpd_file2_close(&I1);
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);
77
 
  dpd_file2_close(&L1);
78
 
  dpd_file2_close(&I1);
79
 
 
80
 
  dpd_file2_close(&XIA);
81
 
  dpd_file2_close(&Xia);
82
 
#ifdef DEBUG_XI
83
 
x_xi_check("term 2");
84
 
#endif
85
 
 
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");
89
 
 
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);
93
 
  dpd_file2_close(&I1);
94
 
  dpd_file2_close(&L1);
95
 
 
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);
99
 
  dpd_file2_close(&I1);
100
 
  dpd_file2_close(&L1);
101
 
 
102
 
  dpd_file2_close(&XIA);
103
 
  dpd_file2_close(&Xia);
104
 
#ifdef DEBUG_XI
105
 
x_xi_check("term 3");
106
 
#endif
107
 
 
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");
111
 
 
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);
115
 
  dpd_buf4_close(&D);
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);
120
 
  dpd_buf4_close(&D);
121
 
  dpd_file2_close(&I1);
122
 
 
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);
126
 
  dpd_buf4_close(&D);
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);
131
 
  dpd_buf4_close(&D);
132
 
  dpd_file2_close(&I1);
133
 
 
134
 
  dpd_file2_close(&XIA);
135
 
  dpd_file2_close(&Xia);
136
 
#ifdef DEBUG_XI
137
 
x_xi_check("term 4");
138
 
#endif
139
 
 
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);
152
 
 
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");
160
 
 
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);
167
 
 
168
 
  dpd_file2_close(&XIA);
169
 
  dpd_file2_close(&Xia);
170
 
#ifdef DEBUG_XI
171
 
x_xi_check("term 5");
172
 
#endif
173
 
 
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");
177
 
 
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);
188
 
 
189
 
  dpd_file2_close(&XIA);
190
 
  dpd_file2_close(&Xia);
191
 
#ifdef DEBUG_XI
192
 
x_xi_check("term 6");
193
 
#endif
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");
197
 
 
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);
208
 
 
209
 
  dpd_file2_close(&XIA);
210
 
  dpd_file2_close(&Xia);
211
 
#ifdef DEBUG_XI
212
 
x_xi_check("term 7");
213
 
#endif
214
 
 
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);
221
 
  dpd_buf4_close(&R2);
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);
226
 
  dpd_buf4_close(&R2);
227
 
  dpd_file2_close(&F1);
228
 
  dpd_file2_close(&I1);
229
 
 
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);
234
 
  dpd_buf4_close(&R2);
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);
239
 
  dpd_buf4_close(&R2);
240
 
  dpd_file2_close(&F1);
241
 
  dpd_file2_close(&I1);
242
 
 
243
 
  dpd_file2_init(&Xia, EOM_XI, G_irr, 0, 1, "Xia");
244
 
  dpd_file2_init(&XIA, EOM_XI, G_irr, 0, 1, "XIA");
245
 
 
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);
249
 
  dpd_buf4_close(&L2);
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);
252
 
  dpd_buf4_close(&L2);
253
 
  dpd_file2_close(&I1);
254
 
 
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);
258
 
  dpd_buf4_close(&L2);
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);
261
 
  dpd_buf4_close(&L2);
262
 
  dpd_file2_close(&I1);
263
 
 
264
 
  dpd_file2_close(&XIA);
265
 
  dpd_file2_close(&Xia);
266
 
#ifdef DEBUG_XI
267
 
x_xi_check("term 8");
268
 
#endif
269
 
    }
270
 
 
271
 
  dpd_file2_init(&Xia, EOM_XI, G_irr, 0, 1, "Xia");
272
 
  dpd_file2_init(&XIA, EOM_XI, G_irr, 0, 1, "XIA");
273
 
 
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);
277
 
  dpd_buf4_close(&H2);
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);
282
 
  dpd_buf4_close(&H2);
283
 
  dpd_file2_close(&I1);
284
 
 
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);
288
 
  dpd_buf4_close(&H2);
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);
293
 
  dpd_buf4_close(&H2);
294
 
  dpd_file2_close(&I1);
295
 
 
296
 
  dpd_file2_close(&XIA);
297
 
  dpd_file2_close(&Xia);
298
 
#ifdef DEBUG_XI
299
 
x_xi_check("term 9");
300
 
#endif
301
 
 
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");
305
 
 
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);
311
 
  dpd_buf4_close(&I2);
312
 
  dpd_buf4_close(&H2);
313
 
  */
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)");
317
 
  dpd_buf4_close(&H2);
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)");
320
 
  dpd_buf4_close(&H2);
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");
323
 
  dpd_buf4_close(&H2);
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");
326
 
  dpd_buf4_close(&H2);
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");
329
 
  dpd_buf4_close(&H2);
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");
332
 
  dpd_buf4_close(&H2);
333
 
 
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);
337
 
  dpd_buf4_close(&I2);
338
 
  dpd_buf4_close(&H2);
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);
342
 
  dpd_buf4_close(&I2);
343
 
  dpd_buf4_close(&H2);
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);
347
 
  dpd_buf4_close(&I2);
348
 
  dpd_buf4_close(&H2);
349
 
 
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);
353
 
  dpd_buf4_close(&I2);
354
 
  dpd_buf4_close(&H2);
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);
358
 
  dpd_buf4_close(&I2);
359
 
  dpd_buf4_close(&H2);
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);
363
 
  dpd_buf4_close(&I2);
364
 
  dpd_buf4_close(&H2);
365
 
 
366
 
  dpd_file2_close(&XIA);
367
 
  dpd_file2_close(&Xia);
368
 
#ifdef DEBUG_XI
369
 
x_xi_check("term 11");
370
 
#endif
371
 
 
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");
375
 
 
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);
379
 
  dpd_buf4_close(&H2);
380
 
  dpd_buf4_close(&I2);
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);
384
 
  dpd_buf4_close(&I2);
385
 
  dpd_buf4_close(&H2);
386
 
 
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);
390
 
  dpd_buf4_close(&H2);
391
 
  dpd_buf4_close(&I2);
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);
395
 
  dpd_buf4_close(&I2);
396
 
  dpd_buf4_close(&H2);
397
 
 
398
 
  dpd_file2_close(&XIA);
399
 
  dpd_file2_close(&Xia);
400
 
#ifdef DEBUG_XI
401
 
x_xi_check("term 14");
402
 
#endif
403
 
 
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)");
408
 
 
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);
412
 
  dpd_buf4_close(&R2);
413
 
  dpd_buf4_close(&H2);
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);
417
 
  dpd_buf4_close(&R2);
418
 
  dpd_buf4_close(&H2);
419
 
 
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);
423
 
  dpd_buf4_close(&R2);
424
 
  dpd_buf4_close(&H2);
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);
428
 
  dpd_buf4_close(&R2);
429
 
  dpd_buf4_close(&H2);
430
 
 
431
 
  dpd_file2_init(&Xia, EOM_XI, G_irr, 0, 1, "Xia");
432
 
  dpd_file2_init(&XIA, EOM_XI, G_irr, 0, 1, "XIA");
433
 
 
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);
436
 
  dpd_buf4_close(&L2);
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);
439
 
  dpd_buf4_close(&L2);
440
 
 
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);
443
 
  dpd_buf4_close(&L2);
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);
446
 
  dpd_buf4_close(&L2);
447
 
 
448
 
  dpd_file2_close(&Z1A);
449
 
  dpd_file2_close(&Z1B);
450
 
 
451
 
  dpd_file2_close(&XIA);
452
 
  dpd_file2_close(&Xia);
453
 
#ifdef DEBUG_XI
454
 
x_xi_check("term 16");
455
 
#endif
456
 
  }
457
 
 
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");
461
 
 
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);
465
 
  dpd_buf4_close(&H2);
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);
470
 
  dpd_buf4_close(&H2);
471
 
  dpd_file2_close(&I1);
472
 
 
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);
476
 
  dpd_buf4_close(&H2);
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);
481
 
  dpd_buf4_close(&H2);
482
 
  dpd_file2_close(&I1);
483
 
 
484
 
  dpd_file2_close(&XIA);
485
 
  dpd_file2_close(&Xia);
486
 
#ifdef DEBUG_XI
487
 
x_xi_check("term 10");
488
 
#endif
489
 
 
490
 
  psio_close(EOM_TMP1,0);
491
 
  psio_open(EOM_TMP1, PSIO_OPEN_NEW);
492
 
 
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");
496
 
 
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)"); 
499
 
  dpd_buf4_close(&I2);
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);
503
 
  dpd_buf4_close(&I2);
504
 
  dpd_buf4_close(&H2);
505
 
 
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)"); 
508
 
  dpd_buf4_close(&I2);
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);
512
 
  dpd_buf4_close(&I2);
513
 
  dpd_buf4_close(&H2);
514
 
 
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)"); 
517
 
  dpd_buf4_close(&I2);
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);
521
 
  dpd_buf4_close(&I2);
522
 
  dpd_buf4_close(&H2);
523
 
 
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)"); 
526
 
  dpd_buf4_close(&I2);
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);
530
 
  dpd_buf4_close(&I2);
531
 
  dpd_buf4_close(&H2);
532
 
 
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)"); 
535
 
  dpd_buf4_close(&I2);
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);
539
 
  dpd_buf4_close(&I2);
540
 
  dpd_buf4_close(&H2);
541
 
 
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)"); 
544
 
  dpd_buf4_close(&I2);
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);
548
 
  dpd_buf4_close(&I2);
549
 
  dpd_buf4_close(&H2);
550
 
 
551
 
  dpd_file2_close(&XIA);
552
 
  dpd_file2_close(&Xia);
553
 
#ifdef DEBUG_XI
554
 
x_xi_check("term 12");
555
 
#endif
556
 
 
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");
560
 
 
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);
564
 
  dpd_buf4_close(&L2);
565
 
  dpd_buf4_close(&I2);
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);
569
 
  dpd_buf4_close(&L2);
570
 
  dpd_buf4_close(&I2);
571
 
 
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);
575
 
  dpd_buf4_close(&L2);
576
 
  dpd_buf4_close(&I2);
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);
580
 
  dpd_buf4_close(&L2);
581
 
  dpd_buf4_close(&I2);
582
 
 
583
 
  dpd_file2_close(&XIA);
584
 
  dpd_file2_close(&Xia);
585
 
#ifdef DEBUG_XI
586
 
x_xi_check("term 13");
587
 
#endif
588
 
 
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");
593
 
 
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);
597
 
    dpd_buf4_close(&L2);
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);
602
 
    dpd_buf4_close(&L2);
603
 
    dpd_file2_close(&I1);
604
 
 
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);
608
 
    dpd_buf4_close(&L2);
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);
613
 
    dpd_buf4_close(&L2);
614
 
    dpd_file2_close(&I1);
615
 
 
616
 
    dpd_file2_close(&XIA);
617
 
    dpd_file2_close(&Xia);
618
 
#ifdef DEBUG_XI
619
 
x_xi_check("term 15");
620
 
#endif
621
 
  }
622
 
 
623
 
  if (params.connect_xi) x_xi1_connected();
624
 
  
625
 
  return;
626
 
}
627
 
 
628
 
 
629
 
 
630
 
void x_xi_zero(void) {
631
 
  dpdfile2 XIA, Xia;
632
 
  dpdbuf4 XIJAB, Xijab, XIjAb;
633
 
  int G_irr;
634
 
  G_irr = params.G_irr;
635
 
 
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);
643
 
  } 
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);
660
 
  }
661
 
  else {
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);
677
 
  }
678
 
  return;
679
 
}