~ubuntu-branches/ubuntu/quantal/psicode/quantal

« back to all changes in this revision

Viewing changes to src/bin/ccdensity/x_Gibja.cc

  • 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
/*! \file
 
2
    \ingroup CCDENSITY
 
3
    \brief Enter brief description of file here 
 
4
*/
 
5
#include <cstdio>
 
6
#include <libdpd/dpd.h>
 
7
#include "MOInfo.h"
 
8
#include "Params.h"
 
9
#include "Frozen.h"
 
10
#define EXTERN
 
11
#include "globals.h"
 
12
 
 
13
namespace psi { namespace ccdensity {
 
14
 
 
15
void x_Gibja_rohf(void);
 
16
extern void x_Gibja_uhf(void);
 
17
 
 
18
void x_Gibja(void) {
 
19
  if (params.ref == 0 || params.ref == 1)
 
20
    x_Gibja_rohf();
 
21
  else
 
22
    x_Gibja_uhf();
 
23
  return;
 
24
}
 
25
 
 
26
/* x_Gibja(): computes non-R0 parts of Gibja 2pdm
 
27
   really Dajib = Djabi, then * -1 to get Djaib
 
28
   and arranged as G(ia,jb) until final sort
 
29
*/
 
30
 
 
31
void x_Gibja_rohf(void)
 
32
{
 
33
  int h, nirreps, row, col, L_irr, R_irr, G_irr;
 
34
  int i, j, a, b, I, J, A, B, Isym, Jsym, Asym, Bsym;
 
35
  dpdfile2 L1, T1A, T1B, L1A, L1B, R1A, R1B, I1A, I1B;
 
36
  dpdbuf4 I2, L2, R2, T2, Z, Z1, V2, G, GIBJA, Gibja, GIbJa, GiBjA, GIbjA, GiBJa;
 
37
  double value;
 
38
  L_irr = params.L_irr;
 
39
  R_irr = params.R_irr;
 
40
  G_irr = params.G_irr;
 
41
  nirreps = moinfo.nirreps;
 
42
 
 
43
  /* Gajib = lia rjb + limae (rjmbe - rmb tje - rje tmb + rme tjb) */
 
44
 
 
45
  /* term 3  Gibja += L(im,ae) R(jm,be) */
 
46
  dpd_buf4_init(&V2, EOM_TMP, G_irr, 10, 10, 10, 10, 0, "R2L2_OVOV");
 
47
  dpd_buf4_sort(&V2, EOM_TMP0, rspq, 10, 10, "GIAJB");
 
48
  dpd_buf4_close(&V2);
 
49
  dpd_buf4_init(&V2, EOM_TMP, G_irr, 10, 10, 10, 10, 0, "R2L2_ovov");
 
50
  dpd_buf4_sort(&V2, EOM_TMP0, rspq, 10, 10, "Giajb");
 
51
  dpd_buf4_close(&V2);
 
52
  dpd_buf4_init(&V2, EOM_TMP, G_irr, 10, 10, 10, 10, 0, "R2L2_OvOv");
 
53
  dpd_buf4_sort(&V2, EOM_TMP0, rspq, 10, 10, "GIaJb");
 
54
  dpd_buf4_close(&V2);
 
55
  dpd_buf4_init(&V2, EOM_TMP, G_irr, 10, 10, 10, 10, 0, "R2L2_oVoV");
 
56
  dpd_buf4_sort(&V2, EOM_TMP0, rspq, 10, 10, "GiAjB");
 
57
  dpd_buf4_close(&V2);
 
58
  dpd_buf4_init(&V2, EOM_TMP, G_irr, 10, 10, 10, 10, 0, "R2L2_ovOV");
 
59
  dpd_buf4_sort(&V2, EOM_TMP0, rspq, 10, 10, "GIAjb");
 
60
  dpd_buf4_close(&V2);
 
61
  dpd_buf4_init(&V2, EOM_TMP, G_irr, 10, 10, 10, 10, 0, "R2L2_OVov");
 
62
  dpd_buf4_sort(&V2, EOM_TMP0, rspq, 10, 10, "GiaJB");
 
63
  dpd_buf4_close(&V2);
 
64
 
 
65
  /* term 4, G(IA,JB) <-- - L(IM,AE) T(J,E) R(M,B) */
 
66
  dpd_buf4_init(&Z, EOM_TMP1, L_irr, 0, 11, 0, 11, 0, "Z(IM,AJ)");
 
67
  dpd_buf4_init(&L2, CC_GL, L_irr, 0, 5, 2, 7, 0, "LIJAB");
 
68
  dpd_file2_init(&T1A, CC_OEI, 0, 0, 1, "tIA");
 
69
  dpd_contract424(&L2, &T1A, &Z, 3, 1, 0, 1.0, 0.0);
 
70
  dpd_file2_close(&T1A);
 
71
  dpd_buf4_close(&L2);
 
72
  dpd_buf4_init(&Z1, EOM_TMP1, G_irr, 10, 11, 10, 11, 0, "Z(IB,AJ)");
 
73
  dpd_file2_init(&R1A, CC_GR, R_irr, 0, 1, "RIA");
 
74
  dpd_contract424(&Z, &R1A, &Z1, 1, 0, 1, 1.0, 0.0);
 
75
  dpd_file2_close(&R1A);
 
76
  dpd_buf4_close(&Z);
 
77
  dpd_buf4_sort(&Z1, EOM_TMP1, prqs, 10, 11, "Z(IA,BJ)");
 
78
  dpd_buf4_close(&Z1);
 
79
  dpd_buf4_init(&Z1, EOM_TMP1, G_irr, 10, 11, 10, 11, 0, "Z(IA,BJ)");
 
80
  dpd_buf4_sort(&Z1, EOM_TMP1, pqsr, 10, 10, "Z(IA,JB)");
 
81
  dpd_buf4_close(&Z1);
 
82
  dpd_buf4_init(&Z1, EOM_TMP1, G_irr, 10, 10, 10, 10, 0, "Z(IA,JB)");
 
83
  dpd_buf4_init(&G, EOM_TMP0, G_irr, 10, 10, 10, 10, 0, "GIAJB");
 
84
  dpd_buf4_axpy(&Z1, &G, -1.0);
 
85
  dpd_buf4_close(&Z1);
 
86
  dpd_buf4_close(&G);
 
87
 
 
88
  /* term 4, G(ia,jb) <-- - L(im,ae) T(j,e) R(m,b) */
 
89
  dpd_buf4_init(&Z, EOM_TMP1, L_irr, 0, 11, 0, 11, 0, "Z(im,aj)");
 
90
  dpd_buf4_init(&L2, CC_GL, L_irr, 0, 5, 2, 7, 0, "Lijab");
 
91
  dpd_file2_init(&T1B, CC_OEI, 0, 0, 1, "tia");
 
92
  dpd_contract424(&L2, &T1B, &Z, 3, 1, 0, 1.0, 0.0);
 
93
  dpd_file2_close(&T1B);
 
94
  dpd_buf4_close(&L2);
 
95
  dpd_buf4_init(&Z1, EOM_TMP1, G_irr, 10, 11, 10, 11, 0, "Z(ib,aj)");
 
96
  dpd_file2_init(&R1B, CC_GR, R_irr, 0, 1, "Ria");
 
97
  dpd_contract424(&Z, &R1B, &Z1, 1, 0, 1, 1.0, 0.0);
 
98
  dpd_file2_close(&R1B);
 
99
  dpd_buf4_close(&Z);
 
100
  dpd_buf4_sort(&Z1, EOM_TMP1, prqs, 10, 11, "Z(ia,bj)");
 
101
  dpd_buf4_close(&Z1);
 
102
  dpd_buf4_init(&Z1, EOM_TMP1, G_irr, 10, 11, 10, 11, 0, "Z(ia,bj)");
 
103
  dpd_buf4_sort(&Z1, EOM_TMP1, pqsr, 10, 10, "Z(ia,jb)");
 
104
  dpd_buf4_close(&Z1);
 
105
  dpd_buf4_init(&Z1, EOM_TMP1, G_irr, 10, 10, 10, 10, 0, "Z(ia,jb)");
 
106
  dpd_buf4_init(&G, EOM_TMP0, G_irr, 10, 10, 10, 10, 0, "Giajb");
 
107
  dpd_buf4_axpy(&Z1, &G, -1.0);
 
108
  dpd_buf4_close(&Z1);
 
109
  dpd_buf4_close(&G);
 
110
 
 
111
  /* term 4, G(Ia,Jb) <-- - L(Im,aE) T(J,E) R(m,b) */
 
112
  dpd_buf4_init(&Z, EOM_TMP1, L_irr, 0, 11, 0, 11, 0, "Z(Im,aJ)");
 
113
  dpd_buf4_init(&L2, CC_GL, L_irr, 0, 5, 0, 5, 0, "LIjaB");
 
114
  dpd_file2_init(&T1A, CC_OEI, 0, 0, 1, "tIA");
 
115
  dpd_contract424(&L2, &T1A, &Z, 3, 1, 0, 1.0, 0.0);
 
116
  dpd_file2_close(&T1A);
 
117
  dpd_buf4_close(&L2);
 
118
  dpd_buf4_init(&Z1, EOM_TMP1, G_irr, 10, 11, 10, 11, 0, "Z(Ib,aJ)");
 
119
  dpd_file2_init(&R1B, CC_GR, R_irr, 0, 1, "Ria");
 
120
  dpd_contract424(&Z, &R1B, &Z1, 1, 0, 1, 1.0, 0.0);
 
121
  dpd_file2_close(&R1B);
 
122
  dpd_buf4_close(&Z);
 
123
  dpd_buf4_sort(&Z1, EOM_TMP1, prqs, 10, 11, "Z(Ia,bJ)");
 
124
  dpd_buf4_close(&Z1);
 
125
  dpd_buf4_init(&Z1, EOM_TMP1, G_irr, 10, 11, 10, 11, 0, "Z(Ia,bJ)");
 
126
  dpd_buf4_sort(&Z1, EOM_TMP1, pqsr, 10, 10, "Z(Ia,Jb)");
 
127
  dpd_buf4_close(&Z1);
 
128
  dpd_buf4_init(&Z1, EOM_TMP1, G_irr, 10, 10, 10, 10, 0, "Z(Ia,Jb)");
 
129
  dpd_buf4_init(&G, EOM_TMP0, G_irr, 10, 10, 10, 10, 0, "GIaJb");
 
130
  dpd_buf4_axpy(&Z1, &G, 1.0);
 
131
  dpd_buf4_close(&Z1);
 
132
  dpd_buf4_close(&G);
 
133
 
 
134
  /* term 4, G(iA,jB) <-- - L(iM,Ae) T(j,e) R(M,B) */
 
135
  dpd_buf4_init(&Z, EOM_TMP1, L_irr, 0, 11, 0, 11, 0, "Z(iM,Aj)");
 
136
  dpd_buf4_init(&L2, CC_GL, L_irr, 0, 5, 0, 5, 0, "LiJAb");
 
137
  dpd_file2_init(&T1A, CC_OEI, 0, 0, 1, "tia");
 
138
  dpd_contract424(&L2, &T1A, &Z, 3, 1, 0, 1.0, 0.0);
 
139
  dpd_file2_close(&T1A);
 
140
  dpd_buf4_close(&L2);
 
141
  dpd_buf4_init(&Z1, EOM_TMP1, G_irr, 10, 11, 10, 11, 0, "Z(iB,Aj)");
 
142
  dpd_file2_init(&R1A, CC_GR, R_irr, 0, 1, "RIA");
 
143
  dpd_contract424(&Z, &R1A, &Z1, 1, 0, 1, 1.0, 0.0);
 
144
  dpd_file2_close(&R1A);
 
145
  dpd_buf4_close(&Z);
 
146
  dpd_buf4_sort(&Z1, EOM_TMP1, prqs, 10, 11, "Z(iA,Bj)");
 
147
  dpd_buf4_close(&Z1);
 
148
  dpd_buf4_init(&Z1, EOM_TMP1, G_irr, 10, 11, 10, 11, 0, "Z(iA,Bj)");
 
149
  dpd_buf4_sort(&Z1, EOM_TMP1, pqsr, 10, 10, "Z(iA,jB)");
 
150
  dpd_buf4_close(&Z1);
 
151
  dpd_buf4_init(&Z1, EOM_TMP1, G_irr, 10, 10, 10, 10, 0, "Z(iA,jB)");
 
152
  dpd_buf4_init(&G, EOM_TMP0, G_irr, 10, 10, 10, 10, 0, "GiAjB");
 
153
  dpd_buf4_axpy(&Z1, &G, 1.0);
 
154
  dpd_buf4_close(&Z1);
 
155
  dpd_buf4_close(&G);
 
156
 
 
157
  /* term 4, G(IA,jb) <-- - L2(Im,Ae) T(j,e) R(m,b) */
 
158
  dpd_buf4_init(&Z, EOM_TMP1, L_irr, 0, 11, 0, 11, 0, "Z(Im,Aj)");
 
159
  dpd_buf4_init(&L2, CC_GL, L_irr, 0, 5, 0, 5, 0, "LIjAb");
 
160
  dpd_file2_init(&T1B, CC_OEI, 0, 0, 1, "tia");
 
161
  dpd_contract424(&L2, &T1B, &Z, 3, 1, 0, 1.0, 0.0);
 
162
  dpd_buf4_close(&L2);
 
163
  dpd_file2_close(&T1B);
 
164
  dpd_file2_init(&R1B, CC_GR, R_irr, 0, 1, "Ria");
 
165
  dpd_buf4_init(&Z1, EOM_TMP1, G_irr, 10, 11, 10, 11, 0, "Z(Ib,Aj)");
 
166
  dpd_contract424(&Z, &R1B, &Z1, 1, 0, 1, 1.0, 0.0);
 
167
  dpd_buf4_close(&Z);
 
168
  dpd_file2_close(&R1B);
 
169
  dpd_buf4_sort(&Z1, EOM_TMP1, prqs, 10, 11, "Z(IA,bj)");
 
170
  dpd_buf4_close(&Z1);
 
171
  dpd_buf4_init(&Z1, EOM_TMP1, G_irr, 10, 11, 10, 11, 0, "Z(IA,bj)");
 
172
  dpd_buf4_sort(&Z1, EOM_TMP1, pqsr, 10, 10, "Z(IA,jb)");
 
173
  dpd_buf4_close(&Z1);
 
174
  dpd_buf4_init(&Z1, EOM_TMP1, G_irr, 10, 10, 10, 10, 0, "Z(IA,jb)");
 
175
  dpd_buf4_init(&G, EOM_TMP0, 0, 10, 10, 10, 10, 0, "GIAjb");
 
176
  dpd_buf4_axpy(&Z1, &G, -1.0);
 
177
  dpd_buf4_close(&Z1);
 
178
  dpd_buf4_close(&G);
 
179
 
 
180
  /* term 4, G(ia,JB) <-- - L(iM,aE) T(J,E) R(M,B) */
 
181
  dpd_buf4_init(&Z, EOM_TMP1, L_irr, 0, 11, 0, 11, 0, "Z(iM,aJ)");
 
182
  dpd_buf4_init(&L2, CC_GL, L_irr, 0, 5, 0, 5, 0, "LiJaB");
 
183
  dpd_file2_init(&T1A, CC_OEI, 0, 0, 1, "tIA");
 
184
  dpd_contract424(&L2, &T1A, &Z, 3, 1, 0, 1.0, 0.0);
 
185
  dpd_buf4_close(&L2);
 
186
  dpd_file2_close(&T1A);
 
187
  dpd_file2_init(&R1A, CC_GR, R_irr, 0, 1, "RIA");
 
188
  dpd_buf4_init(&Z1, EOM_TMP1, G_irr, 10, 11, 10, 11, 0, "Z(iB,aJ)");
 
189
  dpd_contract424(&Z, &R1A, &Z1, 1, 0, 1, 1.0, 0.0);
 
190
  dpd_buf4_close(&Z);
 
191
  dpd_file2_close(&R1A);
 
192
  dpd_buf4_sort(&Z1, EOM_TMP1, prqs, 10, 11, "Z(ia,BJ)");
 
193
  dpd_buf4_close(&Z1);
 
194
  dpd_buf4_init(&Z1, EOM_TMP1, G_irr, 10, 11, 10, 11, 0, "Z(ia,BJ)");
 
195
  dpd_buf4_sort(&Z1, EOM_TMP1, pqsr, 10, 10, "Z(ia,JB)");
 
196
  dpd_buf4_close(&Z1);
 
197
  dpd_buf4_init(&Z1, EOM_TMP1, G_irr, 10, 10, 10, 10, 0, "Z(ia,JB)");
 
198
  dpd_buf4_init(&G, EOM_TMP0, G_irr, 10, 10, 10, 10, 0, "GiaJB");
 
199
  dpd_buf4_axpy(&Z1, &G, -1.0);
 
200
  dpd_buf4_close(&Z1);
 
201
  dpd_buf4_close(&G);
 
202
 
 
203
  psio_close(EOM_TMP1, 0);
 
204
  psio_open(EOM_TMP1,PSIO_OPEN_NEW);
 
205
 
 
206
  /* term 5, G(IA,JB) <-- - (L(IM,AE)*R(J,E)) * T(M,B) */
 
207
  dpd_buf4_init(&Z, EOM_TMP, G_irr, 0, 11, 2, 11, 0, "L2R1_OOVO");
 
208
  dpd_buf4_init(&Z1, EOM_TMP1, G_irr, 10, 11, 10, 11, 0, "Z(IB,AJ)");
 
209
  dpd_file2_init(&T1A, CC_OEI, 0, 0, 1, "tIA");
 
210
  dpd_contract424(&Z, &T1A, &Z1, 1, 0, 1, 1.0, 0.0);
 
211
  dpd_file2_close(&T1A);
 
212
  dpd_buf4_close(&Z);
 
213
  dpd_buf4_sort(&Z1, EOM_TMP1, prqs, 10, 11, "Z(IA,BJ)");
 
214
  dpd_buf4_close(&Z1);
 
215
  dpd_buf4_init(&Z1, EOM_TMP1, G_irr, 10, 11, 10, 11, 0, "Z(IA,BJ)");
 
216
  dpd_buf4_sort(&Z1, EOM_TMP1, pqsr, 10, 10, "Z(IA,JB)");
 
217
  dpd_buf4_close(&Z1);
 
218
  dpd_buf4_init(&Z1, EOM_TMP1, G_irr, 10, 10, 10, 10, 0, "Z(IA,JB)");
 
219
  dpd_buf4_init(&G, EOM_TMP0, G_irr, 10, 10, 10, 10, 0, "GIAJB");
 
220
  dpd_buf4_axpy(&Z1, &G, -1.0);
 
221
  dpd_buf4_close(&Z1);
 
222
  dpd_buf4_close(&G);
 
223
 
 
224
  /* term 5, G(ia,jb) <-- - (L(im,ae)*R(j,e)) * T(m,b) */
 
225
  dpd_buf4_init(&Z, EOM_TMP, G_irr, 0, 11, 2, 11, 0, "L2R1_oovo");
 
226
  dpd_buf4_init(&Z1, EOM_TMP1, G_irr, 10, 11, 10, 11, 0, "Z(ib,aj)");
 
227
  dpd_file2_init(&T1B, CC_OEI, 0, 0, 1, "tia");
 
228
  dpd_contract424(&Z, &T1B, &Z1, 1, 0, 1, 1.0, 0.0);
 
229
  dpd_file2_close(&T1B);
 
230
  dpd_buf4_close(&Z);
 
231
  dpd_buf4_sort(&Z1, EOM_TMP1, prqs, 10, 11, "Z(ia,bj)");
 
232
  dpd_buf4_close(&Z1);
 
233
  dpd_buf4_init(&Z1, EOM_TMP1, G_irr, 10, 11, 10, 11, 0, "Z(ia,bj)");
 
234
  dpd_buf4_sort(&Z1, EOM_TMP1, pqsr, 10, 10, "Z(ia,jb)");
 
235
  dpd_buf4_close(&Z1);
 
236
  dpd_buf4_init(&Z1, EOM_TMP1, G_irr, 10, 10, 10, 10, 0, "Z(ia,jb)");
 
237
  dpd_buf4_init(&G, EOM_TMP0, G_irr, 10, 10, 10, 10, 0, "Giajb");
 
238
  dpd_buf4_axpy(&Z1, &G, -1.0);
 
239
  dpd_buf4_close(&Z1);
 
240
  dpd_buf4_close(&G);
 
241
 
 
242
  /* term 5, G(Ia,Jb) <-- - (L2(Im,Ea)*R(J,E)) * T(m,b) */
 
243
  dpd_buf4_init(&Z, EOM_TMP, G_irr, 0, 11, 0, 11, 0, "L2R1_OovO");
 
244
  dpd_buf4_init(&Z1, EOM_TMP1, G_irr, 10, 11, 10, 11, 0, "Z(Ib,aJ)");
 
245
  dpd_file2_init(&T1B, CC_OEI, 0, 0, 1, "tia");
 
246
  dpd_contract424(&Z, &T1B, &Z1, 1, 0, 1, 1.0, 0.0);
 
247
  dpd_file2_close(&T1B);
 
248
  dpd_buf4_close(&Z);
 
249
  dpd_buf4_sort(&Z1, EOM_TMP1, prqs, 10, 11, "Z(Ia,bJ)");
 
250
  dpd_buf4_close(&Z1);
 
251
  dpd_buf4_init(&Z1, EOM_TMP1, G_irr, 10, 11, 10, 11, 0, "Z(Ia,bJ)");
 
252
  dpd_buf4_sort(&Z1, EOM_TMP1, pqsr, 10, 10, "Z(Ia,Jb)");
 
253
  dpd_buf4_close(&Z1);
 
254
  dpd_buf4_init(&Z1, EOM_TMP1, G_irr, 10, 10, 10, 10, 0, "Z(Ia,Jb)");
 
255
  dpd_buf4_init(&G, EOM_TMP0, G_irr, 10, 10, 10, 10, 0, "GIaJb");
 
256
  dpd_buf4_axpy(&Z1, &G, 1.0);
 
257
  dpd_buf4_close(&Z1);
 
258
  dpd_buf4_close(&G);
 
259
 
 
260
  /* term 5, G(iA,jB) <-- - (L2(iM,eA)*R(j,e)) * T(M,B) */
 
261
  dpd_buf4_init(&Z, EOM_TMP1, G_irr, 0, 11, 0, 11, 0, "Z(iM,Aj)");
 
262
  dpd_buf4_init(&L2, CC_GL, L_irr, 0, 5, 0, 5, 0, "LiJAb");
 
263
  dpd_file2_init(&R1A, CC_GR, R_irr, 0, 1, "Ria");
 
264
  dpd_contract424(&L2, &R1A, &Z, 3, 1, 0, 1.0, 0.0);
 
265
  dpd_file2_close(&R1A);
 
266
  dpd_buf4_close(&L2);
 
267
  dpd_buf4_init(&Z1, EOM_TMP1, G_irr, 10, 11, 10, 11, 0, "Z(iB,Aj)");
 
268
  dpd_file2_init(&T1B, CC_OEI, 0, 0, 1, "tIA");
 
269
  dpd_contract424(&Z, &T1B, &Z1, 1, 0, 1, 1.0, 0.0);
 
270
  dpd_file2_close(&T1B);
 
271
  dpd_buf4_close(&Z);
 
272
  dpd_buf4_sort(&Z1, EOM_TMP1, prqs, 10, 11, "Z(iA,Bj)");
 
273
  dpd_buf4_close(&Z1);
 
274
  dpd_buf4_init(&Z1, EOM_TMP1, G_irr, 10, 11, 10, 11, 0, "Z(iA,Bj)");
 
275
  dpd_buf4_sort(&Z1, EOM_TMP1, pqsr, 10, 10, "Z(iA,jB)");
 
276
  dpd_buf4_close(&Z1);
 
277
  dpd_buf4_init(&Z1, EOM_TMP1, G_irr, 10, 10, 10, 10, 0, "Z(iA,jB)");
 
278
  dpd_buf4_init(&G, EOM_TMP0, G_irr, 10, 10, 10, 10, 0, "GiAjB");
 
279
  dpd_buf4_axpy(&Z1, &G, 1.0);
 
280
  dpd_buf4_close(&G);
 
281
  dpd_buf4_close(&Z1);
 
282
 
 
283
  /* term 5, G(IA,jb) <-- - L2(Im,Ae) R(j,e) T(m,b) */
 
284
  dpd_buf4_init(&Z, EOM_TMP1, G_irr, 0, 11, 0, 11, 0, "Z(Im,Aj)");
 
285
  dpd_buf4_init(&L2, CC_GL, L_irr, 0, 5, 0, 5, 0, "LIjAb");
 
286
  dpd_file2_init(&R1B, CC_GR, R_irr, 0, 1, "Ria");
 
287
  dpd_contract424(&L2, &R1B, &Z, 3, 1, 0, 1.0, 0.0);
 
288
  dpd_buf4_close(&L2);
 
289
  dpd_file2_close(&R1B);
 
290
  dpd_file2_init(&T1B, CC_OEI, 0, 0, 1, "tia");
 
291
  dpd_buf4_init(&Z1, EOM_TMP1, G_irr, 10, 11, 10, 11, 0, "Z(Ib,Aj)");
 
292
  dpd_contract424(&Z, &T1B, &Z1, 1, 0, 1, 1.0, 0.0);
 
293
  dpd_buf4_close(&Z);
 
294
  dpd_file2_close(&T1B);
 
295
  dpd_buf4_sort(&Z1, EOM_TMP1, prqs, 10, 11, "Z(IA,bj)");
 
296
  dpd_buf4_close(&Z1);
 
297
  dpd_buf4_init(&Z1, EOM_TMP1, G_irr, 10, 11, 10, 11, 0, "Z(IA,bj)");
 
298
  dpd_buf4_sort(&Z1, EOM_TMP1, pqsr, 10, 10, "Z(IA,jb)");
 
299
  dpd_buf4_close(&Z1);
 
300
  dpd_buf4_init(&Z1, EOM_TMP1, G_irr, 10, 10, 10, 10, 0, "Z(IA,jb)");
 
301
  dpd_buf4_init(&G, EOM_TMP0, 0, 10, 10, 10, 10, 0, "GIAjb");
 
302
  dpd_buf4_axpy(&Z1, &G, -1.0);
 
303
  dpd_buf4_close(&Z1);
 
304
  dpd_buf4_close(&G);
 
305
 
 
306
  /* term 5, G(ia,JB) <-- - L(iM,aE) R(J,E) T(M,B) */
 
307
  dpd_buf4_init(&Z, EOM_TMP1, G_irr, 0, 11, 0, 11, 0, "Z(iM,aJ)");
 
308
  dpd_buf4_init(&L2, CC_GL, L_irr, 0, 5, 0, 5, 0, "LiJaB");
 
309
  dpd_file2_init(&R1A, CC_GR, R_irr, 0, 1, "RIA");
 
310
  dpd_contract424(&L2, &R1A, &Z, 3, 1, 0, 1.0, 0.0);
 
311
  dpd_buf4_close(&L2);
 
312
  dpd_file2_close(&R1A);
 
313
  dpd_file2_init(&T1A, CC_OEI, 0, 0, 1, "tIA");
 
314
  dpd_buf4_init(&Z1, EOM_TMP1, G_irr, 10, 11, 10, 11, 0, "Z(iB,aJ)");
 
315
  dpd_contract424(&Z, &T1A, &Z1, 1, 0, 1, 1.0, 0.0);
 
316
  dpd_buf4_close(&Z);
 
317
  dpd_file2_close(&T1A);
 
318
  dpd_buf4_sort(&Z1, EOM_TMP1, prqs, 10, 11, "Z(ia,BJ)");
 
319
  dpd_buf4_close(&Z1);
 
320
  dpd_buf4_init(&Z1, EOM_TMP1, G_irr, 10, 11, 10, 11, 0, "Z(ia,BJ)");
 
321
  dpd_buf4_sort(&Z1, EOM_TMP1, pqsr, 10, 10, "Z(ia,JB)");
 
322
  dpd_buf4_close(&Z1);
 
323
  dpd_buf4_init(&Z1, EOM_TMP1, G_irr, 10, 10, 10, 10, 0, "Z(ia,JB)");
 
324
  dpd_buf4_init(&G, EOM_TMP0, G_irr, 10, 10, 10, 10, 0, "GiaJB");
 
325
  dpd_buf4_axpy(&Z1, &G, -1.0);
 
326
  dpd_buf4_close(&Z1);
 
327
  dpd_buf4_close(&G);
 
328
 
 
329
  psio_close(EOM_TMP1, 0);
 
330
  psio_open(EOM_TMP1,PSIO_OPEN_NEW);
 
331
 
 
332
  dpd_file2_init(&R1A, CC_GR, R_irr, 0, 1, "RIA");
 
333
  dpd_file2_mat_init(&R1A);
 
334
  dpd_file2_mat_rd(&R1A);
 
335
  dpd_file2_init(&R1B, CC_GR, R_irr, 0, 1, "Ria");
 
336
  dpd_file2_mat_init(&R1B);
 
337
  dpd_file2_mat_rd(&R1B);
 
338
  dpd_file2_init(&L1A, CC_GL, L_irr, 0, 1, "LIA");
 
339
  dpd_file2_mat_init(&L1A);
 
340
  dpd_file2_mat_rd(&L1A);
 
341
  dpd_file2_init(&L1B, CC_GL, L_irr, 0, 1, "Lia");
 
342
  dpd_file2_mat_init(&L1B);
 
343
  dpd_file2_mat_rd(&L1B);
 
344
  if (!params.connect_xi) {
 
345
    dpd_file2_init(&I1A, EOM_TMP, G_irr, 0, 1, "L2R1_OV");
 
346
    dpd_file2_mat_init(&I1A);
 
347
    dpd_file2_mat_rd(&I1A);
 
348
    dpd_file2_init(&I1B, EOM_TMP, G_irr, 0, 1, "L2R1_ov");
 
349
    dpd_file2_mat_init(&I1B);
 
350
    dpd_file2_mat_rd(&I1B);
 
351
  }
 
352
  dpd_file2_init(&T1A, CC_OEI, 0, 0, 1, "tIA");
 
353
  dpd_file2_mat_init(&T1A);
 
354
  dpd_file2_mat_rd(&T1A);
 
355
  dpd_file2_init(&T1B, CC_OEI, 0, 0, 1, "tia");
 
356
  dpd_file2_mat_init(&T1B);
 
357
  dpd_file2_mat_rd(&T1B);
 
358
 
 
359
  /* term 1, G(IA,JB) <-- +  L(I,A) R(J,B) */
 
360
  dpd_buf4_init(&G, EOM_TMP0, G_irr, 10, 10, 10, 10, 0, "GIAJB");
 
361
  for(h=0; h < nirreps; h++) {
 
362
    dpd_buf4_mat_irrep_init(&G, h); 
 
363
    dpd_buf4_mat_irrep_rd(&G, h);
 
364
    for(row=0; row < G.params->rowtot[h]; row++) {
 
365
      i = G.params->roworb[h][row][0];
 
366
      I = L1A.params->rowidx[i]; Isym = L1A.params->psym[i];
 
367
      a = G.params->roworb[h][row][1];
 
368
      A = L1A.params->colidx[a]; Asym = L1A.params->qsym[a];
 
369
      for(col=0; col < G.params->coltot[h^G_irr]; col++) {
 
370
        j = G.params->colorb[h^G_irr][col][0];
 
371
        J = R1A.params->rowidx[j]; Jsym = R1A.params->psym[j];
 
372
        b = G.params->colorb[h^G_irr][col][1];
 
373
        B = R1A.params->colidx[b]; Bsym = R1A.params->qsym[b];
 
374
        if( ((Isym^Asym)==L_irr) && ((Jsym^Bsym)==R_irr))
 
375
          G.matrix[h][row][col] += L1A.matrix[Isym][I][A] * R1A.matrix[Jsym][J][B];
 
376
      }
 
377
    }
 
378
    dpd_buf4_mat_irrep_wrt(&G, h);
 
379
    dpd_buf4_mat_irrep_close(&G, h);
 
380
  }
 
381
  /* term 2, G(IA,JB) <-- + (L(IM,AE) R(M,E))  T(J,B) = L2R1_OV(I,A) * T(J,B) */
 
382
  if (!params.connect_xi) {
 
383
    for(h=0; h < nirreps; h++) {
 
384
      dpd_buf4_mat_irrep_init(&G, h); 
 
385
      dpd_buf4_mat_irrep_rd(&G, h);
 
386
      for(row=0; row < G.params->rowtot[h]; row++) {
 
387
        i = G.params->roworb[h][row][0];
 
388
        I = I1A.params->rowidx[i]; Isym = I1A.params->psym[i];
 
389
        a = G.params->roworb[h][row][1];
 
390
        A = I1A.params->colidx[a]; Asym = I1A.params->qsym[a];
 
391
        for(col=0; col < G.params->coltot[h^G_irr]; col++) {
 
392
          j = G.params->colorb[h^G_irr][col][0];
 
393
          J = T1A.params->rowidx[j]; Jsym = T1A.params->psym[j];
 
394
          b = G.params->colorb[h^G_irr][col][1];
 
395
          B = T1A.params->colidx[b]; Bsym = T1A.params->qsym[b];
 
396
          if( ((Isym^Asym)==G_irr) && (Jsym==Bsym) )
 
397
            G.matrix[h][row][col] += I1A.matrix[Isym][I][A] * T1A.matrix[Jsym][J][B];
 
398
            }
 
399
      }
 
400
      dpd_buf4_mat_irrep_wrt(&G, h);
 
401
      dpd_buf4_mat_irrep_close(&G, h);
 
402
    }
 
403
  }
 
404
  dpd_buf4_scm(&G, -1.0);
 
405
  dpd_buf4_close(&G);
 
406
 
 
407
  /* term 1, G(ia,jb) <-- +  L(i,a) R(j,b) */
 
408
  dpd_buf4_init(&G, EOM_TMP0, G_irr, 10, 10, 10, 10, 0, "Giajb");
 
409
  for(h=0; h < nirreps; h++) {
 
410
    dpd_buf4_mat_irrep_init(&G, h); 
 
411
    dpd_buf4_mat_irrep_rd(&G, h);
 
412
    for(row=0; row < G.params->rowtot[h]; row++) {
 
413
      i = G.params->roworb[h][row][0];
 
414
      I = L1B.params->rowidx[i]; Isym = L1B.params->psym[i];
 
415
      a = G.params->roworb[h][row][1];
 
416
      A = L1B.params->colidx[a]; Asym = L1B.params->qsym[a];
 
417
      for(col=0; col < G.params->coltot[h^G_irr]; col++) {
 
418
        j = G.params->colorb[h^G_irr][col][0];
 
419
        J = R1B.params->rowidx[j]; Jsym = R1B.params->psym[j];
 
420
        b = G.params->colorb[h^G_irr][col][1];
 
421
        B = R1B.params->colidx[b]; Bsym = R1B.params->qsym[b];
 
422
        if( ((Isym^Asym)==L_irr) && ((Jsym^Bsym)==R_irr))
 
423
          G.matrix[h][row][col] += L1B.matrix[Isym][I][A] * R1B.matrix[Jsym][J][B];
 
424
      }
 
425
    }
 
426
    dpd_buf4_mat_irrep_wrt(&G, h);
 
427
    dpd_buf4_mat_irrep_close(&G, h);
 
428
  }
 
429
  /* term 2, G(ia,jb) <-- + (L(im,ae) R(m,e))*T(j,b) = L2R1_ov(i,a) * T(j,b) */
 
430
  if (!params.connect_xi) {
 
431
    for(h=0; h < nirreps; h++) {
 
432
      dpd_buf4_mat_irrep_init(&G, h); 
 
433
      dpd_buf4_mat_irrep_rd(&G, h);
 
434
      for(row=0; row < G.params->rowtot[h]; row++) {
 
435
        i = G.params->roworb[h][row][0];
 
436
        I = I1B.params->rowidx[i]; Isym = I1B.params->psym[i];
 
437
        a = G.params->roworb[h][row][1];
 
438
        A = I1B.params->colidx[a]; Asym = I1B.params->qsym[a];
 
439
        for(col=0; col < G.params->coltot[h^G_irr]; col++) {
 
440
          j = G.params->colorb[h^G_irr][col][0];
 
441
          J = T1B.params->rowidx[j]; Jsym = T1B.params->psym[j];
 
442
          b = G.params->colorb[h^G_irr][col][1];
 
443
          B = T1B.params->colidx[b]; Bsym = T1B.params->qsym[b];
 
444
          if( ((Isym^Asym)==G_irr) && (Jsym==Bsym))
 
445
            G.matrix[h][row][col] += I1B.matrix[Isym][I][A] * T1B.matrix[Jsym][J][B];
 
446
            }
 
447
      }
 
448
      dpd_buf4_mat_irrep_wrt(&G, h);
 
449
      dpd_buf4_mat_irrep_close(&G, h);
 
450
    }
 
451
  }
 
452
  dpd_buf4_scm(&G, -1.0);
 
453
  dpd_buf4_close(&G);
 
454
 
 
455
    /* term 1, G(IA,jb) <-- L(I,A) R(j,b) */
 
456
  dpd_buf4_init(&G, EOM_TMP0, G_irr, 10, 10, 10, 10, 0, "GIAjb");
 
457
  for(h=0; h < nirreps; h++) {
 
458
    dpd_buf4_mat_irrep_init(&G, h);
 
459
    dpd_buf4_mat_irrep_rd(&G, h);
 
460
    for(row=0; row < G.params->rowtot[h]; row++) {
 
461
      i = G.params->roworb[h][row][0];
 
462
      I = L1A.params->rowidx[i]; Isym = L1A.params->psym[i];
 
463
      a = G.params->roworb[h][row][1];
 
464
      A = L1A.params->colidx[a]; Asym = L1A.params->qsym[a];
 
465
      for(col=0; col < G.params->coltot[h^G_irr]; col++) {
 
466
        j = G.params->colorb[h^G_irr][col][0];
 
467
        J = R1B.params->rowidx[j]; Jsym = R1B.params->psym[j];
 
468
        b = G.params->colorb[h^G_irr][col][1];
 
469
        B = R1B.params->colidx[b]; Bsym = R1B.params->qsym[b];
 
470
        if( ((Isym^Asym)==L_irr) && ((Jsym^Bsym)==R_irr) )
 
471
          G.matrix[h][row][col] += L1A.matrix[Isym][I][A] * R1B.matrix[Jsym][J][B];
 
472
      }
 
473
    }
 
474
    dpd_buf4_mat_irrep_wrt(&G, h);
 
475
    dpd_buf4_mat_irrep_close(&G, h);
 
476
  }
 
477
  /* term 2, G(IA,jb) <-- L2R1_OV(I,A) *  T(j,b) */
 
478
  if (!params.connect_xi) {
 
479
    for(h=0; h < nirreps; h++) {
 
480
      dpd_buf4_mat_irrep_init(&G, h);
 
481
      dpd_buf4_mat_irrep_rd(&G, h);
 
482
      for(row=0; row < G.params->rowtot[h]; row++) {
 
483
        i = G.params->roworb[h][row][0];
 
484
        I = I1A.params->rowidx[i]; Isym = I1A.params->psym[i];
 
485
        a = G.params->roworb[h][row][1];
 
486
        A = I1A.params->colidx[a]; Asym = I1A.params->qsym[a];
 
487
        for(col=0; col < G.params->coltot[h^G_irr]; col++) {
 
488
          j = G.params->colorb[h^G_irr][col][0];
 
489
          J = T1B.params->rowidx[j]; Jsym = T1B.params->psym[j];
 
490
          b = G.params->colorb[h^G_irr][col][1];
 
491
          B = T1B.params->colidx[b]; Bsym = T1B.params->qsym[b];
 
492
          if( ((Isym^Asym)==G_irr) && (Jsym==Bsym))
 
493
            G.matrix[h][row][col] += I1A.matrix[Isym][I][A] * T1B.matrix[Jsym][J][B];
 
494
        }
 
495
      }
 
496
      dpd_buf4_mat_irrep_wrt(&G, h);
 
497
      dpd_buf4_mat_irrep_close(&G, h);
 
498
    }
 
499
  }
 
500
  dpd_buf4_scm(&G, -1.0);
 
501
  dpd_buf4_close(&G);
 
502
 
 
503
  /* term 1, G(ia,JB) <-- L(i,a) R(J,B) */
 
504
  dpd_buf4_init(&G, EOM_TMP0, G_irr, 10, 10, 10, 10, 0, "GiaJB");
 
505
  for(h=0; h < nirreps; h++) {
 
506
    dpd_buf4_mat_irrep_init(&G, h);
 
507
    dpd_buf4_mat_irrep_rd(&G, h);
 
508
    for(row=0; row < G.params->rowtot[h]; row++) {
 
509
      i = G.params->roworb[h][row][0];
 
510
      I = L1B.params->rowidx[i]; Isym = L1B.params->psym[i];
 
511
      a = G.params->roworb[h][row][1];
 
512
      A = L1B.params->colidx[a]; Asym = L1B.params->qsym[a];
 
513
      for(col=0; col < G.params->coltot[h^G_irr]; col++) {
 
514
        j = G.params->colorb[h^G_irr][col][0];
 
515
        J = R1A.params->rowidx[j]; Jsym = R1A.params->psym[j];
 
516
        b = G.params->colorb[h^G_irr][col][1];
 
517
        B = R1A.params->colidx[b]; Bsym = R1A.params->qsym[b];
 
518
        if( ((Isym^Asym)==L_irr) && ((Jsym^Bsym)==R_irr))
 
519
          G.matrix[h][row][col] += L1B.matrix[Isym][I][A] * R1A.matrix[Jsym][J][B];
 
520
      }
 
521
    }
 
522
    dpd_buf4_mat_irrep_wrt(&G, h);
 
523
    dpd_buf4_mat_irrep_close(&G, h);
 
524
  }
 
525
  /* term 2, G(ia,JB) <-- L2R1_ov(i,a) T(J,B) */
 
526
  if (!params.connect_xi) {
 
527
    for(h=0; h < nirreps; h++) {
 
528
      dpd_buf4_mat_irrep_init(&G, h);
 
529
      dpd_buf4_mat_irrep_rd(&G, h);
 
530
      for(row=0; row < G.params->rowtot[h]; row++) {
 
531
        i = G.params->roworb[h][row][0];
 
532
        I = I1B.params->rowidx[i]; Isym = I1B.params->psym[i];
 
533
        a = G.params->roworb[h][row][1];
 
534
        A = I1B.params->colidx[a]; Asym = I1B.params->qsym[a];
 
535
        for(col=0; col < G.params->coltot[h^G_irr]; col++) {
 
536
          j = G.params->colorb[h^G_irr][col][0];
 
537
          J = T1A.params->rowidx[j]; Jsym = T1A.params->psym[j];
 
538
          b = G.params->colorb[h^G_irr][col][1];
 
539
          B = T1A.params->colidx[b]; Bsym = T1A.params->qsym[b];
 
540
          if( ((Isym^Asym)==G_irr) && (Jsym==Bsym))
 
541
            G.matrix[h][row][col] += I1B.matrix[Isym][I][A] * T1A.matrix[Jsym][J][B];
 
542
        }
 
543
      }
 
544
      dpd_buf4_mat_irrep_wrt(&G, h);
 
545
      dpd_buf4_mat_irrep_close(&G, h);
 
546
    }
 
547
  }
 
548
  dpd_buf4_scm(&G, -1.0);
 
549
  dpd_buf4_close(&G);
 
550
 
 
551
  dpd_file2_mat_close(&R1A);
 
552
  dpd_file2_close(&R1A);
 
553
  dpd_file2_mat_close(&R1B);
 
554
  dpd_file2_close(&R1B);
 
555
  dpd_file2_mat_close(&L1A);
 
556
  dpd_file2_close(&L1A);
 
557
  dpd_file2_mat_close(&L1B);
 
558
  dpd_file2_close(&L1B);
 
559
  if (!params.connect_xi) {
 
560
    dpd_file2_mat_close(&I1A);
 
561
    dpd_file2_close(&I1A);
 
562
    dpd_file2_mat_close(&I1B);
 
563
    dpd_file2_close(&I1B);
 
564
  }
 
565
  dpd_file2_mat_close(&T1A);
 
566
  dpd_file2_close(&T1A);
 
567
  dpd_file2_mat_close(&T1B);
 
568
  dpd_file2_close(&T1B);
 
569
 
 
570
    /* Sort all spin cases to correct ordering (ib,ja) */
 
571
  dpd_buf4_init(&G, EOM_TMP0, G_irr, 10, 10, 10, 10, 0, "GIAJB");
 
572
  dpd_buf4_sort(&G, EOM_TMP0, psrq, 10, 10, "GIBJA");
 
573
  dpd_buf4_close(&G);
 
574
  dpd_buf4_init(&G, EOM_TMP0, G_irr, 10, 10, 10, 10, 0, "Giajb");
 
575
  dpd_buf4_sort(&G, EOM_TMP0, psrq, 10, 10, "Gibja");
 
576
  dpd_buf4_close(&G);
 
577
  dpd_buf4_init(&G, EOM_TMP0, G_irr, 10, 10, 10, 10, 0, "GIaJb");
 
578
  dpd_buf4_scm(&G,-1.0);
 
579
  dpd_buf4_sort(&G, EOM_TMP0, psrq, 10, 10, "GIbJa");
 
580
  dpd_buf4_close(&G);
 
581
  dpd_buf4_init(&G, EOM_TMP0, G_irr, 10, 10, 10, 10, 0, "GiAjB");
 
582
  dpd_buf4_scm(&G,-1.0);
 
583
  dpd_buf4_sort(&G, EOM_TMP0, psrq, 10, 10, "GiBjA");
 
584
  dpd_buf4_close(&G);
 
585
  dpd_buf4_init(&G, EOM_TMP0, G_irr, 10, 10, 10, 10, 0, "GIAjb");
 
586
  dpd_buf4_sort(&G, EOM_TMP0, psrq, 10, 10, "GIbjA");
 
587
  dpd_buf4_close(&G);
 
588
  dpd_buf4_init(&G, EOM_TMP0, G_irr, 10, 10, 10, 10, 0, "GiaJB");
 
589
  dpd_buf4_sort(&G, EOM_TMP0, psrq, 10, 10, "GiBJa");
 
590
  dpd_buf4_close(&G);
 
591
 
 
592
  /* Add to ground state terms in CC_GAMMA */
 
593
  dpd_buf4_init(&GIBJA, EOM_TMP0, G_irr, 10, 10, 10, 10, 0, "GIBJA");
 
594
  dpd_buf4_init(&G, CC_GAMMA, G_irr, 10, 10, 10, 10, 0, "GIBJA");
 
595
  dpd_buf4_axpy(&GIBJA, &G, 1.0);
 
596
  dpd_buf4_close(&G);
 
597
  dpd_buf4_close(&GIBJA);
 
598
  dpd_buf4_init(&Gibja, EOM_TMP0, G_irr, 10, 10, 10, 10, 0, "Gibja");
 
599
  dpd_buf4_init(&G, CC_GAMMA, G_irr, 10, 10, 10, 10, 0, "Gibja");
 
600
  dpd_buf4_axpy(&Gibja, &G, 1.0);
 
601
  dpd_buf4_close(&G);
 
602
  dpd_buf4_close(&Gibja);
 
603
  dpd_buf4_init(&GIbJa, EOM_TMP0, G_irr, 10, 10, 10, 10, 0, "GIbJa");
 
604
  dpd_buf4_init(&G, CC_GAMMA, G_irr, 10, 10, 10, 10, 0, "GIbJa");
 
605
  dpd_buf4_axpy(&GIbJa, &G, 1.0);
 
606
  dpd_buf4_close(&G);
 
607
  dpd_buf4_close(&GIbJa);
 
608
  dpd_buf4_init(&GiBjA, EOM_TMP0, G_irr, 10, 10, 10, 10, 0, "GiBjA");
 
609
  dpd_buf4_init(&G, CC_GAMMA, G_irr, 10, 10, 10, 10, 0, "GiBjA");
 
610
  dpd_buf4_axpy(&GiBjA, &G, 1.0);
 
611
  dpd_buf4_close(&G);
 
612
  dpd_buf4_close(&GiBjA);
 
613
  dpd_buf4_init(&GIbjA, EOM_TMP0, G_irr, 10, 10, 10, 10, 0, "GIbjA");
 
614
  dpd_buf4_init(&G, CC_GAMMA, G_irr, 10, 10, 10, 10, 0, "GIbjA");
 
615
  dpd_buf4_axpy(&GIbjA, &G, 1.0);
 
616
  dpd_buf4_close(&G);
 
617
  dpd_buf4_close(&GIbjA);
 
618
  dpd_buf4_init(&GiBJa, EOM_TMP0, G_irr, 10, 10, 10, 10, 0, "GiBJa");
 
619
  dpd_buf4_init(&G, CC_GAMMA, G_irr, 10, 10, 10, 10, 0, "GiBJa");
 
620
  dpd_buf4_axpy(&GiBJa, &G, 1.0);
 
621
  dpd_buf4_close(&G);
 
622
  dpd_buf4_close(&GiBJa);
 
623
 
 
624
  /* symmetrize after adding to CC_GAMMA */
 
625
  dpd_buf4_init(&G, CC_GAMMA, G_irr, 10, 10, 10, 10, 0, "GIBJA");
 
626
  dpd_buf4_symm(&G);
 
627
  dpd_buf4_close(&G);
 
628
  dpd_buf4_init(&G, CC_GAMMA, G_irr, 10, 10, 10, 10, 0, "Gibja");
 
629
  dpd_buf4_symm(&G);
 
630
  dpd_buf4_close(&G);
 
631
  dpd_buf4_init(&G, CC_GAMMA, G_irr, 10, 10, 10, 10, 0, "GIbJa");
 
632
  dpd_buf4_symm(&G);
 
633
  dpd_buf4_close(&G);
 
634
  dpd_buf4_init(&G, CC_GAMMA, G_irr, 10, 10, 10, 10, 0, "GiBjA");
 
635
  dpd_buf4_symm(&G);
 
636
  dpd_buf4_close(&G);
 
637
  dpd_buf4_init(&GIbjA, CC_GAMMA, G_irr, 10, 10, 10, 10, 0, "GIbjA");
 
638
  dpd_buf4_init(&GiBJa, CC_GAMMA, G_irr, 10, 10, 10, 10, 0, "GiBJa");
 
639
  dpd_buf4_symm2(&GIbjA, &GiBJa);
 
640
  dpd_buf4_close(&GiBJa);
 
641
  dpd_buf4_sort(&GIbjA, CC_GAMMA, rspq, 10, 10, "GiBJa");
 
642
  dpd_buf4_close(&GIbjA);
 
643
 
 
644
  psio_close(EOM_TMP0, 0);
 
645
  psio_open(EOM_TMP0,PSIO_OPEN_NEW);
 
646
  psio_close(EOM_TMP1, 0);
 
647
  psio_open(EOM_TMP1,PSIO_OPEN_NEW);
 
648
  return;
 
649
}
 
650
 
 
651
}} // namespace psi::ccdensity