~ubuntu-branches/ubuntu/vivid/psicode/vivid

« back to all changes in this revision

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

  • Committer: Bazaar Package Importer
  • Author(s): Michael Banck
  • Date: 2008-06-07 16:49:57 UTC
  • mfrom: (2.1.2 hardy)
  • Revision ID: james.westby@ubuntu.com-20080607164957-8pifvb133yjlkagn
Tags: 3.3.0-3
* debian/rules (DEB_MAKE_CHECK_TARGET): Do not abort test suite on
  failures.
* debian/rules (DEB_CONFIGURE_EXTRA_FLAGS): Set ${bindir} to /usr/lib/psi.
* debian/rules (install/psi3): Move psi3 file to /usr/bin.
* debian/patches/07_464867_move_executables.dpatch: New patch, add
  /usr/lib/psi to the $PATH, so that the moved executables are found.
  (closes: #464867)
* debian/patches/00list: Adjusted.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#define EXTERN
 
2
#include "globals.h"
 
3
 
 
4
/* build one-electron intermediates for construction of excited state
 
5
density matrices - all contractions but L1*T2 are needed just to make
 
6
the excited state onepdm */
 
7
 
 
8
/* LR1_OO  =  LIE * RJE */
 
9
/* LR1_oo  = Lie * Rje */
 
10
/* LR1_VV = LMA * RMB */
 
11
/* LR1_vv = Lma * Rmb */
 
12
/* LT1_OO  =  LIE * TJE */
 
13
/* LT1_oo  = Lie * Tje */
 
14
/* LT1_VV = LMA * TMB */
 
15
/* LT1_vv = Lma * Tmb */
 
16
/* L2R1_OV = RME * LIMAE + Rme + LImAe */
 
17
/* L2R1_ov = Rme * Limae + RME + LiMaE */
 
18
/* L1R2_OV = LME * RIMAE + Lme * RImAe */
 
19
/* L1R2_ov = Lme * Rimae + LME * RiMaE */
 
20
/* L1T2_OV = LME * TIMAE + Lme * TImAe */
 
21
/* L1T2_ov = Lme * Timae + LME * TiMaE */
 
22
/* LR2_OO  = 0.5 * LIMEF * RJMEF + LImEf * RJmEf */
 
23
/* LR2_oo  = 0.5 * Limef * Rjmef + LiMeF * RjMeF */
 
24
/* LR2_VV = 0.5 * LMNEA * RMNEB + LmNeA * RmNeB */
 
25
/* LR2_vv = 0.5 * Lmnea * Rmneb + LMnEa * RMnEb */
 
26
/* LT2_OO = 0.5 * LIMEF * TJMEF + LImEf * TJmEf */
 
27
/* LT2_oo = 0.5 * Limef * Tjmef + LiMeF * TjMeF */
 
28
/* LT2_VV = 0.5 * LMNEA * TMNEB + LmNeA * TmNeB */
 
29
/* LT2_vv = 0.5 * Lmnea * Tmneb + LMnEa * TMnEb */
 
30
/* LR_OO = LR1_OO + LR2_OO */
 
31
/* LR_oo = LR1_oo + LR2_oo */
 
32
/* LR_VV = LR1_VV + LR2_VV */
 
33
/* LR_vv = LR1_vv + LR2_vv */
 
34
/* LT_OO = LT1_OO + LT2_OO */
 
35
/* LT_oo = LT1_oo + LT2_oo */
 
36
/* and in CC_TAMPS
 
37
 tauIJAB  = tIJAB + 1.0 * (TIA * TJB - TIB * TJA)
 
38
 tautIJAB = tIJAB + 0.5 * (TIA * TJB - TIB * TJA)
 
39
*/
 
40
 
 
41
void x_oe_intermediates(struct RHO_Params rho_params)
 
42
{
 
43
  dpdfile2 L1, R1, T1, I, LR1, LR2, LT1, LT2;
 
44
  dpdbuf4 L2, T2, R2;
 
45
  int L_irr, R_irr, G_irr;
 
46
  int rohf = 0;
 
47
 
 
48
  L_irr = rho_params.L_irr;
 
49
  R_irr = rho_params.R_irr;
 
50
  G_irr = rho_params.G_irr;
 
51
  if ( (params.ref == 0) || (params.ref == 1) ) rohf = 1;
 
52
 
 
53
  /* LR1_OO(I,J)  =  LIE * RJE */
 
54
  dpd_file2_init(&I, EOM_TMP, G_irr, 0, 0, "LR1_OO");
 
55
  dpd_file2_init(&L1, CC_GL, L_irr, 0, 1, "LIA");
 
56
  dpd_file2_init(&R1, CC_GR, R_irr, 0, 1, "RIA");
 
57
  dpd_contract222(&L1, &R1, &I, 0, 0, 1.0, 0.0);
 
58
  dpd_file2_close(&R1);
 
59
  dpd_file2_close(&L1);
 
60
  dpd_file2_close(&I);
 
61
 
 
62
  /* LR1_oo(i,j)  = Lia * Rje */
 
63
  if (rohf) {
 
64
    dpd_file2_init(&I, EOM_TMP, G_irr, 0, 0, "LR1_oo");
 
65
    dpd_file2_init(&L1, CC_GL, L_irr, 0, 1, "Lia");
 
66
    dpd_file2_init(&R1, CC_GR, R_irr, 0, 1, "Ria");
 
67
    dpd_contract222(&L1, &R1, &I, 0, 0, 1.0, 0.0);
 
68
    dpd_file2_close(&R1);
 
69
    dpd_file2_close(&L1);
 
70
    dpd_file2_close(&I);
 
71
  }
 
72
  else {
 
73
    dpd_file2_init(&I, EOM_TMP, G_irr, 2, 2, "LR1_oo");
 
74
    dpd_file2_init(&L1, CC_GL, L_irr, 2, 3, "Lia");
 
75
    dpd_file2_init(&R1, CC_GR, R_irr, 2, 3, "Ria");
 
76
    dpd_contract222(&L1, &R1, &I, 0, 0, 1.0, 0.0);
 
77
    dpd_file2_close(&R1);
 
78
    dpd_file2_close(&L1);
 
79
    dpd_file2_close(&I);
 
80
  }
 
81
 
 
82
  /* LR1_VV(A,B) = LMA * RMB */
 
83
  dpd_file2_init(&I, EOM_TMP, G_irr, 1, 1, "LR1_VV");
 
84
  dpd_file2_init(&L1, CC_GL, L_irr, 0, 1, "LIA");
 
85
  dpd_file2_init(&R1, CC_GR, R_irr, 0, 1, "RIA");
 
86
  dpd_contract222(&L1, &R1, &I, 1, 1, 1.0, 0.0);
 
87
  dpd_file2_close(&R1);
 
88
  dpd_file2_close(&L1);
 
89
  dpd_file2_close(&I);
 
90
 
 
91
  /* LR1_vv(a,b) = Lma * Rmb */
 
92
  if (rohf) {
 
93
    dpd_file2_init(&I, EOM_TMP, G_irr, 1, 1, "LR1_vv");
 
94
    dpd_file2_init(&L1, CC_GL, L_irr, 0, 1, "Lia");
 
95
    dpd_file2_init(&R1, CC_GR, R_irr, 0, 1, "Ria");
 
96
    dpd_contract222(&L1, &R1, &I, 1, 1, 1.0, 0.0);
 
97
    dpd_file2_close(&R1);
 
98
    dpd_file2_close(&L1);
 
99
    dpd_file2_close(&I);
 
100
  }
 
101
  else {
 
102
    dpd_file2_init(&I, EOM_TMP, G_irr, 3, 3, "LR1_vv");
 
103
    dpd_file2_init(&L1, CC_GL, L_irr, 2, 3, "Lia");
 
104
    dpd_file2_init(&R1, CC_GR, R_irr, 2, 3, "Ria");
 
105
    dpd_contract222(&L1, &R1, &I, 1, 1, 1.0, 0.0);
 
106
    dpd_file2_close(&R1);
 
107
    dpd_file2_close(&L1);
 
108
    dpd_file2_close(&I);
 
109
  }
 
110
  
 
111
  /* LT1_OO(I,J)  =  LIE * TJE */
 
112
  dpd_file2_init(&I, EOM_TMP, L_irr, 0, 0, "LT1_OO");
 
113
  dpd_file2_init(&L1, CC_GL, L_irr, 0, 1, "LIA");
 
114
  dpd_file2_init(&T1, CC_OEI, 0, 0, 1, "tIA");
 
115
  dpd_contract222(&L1, &T1, &I, 0, 0, 1.0, 0.0);
 
116
  dpd_file2_close(&T1);
 
117
  dpd_file2_close(&L1);
 
118
  dpd_file2_close(&I);
 
119
 
 
120
  /* LT1_oo(i,j)  = Lia * Rje */
 
121
  if (rohf) {
 
122
    dpd_file2_init(&I, EOM_TMP, L_irr, 0, 0, "LT1_oo");
 
123
    dpd_file2_init(&L1, CC_GL, L_irr, 0, 1, "Lia");
 
124
    dpd_file2_init(&T1, CC_OEI, 0, 0, 1, "tia");
 
125
    dpd_contract222(&L1, &T1, &I, 0, 0, 1.0, 0.0);
 
126
    dpd_file2_close(&T1);
 
127
    dpd_file2_close(&L1);
 
128
    dpd_file2_close(&I);
 
129
  }
 
130
  else {
 
131
    dpd_file2_init(&I, EOM_TMP, L_irr, 2, 2, "LT1_oo");
 
132
    dpd_file2_init(&L1, CC_GL, L_irr, 2, 3, "Lia");
 
133
    dpd_file2_init(&T1, CC_OEI, 0, 2, 3, "tia");
 
134
    dpd_contract222(&L1, &T1, &I, 0, 0, 1.0, 0.0);
 
135
    dpd_file2_close(&T1);
 
136
    dpd_file2_close(&L1);
 
137
    dpd_file2_close(&I);
 
138
  }
 
139
 
 
140
  /* LT1_VV(A,B) = LMA * TMB */
 
141
  dpd_file2_init(&I, EOM_TMP, L_irr, 1, 1, "LT1_VV");
 
142
  dpd_file2_init(&L1, CC_GL, L_irr, 0, 1, "LIA");
 
143
  dpd_file2_init(&T1, CC_OEI, 0, 0, 1, "tIA");
 
144
  dpd_contract222(&L1, &T1, &I, 1, 1, 1.0, 0.0);
 
145
  dpd_file2_close(&T1);
 
146
  dpd_file2_close(&L1);
 
147
  dpd_file2_close(&I);
 
148
 
 
149
  /* LT1_vv(a,b) = Lma * Tmb */
 
150
  if (rohf) {
 
151
    dpd_file2_init(&I, EOM_TMP, L_irr, 1, 1, "LT1_vv");
 
152
    dpd_file2_init(&L1, CC_GL, L_irr, 0, 1, "Lia");
 
153
    dpd_file2_init(&T1, CC_OEI, 0, 0, 1, "tia");
 
154
    dpd_contract222(&L1, &T1, &I, 1, 1, 1.0, 0.0);
 
155
    dpd_file2_close(&T1);
 
156
    dpd_file2_close(&L1);
 
157
    dpd_file2_close(&I);
 
158
  }
 
159
  else {
 
160
    dpd_file2_init(&I, EOM_TMP, L_irr, 3, 3, "LT1_vv");
 
161
    dpd_file2_init(&L1, CC_GL, L_irr, 2, 3, "Lia");
 
162
    dpd_file2_init(&T1, CC_OEI, 0, 2, 3, "tia");
 
163
    dpd_contract222(&L1, &T1, &I, 1, 1, 1.0, 0.0);
 
164
    dpd_file2_close(&T1);
 
165
    dpd_file2_close(&L1);
 
166
    dpd_file2_close(&I);
 
167
  }
 
168
 
 
169
  /* L2R1_OV(I,A) = RME * LIMAE + Rme + LImAe */
 
170
  if (rohf) {
 
171
    dpd_file2_init(&I, EOM_TMP, G_irr, 0, 1, "L2R1_OV");
 
172
    dpd_buf4_init(&L2, CC_GL, L_irr, 0, 5, 2, 7, 0, "LIJAB");
 
173
    dpd_file2_init(&R1, CC_GR, R_irr, 0, 1, "RIA");
 
174
    dpd_dot24(&R1, &L2, &I, 0, 0, 1.0, 0.0);
 
175
    dpd_file2_close(&R1);
 
176
    dpd_buf4_close(&L2);
 
177
    dpd_buf4_init(&L2, CC_GL, L_irr, 0, 5, 0, 5, 0, "LIjAb");
 
178
    dpd_file2_init(&R1, CC_GR, R_irr, 0, 1, "Ria");
 
179
    dpd_dot24(&R1, &L2, &I, 0, 0, 1.0, 1.0);
 
180
    dpd_file2_close(&R1);
 
181
    dpd_buf4_close(&L2);
 
182
    dpd_file2_close(&I);
 
183
  }
 
184
  else {
 
185
    dpd_file2_init(&I, EOM_TMP, G_irr, 0, 1, "L2R1_OV");
 
186
    dpd_buf4_init(&L2, CC_GL, L_irr, 0, 5, 2, 7, 0, "LIJAB");
 
187
    dpd_file2_init(&R1, CC_GR, R_irr, 0, 1, "RIA");
 
188
    dpd_dot24(&R1, &L2, &I, 0, 0, 1.0, 0.0);
 
189
    dpd_file2_close(&R1);
 
190
    dpd_buf4_close(&L2);
 
191
    dpd_buf4_init(&L2, CC_GL, L_irr, 22, 28, 22, 28, 0, "LIjAb");
 
192
    dpd_file2_init(&R1, CC_GR, R_irr, 2, 3, "Ria");
 
193
    dpd_dot24(&R1, &L2, &I, 0, 0, 1.0, 1.0);
 
194
    dpd_file2_close(&R1);
 
195
    dpd_buf4_close(&L2);
 
196
    dpd_file2_close(&I);
 
197
  }
 
198
 
 
199
  /* L2R1_OV(i,a) = Rme * Limae + RME + LiMaE */
 
200
 
 
201
  if (rohf) {
 
202
    dpd_file2_init(&I, EOM_TMP, G_irr, 0, 1, "L2R1_ov");
 
203
    dpd_buf4_init(&L2, CC_GL, L_irr, 0, 5, 2, 7, 0, "Lijab");
 
204
    dpd_file2_init(&R1, CC_GR, R_irr, 0, 1, "Ria");
 
205
    dpd_dot24(&R1, &L2, &I, 0, 0, 1.0, 0.0);
 
206
    dpd_file2_close(&R1);
 
207
    dpd_buf4_close(&L2);
 
208
    dpd_buf4_init(&L2, CC_GL, L_irr, 0, 5, 0, 5, 0, "LiJaB");
 
209
    dpd_file2_init(&R1, CC_GR, R_irr, 0, 1, "RIA");
 
210
    dpd_dot24(&R1, &L2, &I, 0, 0, 1.0, 1.0);
 
211
    dpd_file2_close(&R1);
 
212
    dpd_buf4_close(&L2);
 
213
    dpd_file2_close(&I);
 
214
  }
 
215
  else {
 
216
    dpd_file2_init(&I, EOM_TMP, G_irr, 2, 3, "L2R1_ov");
 
217
    dpd_buf4_init(&L2, CC_GL, L_irr, 10, 15, 12, 17, 0, "Lijab");
 
218
    dpd_file2_init(&R1, CC_GR, R_irr, 2, 3, "Ria");
 
219
    dpd_dot24(&R1, &L2, &I, 0, 0, 1.0, 0.0);
 
220
    dpd_file2_close(&R1);
 
221
    dpd_buf4_close(&L2);
 
222
    dpd_buf4_init(&L2, CC_GL, L_irr, 23, 29, 23, 29, 0, "LiJaB");
 
223
    dpd_file2_init(&R1, CC_GR, R_irr, 0, 1, "RIA");
 
224
    dpd_dot24(&R1, &L2, &I, 0, 0, 1.0, 1.0);
 
225
    dpd_file2_close(&R1);
 
226
    dpd_buf4_close(&L2);
 
227
    dpd_file2_close(&I);
 
228
  }
 
229
 
 
230
  /* L1R2_OV(I,A) = LME * RIMAE + Lme * RImAe */
 
231
  if (rohf) {
 
232
    dpd_file2_init(&I, EOM_TMP, G_irr, 0, 1, "L1R2_OV");
 
233
    dpd_buf4_init(&R2, CC_GR, R_irr, 0, 5, 2, 7, 0, "RIJAB");
 
234
    dpd_file2_init(&L1, CC_GL, L_irr, 0, 1, "LIA");
 
235
    dpd_dot24(&L1, &R2, &I, 0, 0, 1.0, 0.0);
 
236
    dpd_file2_close(&L1);
 
237
    dpd_buf4_close(&R2);
 
238
    dpd_buf4_init(&R2, CC_GR, R_irr, 0, 5, 0, 5, 0, "RIjAb");
 
239
    dpd_file2_init(&L1, CC_GL, L_irr, 0, 1, "Lia");
 
240
    dpd_dot24(&L1, &R2, &I, 0, 0, 1.0, 1.0);
 
241
    dpd_file2_close(&L1);
 
242
    dpd_buf4_close(&R2);
 
243
    dpd_file2_close(&I);
 
244
  }
 
245
  else {
 
246
    dpd_file2_init(&I, EOM_TMP, G_irr, 0, 1, "L1R2_OV");
 
247
    dpd_buf4_init(&R2, CC_GR, R_irr, 0, 5, 2, 7, 0, "RIJAB");
 
248
    dpd_file2_init(&L1, CC_GL, L_irr, 0, 1, "LIA");
 
249
    dpd_dot24(&L1, &R2, &I, 0, 0, 1.0, 0.0);
 
250
    dpd_file2_close(&L1);
 
251
    dpd_buf4_close(&R2);
 
252
    dpd_buf4_init(&R2, CC_GR, R_irr, 22, 28, 22, 28, 0, "RIjAb");
 
253
    dpd_file2_init(&L1, CC_GL, L_irr, 2, 3, "Lia");
 
254
    dpd_dot24(&L1, &R2, &I, 0, 0, 1.0, 1.0);
 
255
    dpd_file2_close(&L1);
 
256
    dpd_buf4_close(&R2);
 
257
    dpd_file2_close(&I);
 
258
  }
 
259
 
 
260
  /* L1R2_ov(i,a) = Lme * Rimae + LME * RiMaE */
 
261
  if (rohf) {
 
262
    dpd_file2_init(&I, EOM_TMP, G_irr, 0, 1, "L1R2_ov");
 
263
    dpd_buf4_init(&R2, CC_GR, R_irr, 0, 5, 2, 7, 0, "Rijab");
 
264
    dpd_file2_init(&L1, CC_GL, L_irr, 0, 1, "Lia");
 
265
    dpd_dot24(&L1, &R2, &I, 0, 0, 1.0, 0.0);
 
266
    dpd_file2_close(&L1);
 
267
    dpd_buf4_close(&R2);
 
268
    dpd_buf4_init(&R2, CC_GR, R_irr, 0, 5, 0, 5, 0, "RiJaB");
 
269
    dpd_file2_init(&L1, CC_GL, L_irr, 0, 1, "LIA");
 
270
    dpd_dot24(&L1, &R2, &I, 0, 0, 1.0, 1.0);
 
271
    dpd_file2_close(&L1);
 
272
    dpd_buf4_close(&R2);
 
273
    dpd_file2_close(&I);
 
274
  }
 
275
  else {
 
276
    dpd_file2_init(&I, EOM_TMP, G_irr, 2, 3, "L1R2_ov");
 
277
    dpd_buf4_init(&R2, CC_GR, R_irr, 10, 15, 12, 17, 0, "Rijab");
 
278
    dpd_file2_init(&L1, CC_GL, L_irr, 2, 3, "Lia");
 
279
    dpd_dot24(&L1, &R2, &I, 0, 0, 1.0, 0.0);
 
280
    dpd_file2_close(&L1);
 
281
    dpd_buf4_close(&R2);
 
282
    dpd_buf4_init(&R2, CC_GR, R_irr, 23, 29, 23, 29, 0, "RiJaB");
 
283
    dpd_file2_init(&L1, CC_GL, L_irr, 0, 1, "LIA");
 
284
    dpd_dot24(&L1, &R2, &I, 0, 0, 1.0, 1.0);
 
285
    dpd_file2_close(&L1);
 
286
    dpd_buf4_close(&R2);
 
287
    dpd_file2_close(&I);
 
288
  }
 
289
 
 
290
  /* L1T2_OV = LME * TIMAE + Lme * TImAe */
 
291
  if (rohf) {
 
292
    dpd_file2_init(&I, EOM_TMP, L_irr, 0, 1, "L1T2_OV");
 
293
    dpd_buf4_init(&T2, CC_TAMPS, 0, 0, 5, 2, 7, 0, "tIJAB");
 
294
    dpd_file2_init(&L1, CC_GL, L_irr, 0, 1, "LIA");
 
295
    dpd_dot24(&L1, &T2, &I, 0, 0, 1.0, 0.0);
 
296
    dpd_file2_close(&L1);
 
297
    dpd_buf4_close(&T2);
 
298
    dpd_buf4_init(&T2, CC_TAMPS, 0, 0, 5, 0, 5, 0, "tIjAb");
 
299
    dpd_file2_init(&L1, CC_GL, L_irr, 0, 1, "Lia");
 
300
    dpd_dot24(&L1, &T2, &I, 0, 0, 1.0, 1.0);
 
301
    dpd_file2_close(&L1);
 
302
    dpd_buf4_close(&T2);
 
303
    dpd_file2_close(&I);
 
304
  }
 
305
  else {
 
306
    dpd_file2_init(&I, EOM_TMP, L_irr, 0, 1, "L1T2_OV");
 
307
    dpd_buf4_init(&T2, CC_TAMPS, 0, 0, 5, 2, 7, 0, "tIJAB");
 
308
    dpd_file2_init(&L1, CC_GL, L_irr, 0, 1, "LIA");
 
309
    dpd_dot24(&L1, &T2, &I, 0, 0, 1.0, 0.0);
 
310
    dpd_file2_close(&L1);
 
311
    dpd_buf4_close(&T2);
 
312
    dpd_buf4_init(&T2, CC_TAMPS, 0, 22, 28, 22, 28, 0, "tIjAb");
 
313
    dpd_file2_init(&L1, CC_GL, L_irr, 2, 3, "Lia");
 
314
    dpd_dot24(&L1, &T2, &I, 0, 0, 1.0, 1.0);
 
315
    dpd_file2_close(&L1);
 
316
    dpd_buf4_close(&T2);
 
317
    dpd_file2_close(&I);
 
318
  }
 
319
 
 
320
  /* L1T2_ov = Lme * Timae + LME * TiMaE */
 
321
 
 
322
  if (rohf) {
 
323
    dpd_file2_init(&I, EOM_TMP, L_irr, 0, 1, "L1T2_ov");
 
324
    dpd_buf4_init(&T2, CC_TAMPS, 0, 0, 5, 2, 7, 0, "tijab");
 
325
    dpd_file2_init(&L1, CC_GL, L_irr, 0, 1, "Lia");
 
326
    dpd_dot24(&L1, &T2, &I, 0, 0, 1.0, 0.0);
 
327
    dpd_file2_close(&L1);
 
328
    dpd_buf4_close(&T2);
 
329
    dpd_buf4_init(&T2, CC_TAMPS, 0, 0, 5, 0, 5, 0, "tiJaB");
 
330
    dpd_file2_init(&L1, CC_GL, L_irr, 0, 1, "LIA");
 
331
    dpd_dot24(&L1, &T2, &I, 0, 0, 1.0, 1.0);
 
332
    dpd_file2_close(&L1);
 
333
    dpd_buf4_close(&T2);
 
334
    dpd_file2_close(&I);
 
335
  }
 
336
  else {
 
337
    dpd_file2_init(&I, EOM_TMP, L_irr, 2, 3, "L1T2_ov");
 
338
    dpd_buf4_init(&T2, CC_TAMPS, 0, 10, 15, 12, 17, 0, "tijab");
 
339
    dpd_file2_init(&L1, CC_GL, L_irr, 2, 3, "Lia");
 
340
    dpd_dot24(&L1, &T2, &I, 0, 0, 1.0, 0.0);
 
341
    dpd_file2_close(&L1);
 
342
    dpd_buf4_close(&T2);
 
343
    dpd_buf4_init(&T2, CC_TAMPS, 0, 23, 29, 23, 29, 0, "tiJaB");
 
344
    dpd_file2_init(&L1, CC_GL, L_irr, 0, 1, "LIA");
 
345
    dpd_dot24(&L1, &T2, &I, 0, 0, 1.0, 1.0);
 
346
    dpd_file2_close(&L1);
 
347
    dpd_buf4_close(&T2);
 
348
    dpd_file2_close(&I);
 
349
  }
 
350
 
 
351
  /* LR2_OO(I,J)  = 0.5 * LIMEF * RJMEF + LImEf * RJmEf */
 
352
  if (rohf) {
 
353
    dpd_file2_init(&I, EOM_TMP, G_irr, 0, 0, "LR2_OO");
 
354
    dpd_buf4_init(&L2, CC_GL, L_irr, 0, 7, 2, 7, 0, "LIJAB");
 
355
    dpd_buf4_init(&R2, CC_GR, R_irr, 0, 7, 2, 7, 0, "RIJAB");
 
356
    dpd_contract442(&L2, &R2, &I, 0, 0, 1.0, 0.0);
 
357
    dpd_buf4_close(&R2);
 
358
    dpd_buf4_close(&L2);
 
359
    dpd_buf4_init(&L2, CC_GL, L_irr, 0, 5, 0, 5, 0, "LIjAb");
 
360
    dpd_buf4_init(&R2, CC_GR, R_irr, 0, 5, 0, 5, 0, "RIjAb");
 
361
    dpd_contract442(&L2, &R2, &I, 0, 0, 1.0, 1.0);
 
362
    dpd_buf4_close(&R2);
 
363
    dpd_buf4_close(&L2);
 
364
    dpd_file2_close(&I);
 
365
  }
 
366
  else {
 
367
    dpd_file2_init(&I, EOM_TMP, G_irr, 0, 0, "LR2_OO");
 
368
    dpd_buf4_init(&L2, CC_GL, L_irr, 0, 7, 2, 7, 0, "LIJAB");
 
369
    dpd_buf4_init(&R2, CC_GR, R_irr, 0, 7, 2, 7, 0, "RIJAB");
 
370
    dpd_contract442(&L2, &R2, &I, 0, 0, 1.0, 0.0);
 
371
    dpd_buf4_close(&R2);
 
372
    dpd_buf4_close(&L2);
 
373
    dpd_buf4_init(&L2, CC_GL, L_irr, 22, 28, 22, 28, 0, "LIjAb");
 
374
    dpd_buf4_init(&R2, CC_GR, R_irr, 22, 28, 22, 28, 0, "RIjAb");
 
375
    dpd_contract442(&L2, &R2, &I, 0, 0, 1.0, 1.0);
 
376
    dpd_buf4_close(&R2);
 
377
    dpd_buf4_close(&L2);
 
378
    dpd_file2_close(&I);
 
379
  }
 
380
 
 
381
  /* LR2_oo(i,j)  = 0.5 * Limef * Rjmef + LiMeF * RjMeF */
 
382
  if (rohf) {
 
383
    dpd_file2_init(&I, EOM_TMP, G_irr, 0, 0, "LR2_oo");
 
384
    dpd_buf4_init(&L2, CC_GL, L_irr, 0, 7, 2, 7, 0, "Lijab");
 
385
    dpd_buf4_init(&R2, CC_GR, R_irr, 0, 7, 2, 7, 0, "Rijab");
 
386
    dpd_contract442(&L2, &R2, &I, 0, 0, 1.0, 0.0);
 
387
    dpd_buf4_close(&R2);
 
388
    dpd_buf4_close(&L2);
 
389
    dpd_buf4_init(&L2, CC_GL, L_irr, 0, 5, 0, 5, 0, "LiJaB");
 
390
    dpd_buf4_init(&R2, CC_GR, R_irr, 0, 5, 0, 5, 0, "RiJaB");
 
391
    dpd_contract442(&L2, &R2, &I, 0, 0, 1.0, 1.0);
 
392
    dpd_buf4_close(&R2);
 
393
    dpd_buf4_close(&L2);
 
394
    dpd_file2_close(&I);
 
395
  }
 
396
  else {
 
397
    dpd_file2_init(&I, EOM_TMP, G_irr, 2, 2, "LR2_oo");
 
398
    dpd_buf4_init(&L2, CC_GL, L_irr, 10, 17, 12, 17, 0, "Lijab");
 
399
    dpd_buf4_init(&R2, CC_GR, R_irr, 10, 17, 12, 17, 0, "Rijab");
 
400
    dpd_contract442(&L2, &R2, &I, 0, 0, 1.0, 0.0);
 
401
    dpd_buf4_close(&R2);
 
402
    dpd_buf4_close(&L2);
 
403
    dpd_buf4_init(&L2, CC_GL, L_irr, 23, 29, 23, 29, 0, "LiJaB");
 
404
    dpd_buf4_init(&R2, CC_GR, R_irr, 23, 29, 23, 29, 0, "RiJaB");
 
405
    dpd_contract442(&L2, &R2, &I, 0, 0, 1.0, 1.0);
 
406
    dpd_buf4_close(&R2);
 
407
    dpd_buf4_close(&L2);
 
408
    dpd_file2_close(&I);
 
409
  }
 
410
 
 
411
  /* LR2_VV(A,B) = 0.5 * LMNEA * RMNEB + LmNeA * RmNeB */
 
412
  if (rohf) {
 
413
    dpd_file2_init(&I, EOM_TMP, G_irr, 1, 1, "LR2_VV");
 
414
    dpd_buf4_init(&L2, CC_GL, L_irr, 2, 5, 2, 7, 0, "LIJAB");
 
415
    dpd_buf4_init(&R2, CC_GR, R_irr, 2, 5, 2, 7, 0, "RIJAB");
 
416
    dpd_contract442(&L2, &R2, &I, 3, 3, 1.0, 0.0);
 
417
    dpd_buf4_close(&R2);
 
418
    dpd_buf4_close(&L2);
 
419
    dpd_buf4_init(&L2, CC_GL, L_irr, 0, 5, 0, 5, 0, "LiJaB");
 
420
    dpd_buf4_init(&R2, CC_GR, R_irr, 0, 5, 0, 5, 0, "RiJaB");
 
421
    dpd_contract442(&L2, &R2, &I, 3, 3, 1.0, 1.0);
 
422
    dpd_buf4_close(&R2);
 
423
    dpd_buf4_close(&L2);
 
424
    dpd_file2_close(&I);
 
425
  }
 
426
  else {
 
427
    dpd_file2_init(&I, EOM_TMP, G_irr, 1, 1, "LR2_VV");
 
428
    dpd_buf4_init(&L2, CC_GL, L_irr, 2, 5, 2, 7, 0, "LIJAB");
 
429
    dpd_buf4_init(&R2, CC_GR, R_irr, 2, 5, 2, 7, 0, "RIJAB");
 
430
    dpd_contract442(&L2, &R2, &I, 3, 3, 1.0, 0.0);
 
431
    dpd_buf4_close(&R2);
 
432
    dpd_buf4_close(&L2);
 
433
    dpd_buf4_init(&L2, CC_GL, L_irr, 23, 29, 23, 29, 0, "LiJaB");
 
434
    dpd_buf4_init(&R2, CC_GR, R_irr, 23, 29, 23, 29, 0, "RiJaB");
 
435
    dpd_contract442(&L2, &R2, &I, 3, 3, 1.0, 1.0);
 
436
    dpd_buf4_close(&R2);
 
437
    dpd_buf4_close(&L2);
 
438
    dpd_file2_close(&I);
 
439
  }
 
440
 
 
441
  /* LR2_vv(a,b) = 0.5 * Lmnea * Rmneb + LMnEa * RMnEb */
 
442
  if (rohf) {
 
443
    dpd_file2_init(&I, EOM_TMP, G_irr, 1, 1, "LR2_vv");
 
444
    dpd_buf4_init(&L2, CC_GL, L_irr, 2, 5, 2, 7, 0, "Lijab");
 
445
    dpd_buf4_init(&R2, CC_GR, R_irr, 2, 5, 2, 7, 0, "Rijab");
 
446
    dpd_contract442(&L2, &R2, &I, 3, 3, 1.0, 0.0);
 
447
    dpd_buf4_close(&R2);
 
448
    dpd_buf4_close(&L2);
 
449
    dpd_buf4_init(&L2, CC_GL, L_irr, 0, 5, 0, 5, 0, "LIjAb");
 
450
    dpd_buf4_init(&R2, CC_GR, R_irr, 0, 5, 0, 5, 0, "RIjAb");
 
451
    dpd_contract442(&L2, &R2, &I, 3, 3, 1.0, 1.0);
 
452
    dpd_buf4_close(&R2);
 
453
    dpd_buf4_close(&L2);
 
454
    dpd_file2_close(&I);
 
455
  }
 
456
  else {
 
457
    dpd_file2_init(&I, EOM_TMP, G_irr, 3, 3, "LR2_vv");
 
458
    dpd_buf4_init(&L2, CC_GL, L_irr, 12, 15, 12, 17, 0, "Lijab");
 
459
    dpd_buf4_init(&R2, CC_GR, R_irr, 12, 15, 12, 17, 0, "Rijab");
 
460
    dpd_contract442(&L2, &R2, &I, 3, 3, 1.0, 0.0);
 
461
    dpd_buf4_close(&R2);
 
462
    dpd_buf4_close(&L2);
 
463
    dpd_buf4_init(&L2, CC_GL, L_irr, 22, 28, 22, 28, 0, "LIjAb");
 
464
    dpd_buf4_init(&R2, CC_GR, R_irr, 22, 28, 22, 28, 0, "RIjAb");
 
465
    dpd_contract442(&L2, &R2, &I, 3, 3, 1.0, 1.0);
 
466
    dpd_buf4_close(&R2);
 
467
    dpd_buf4_close(&L2);
 
468
    dpd_file2_close(&I);
 
469
  }
 
470
 
 
471
  /* LT2_OO(I,J) = 0.5 * LIMEF * TJMEF + LImEf * TJmEf */
 
472
  if (rohf) {
 
473
    dpd_file2_init(&I, EOM_TMP, L_irr, 0, 0, "LT2_OO");
 
474
    dpd_buf4_init(&L2, CC_GL, L_irr, 0, 7, 2, 7, 0, "LIJAB");
 
475
    dpd_buf4_init(&T2, CC_TAMPS, 0, 0, 7, 2, 7, 0, "tIJAB");
 
476
    dpd_contract442(&L2, &T2, &I, 0, 0, 1.0, 0.0);
 
477
    dpd_buf4_close(&T2);
 
478
    dpd_buf4_close(&L2);
 
479
    dpd_buf4_init(&L2, CC_GL, L_irr, 0, 5, 0, 5, 0, "LIjAb");
 
480
    dpd_buf4_init(&T2, CC_TAMPS, 0, 0, 5, 0, 5, 0, "tIjAb");
 
481
    dpd_contract442(&L2, &T2, &I, 0, 0, 1.0, 1.0);
 
482
    dpd_buf4_close(&T2);
 
483
    dpd_buf4_close(&L2);
 
484
    dpd_file2_close(&I);
 
485
  }
 
486
  else {
 
487
    dpd_file2_init(&I, EOM_TMP, L_irr, 0, 0, "LT2_OO");
 
488
    dpd_buf4_init(&L2, CC_GL, L_irr, 0, 7, 2, 7, 0, "LIJAB");
 
489
    dpd_buf4_init(&T2, CC_TAMPS, 0, 0, 7, 2, 7, 0, "tIJAB");
 
490
    dpd_contract442(&L2, &T2, &I, 0, 0, 1.0, 0.0);
 
491
    dpd_buf4_close(&T2);
 
492
    dpd_buf4_close(&L2);
 
493
    dpd_buf4_init(&L2, CC_GL, L_irr, 22, 28, 22, 28, 0, "LIjAb");
 
494
    dpd_buf4_init(&T2, CC_TAMPS, 0, 22, 28, 22, 28, 0, "tIjAb");
 
495
    dpd_contract442(&L2, &T2, &I, 0, 0, 1.0, 1.0);
 
496
    dpd_buf4_close(&T2);
 
497
    dpd_buf4_close(&L2);
 
498
    dpd_file2_close(&I);
 
499
  }
 
500
  
 
501
  /* LT2_oo(i,j) = 0.5 * Limef * Tjmef + LiMeF * TjMeF */
 
502
  if (rohf) {
 
503
    dpd_file2_init(&I, EOM_TMP, L_irr, 0, 0, "LT2_oo");
 
504
    dpd_buf4_init(&L2, CC_GL, L_irr, 0, 7, 2, 7, 0, "Lijab");
 
505
    dpd_buf4_init(&T2, CC_TAMPS, 0, 0, 7, 2, 7, 0, "tijab");
 
506
    dpd_contract442(&L2, &T2, &I, 0, 0, 1.0, 0.0);
 
507
    dpd_buf4_close(&T2);
 
508
    dpd_buf4_close(&L2);
 
509
    dpd_buf4_init(&L2, CC_GL, L_irr, 0, 5, 0, 5, 0, "LiJaB");
 
510
    dpd_buf4_init(&T2, CC_TAMPS, 0, 0, 5, 0, 5, 0, "tiJaB");
 
511
    dpd_contract442(&L2, &T2, &I, 0, 0, 1.0, 1.0);
 
512
    dpd_buf4_close(&T2);
 
513
    dpd_buf4_close(&L2);
 
514
    dpd_file2_close(&I);
 
515
  }
 
516
  else {
 
517
    dpd_file2_init(&I, EOM_TMP, L_irr, 2, 2, "LT2_oo");
 
518
    dpd_buf4_init(&L2, CC_GL, L_irr, 10, 17, 12, 17, 0, "Lijab");
 
519
    dpd_buf4_init(&T2, CC_TAMPS, 0, 10, 17, 12, 17, 0, "tijab");
 
520
    dpd_contract442(&L2, &T2, &I, 0, 0, 1.0, 0.0);
 
521
    dpd_buf4_close(&T2);
 
522
    dpd_buf4_close(&L2);
 
523
    dpd_buf4_init(&L2, CC_GL, L_irr, 23, 29, 23, 29, 0, "LiJaB");
 
524
    dpd_buf4_init(&T2, CC_TAMPS, 0, 23, 29, 23, 29, 0, "tiJaB");
 
525
    dpd_contract442(&L2, &T2, &I, 0, 0, 1.0, 1.0);
 
526
    dpd_buf4_close(&T2);
 
527
    dpd_buf4_close(&L2);
 
528
    dpd_file2_close(&I);
 
529
  }
 
530
 
 
531
  /* LT2_VV(A,B) = 0.5 * LMNEA * TMNEB + LmNeA * TmNeB */
 
532
  if (rohf) {
 
533
    dpd_file2_init(&I, EOM_TMP, L_irr, 1, 1, "LT2_VV");
 
534
    dpd_buf4_init(&L2, CC_GL, L_irr, 2, 5, 2, 7, 0, "LIJAB");
 
535
    dpd_buf4_init(&T2, CC_TAMPS, 0, 2, 5, 2, 7, 0, "tIJAB");
 
536
    dpd_contract442(&L2, &T2, &I, 3, 3, 1.0, 0.0);
 
537
    dpd_buf4_close(&T2);
 
538
    dpd_buf4_close(&L2);
 
539
    dpd_buf4_init(&L2, CC_GL, L_irr, 0, 5, 0, 5, 0, "LiJaB");
 
540
    dpd_buf4_init(&T2, CC_TAMPS, 0, 0, 5, 0, 5, 0, "tiJaB");
 
541
    dpd_contract442(&L2, &T2, &I, 3, 3, 1.0, 1.0);
 
542
    dpd_buf4_close(&T2);
 
543
    dpd_buf4_close(&L2);
 
544
    dpd_file2_close(&I);
 
545
  }
 
546
  else {
 
547
    dpd_file2_init(&I, EOM_TMP, L_irr, 1, 1, "LT2_VV");
 
548
    dpd_buf4_init(&L2, CC_GL, L_irr, 2, 5, 2, 7, 0, "LIJAB");
 
549
    dpd_buf4_init(&T2, CC_TAMPS, 0, 2, 5, 2, 7, 0, "tIJAB");
 
550
    dpd_contract442(&L2, &T2, &I, 3, 3, 1.0, 0.0);
 
551
    dpd_buf4_close(&T2);
 
552
    dpd_buf4_close(&L2);
 
553
    dpd_buf4_init(&L2, CC_GL, L_irr, 23, 29, 23, 29, 0, "LiJaB");
 
554
    dpd_buf4_init(&T2, CC_TAMPS, 0, 23, 29, 23, 29, 0, "tiJaB");
 
555
    dpd_contract442(&L2, &T2, &I, 3, 3, 1.0, 1.0);
 
556
    dpd_buf4_close(&T2);
 
557
    dpd_buf4_close(&L2);
 
558
    dpd_file2_close(&I);
 
559
  }
 
560
 
 
561
  /* LT2_vv(a,b) = 0.5 * Lmnea * Tmneb + LMnEa * TMnEb */
 
562
  if (rohf) {
 
563
    dpd_file2_init(&I, EOM_TMP, L_irr, 1, 1, "LT2_vv");
 
564
    dpd_buf4_init(&L2, CC_GL, L_irr, 2, 5, 2, 7, 0, "Lijab");
 
565
    dpd_buf4_init(&T2, CC_TAMPS, 0, 2, 5, 2, 7, 0, "tijab");
 
566
    dpd_contract442(&L2, &T2, &I, 3, 3, 1.0, 0.0);
 
567
    dpd_buf4_close(&T2);
 
568
    dpd_buf4_close(&L2);
 
569
    dpd_buf4_init(&L2, CC_GL, L_irr, 0, 5, 0, 5, 0, "LIjAb");
 
570
    dpd_buf4_init(&T2, CC_TAMPS, 0, 0, 5, 0, 5, 0, "tIjAb");
 
571
    dpd_contract442(&L2, &T2, &I, 3, 3, 1.0, 1.0);
 
572
    dpd_buf4_close(&T2);
 
573
    dpd_buf4_close(&L2);
 
574
    dpd_file2_close(&I);
 
575
  }
 
576
  else {
 
577
    dpd_file2_init(&I, EOM_TMP, L_irr, 3, 3, "LT2_vv");
 
578
    dpd_buf4_init(&L2, CC_GL, L_irr, 12, 15, 12, 17, 0, "Lijab");
 
579
    dpd_buf4_init(&T2, CC_TAMPS, 0, 12, 15, 12, 17, 0, "tijab");
 
580
    dpd_contract442(&L2, &T2, &I, 3, 3, 1.0, 0.0);
 
581
    dpd_buf4_close(&T2);
 
582
    dpd_buf4_close(&L2);
 
583
    dpd_buf4_init(&L2, CC_GL, L_irr, 22, 28, 22, 28, 0, "LIjAb");
 
584
    dpd_buf4_init(&T2, CC_TAMPS, 0, 22, 28, 22, 28, 0, "tIjAb");
 
585
    dpd_contract442(&L2, &T2, &I, 3, 3, 1.0, 1.0);
 
586
    dpd_buf4_close(&T2);
 
587
    dpd_buf4_close(&L2);
 
588
    dpd_file2_close(&I);
 
589
  }
 
590
 
 
591
/* LR_OO = LR1_OO + LR2_OO */
 
592
/* LR_oo = LR1_oo + LR2_oo */
 
593
/* LR_VV = LR1_VV + LR2_VV */
 
594
/* LR_vv = LR1_vv + LR2_vv */
 
595
  dpd_file2_init(&I, EOM_TMP, G_irr, 0, 0, "LR_OO");
 
596
  dpd_file2_init(&LR1, EOM_TMP, G_irr, 0, 0, "LR1_OO");
 
597
  dpd_file2_init(&LR2, EOM_TMP, G_irr, 0, 0, "LR2_OO");
 
598
  dpd_file2_axpbycz(&LR1, &LR2, &I, 1.0, 1.0, 0.0);
 
599
  dpd_file2_close(&LR2);
 
600
  dpd_file2_close(&LR1);
 
601
  dpd_file2_close(&I);
 
602
 
 
603
  if (rohf) {
 
604
    dpd_file2_init(&I, EOM_TMP, G_irr, 0, 0, "LR_oo");
 
605
    dpd_file2_init(&LR1, EOM_TMP, G_irr, 0, 0, "LR1_oo");
 
606
    dpd_file2_init(&LR2, EOM_TMP, G_irr, 0, 0, "LR2_oo");
 
607
    dpd_file2_axpbycz(&LR1, &LR2, &I, 1.0, 1.0, 0.0);
 
608
    dpd_file2_close(&LR2);
 
609
    dpd_file2_close(&LR1);
 
610
    dpd_file2_close(&I);
 
611
  }
 
612
  else {
 
613
    dpd_file2_init(&I, EOM_TMP, G_irr, 2, 2, "LR_oo");
 
614
    dpd_file2_init(&LR1, EOM_TMP, G_irr, 2, 2, "LR1_oo");
 
615
    dpd_file2_init(&LR2, EOM_TMP, G_irr, 2, 2, "LR2_oo");
 
616
    dpd_file2_axpbycz(&LR1, &LR2, &I, 1.0, 1.0, 0.0);
 
617
    dpd_file2_close(&LR2);
 
618
    dpd_file2_close(&LR1);
 
619
    dpd_file2_close(&I);
 
620
  }
 
621
 
 
622
  dpd_file2_init(&I, EOM_TMP, G_irr, 1, 1, "LR_VV");
 
623
  dpd_file2_init(&LR1, EOM_TMP, G_irr, 1, 1, "LR1_VV");
 
624
  dpd_file2_init(&LR2, EOM_TMP, G_irr, 1, 1, "LR2_VV");
 
625
  dpd_file2_axpbycz(&LR1, &LR2, &I, 1.0, 1.0, 0.0);
 
626
  dpd_file2_close(&LR2);
 
627
  dpd_file2_close(&LR1);
 
628
  dpd_file2_close(&I);
 
629
 
 
630
  if (rohf) {
 
631
    dpd_file2_init(&I, EOM_TMP, G_irr, 1, 1, "LR_vv");
 
632
    dpd_file2_init(&LR1, EOM_TMP, G_irr, 1, 1, "LR1_vv");
 
633
    dpd_file2_init(&LR2, EOM_TMP, G_irr, 1, 1, "LR2_vv");
 
634
    dpd_file2_axpbycz(&LR1, &LR2, &I, 1.0, 1.0, 0.0);
 
635
    dpd_file2_close(&LR2);
 
636
    dpd_file2_close(&LR1);
 
637
    dpd_file2_close(&I);
 
638
  }
 
639
  else {
 
640
    dpd_file2_init(&I, EOM_TMP, G_irr, 3, 3, "LR_vv");
 
641
    dpd_file2_init(&LR1, EOM_TMP, G_irr, 3, 3, "LR1_vv");
 
642
    dpd_file2_init(&LR2, EOM_TMP, G_irr, 3, 3, "LR2_vv");
 
643
    dpd_file2_axpbycz(&LR1, &LR2, &I, 1.0, 1.0, 0.0);
 
644
    dpd_file2_close(&LR2);
 
645
    dpd_file2_close(&LR1);
 
646
    dpd_file2_close(&I);
 
647
  }
 
648
 
 
649
/* LT_OO = LT1_OO + LT2_OO */
 
650
/* LT_oo = LT1_oo + LT2_oo */
 
651
  dpd_file2_init(&I, EOM_TMP, L_irr, 0, 0, "LT_OO");
 
652
  dpd_file2_init(&LT1, EOM_TMP, L_irr, 0, 0, "LT1_OO");
 
653
  dpd_file2_init(&LT2, EOM_TMP, L_irr, 0, 0, "LT2_OO");
 
654
  dpd_file2_axpbycz(&LT1, &LT2, &I, 1.0, 1.0, 0.0);
 
655
  dpd_file2_close(&LT2);
 
656
  dpd_file2_close(&LT1);
 
657
  dpd_file2_close(&I);
 
658
 
 
659
  if (rohf) {
 
660
    dpd_file2_init(&I, EOM_TMP, L_irr, 0, 0, "LT_oo");
 
661
    dpd_file2_init(&LT1, EOM_TMP, L_irr, 0, 0, "LT1_oo");
 
662
    dpd_file2_init(&LT2, EOM_TMP, L_irr, 0, 0, "LT2_oo");
 
663
    dpd_file2_axpbycz(&LT1, &LT2, &I, 1.0, 1.0, 0.0);
 
664
    dpd_file2_close(&LT2);
 
665
    dpd_file2_close(&LT1);
 
666
    dpd_file2_close(&I);
 
667
  }
 
668
  else {
 
669
    dpd_file2_init(&I, EOM_TMP, L_irr, 2, 2, "LT_oo");
 
670
    dpd_file2_init(&LT1, EOM_TMP, L_irr, 2, 2, "LT1_oo");
 
671
    dpd_file2_init(&LT2, EOM_TMP, L_irr, 2, 2, "LT2_oo");
 
672
    dpd_file2_axpbycz(&LT1, &LT2, &I, 1.0, 1.0, 0.0);
 
673
    dpd_file2_close(&LT2);
 
674
    dpd_file2_close(&LT1);
 
675
    dpd_file2_close(&I);
 
676
  }
 
677
 
 
678
/* LT_VV = LT1_VV + LT2_VV */
 
679
/* LT_vv = LT1_vv + LT2_vv */
 
680
  dpd_file2_init(&I, EOM_TMP, L_irr, 1, 1, "LT_VV");
 
681
  dpd_file2_init(&LT1, EOM_TMP, L_irr, 1, 1, "LT1_VV");
 
682
  dpd_file2_init(&LT2, EOM_TMP, L_irr, 1, 1, "LT2_VV");
 
683
  dpd_file2_axpbycz(&LT1, &LT2, &I, 1.0, 1.0, 0.0);
 
684
  dpd_file2_close(&LT2);
 
685
  dpd_file2_close(&LT1);
 
686
  dpd_file2_close(&I);
 
687
 
 
688
  if (rohf) {
 
689
    dpd_file2_init(&I, EOM_TMP, L_irr, 1, 1, "LT_vv");
 
690
    dpd_file2_init(&LT1, EOM_TMP, L_irr, 1, 1, "LT1_vv");
 
691
    dpd_file2_init(&LT2, EOM_TMP, L_irr, 1, 1, "LT2_vv");
 
692
    dpd_file2_axpbycz(&LT1, &LT2, &I, 1.0, 1.0, 0.0);
 
693
    dpd_file2_close(&LT2);
 
694
    dpd_file2_close(&LT1);
 
695
    dpd_file2_close(&I);
 
696
  }
 
697
  else {
 
698
    dpd_file2_init(&I, EOM_TMP, L_irr, 3, 3, "LT_vv");
 
699
    dpd_file2_init(&LT1, EOM_TMP, L_irr, 3, 3, "LT1_vv");
 
700
    dpd_file2_init(&LT2, EOM_TMP, L_irr, 3, 3, "LT2_vv");
 
701
    dpd_file2_axpbycz(&LT1, &LT2, &I, 1.0, 1.0, 0.0);
 
702
    dpd_file2_close(&LT2);
 
703
    dpd_file2_close(&LT1);
 
704
    dpd_file2_close(&I);
 
705
  }
 
706
 
 
707
  return;
 
708
}