1
SUBROUTINE ccsd_t1(d_f1,d_i0,d_t1,d_t2,d_v2,k_f1_offset,k_i0_offse
2
&t,k_t1_offset,k_t2_offset,k_v2_offset)
3
C $Id: ccsd_t1_loc.F,v 1.1 2008-12-14 01:00:23 jhammond Exp $
4
C This is a Fortran77 program generated by Tensor Contraction Engine v.1.0
5
C Copyright (c) Battelle & Pacific Northwest National Laboratory (2002)
6
C i0 ( p2 h1 )_f + = 1 * f ( p2 h1 )_f DONE
7
C i0 ( p2 h1 )_tf + = -1 * Sum ( h7 ) * t ( p2 h7 )_t * i1 ( h7 h1 )_f DONE
8
C i1 ( h7 h1 )_f + = 1 * f ( h7 h1 )_f DONE
9
C i1 ( h7 h1 )_ft + = 1 * Sum ( p3 ) * t ( p3 h1 )_t * i2 ( h7 p3 )_f DONE
10
C i2 ( h7 p3 )_f + = 1 * f ( h7 p3 )_f DONE
11
C i2 ( h7 p3 )_vt + = -1 * Sum ( h6 p5 ) * t ( p5 h6 )_t * v ( h6 h7 p3 p5 )_v DONE
12
C i1 ( h7 h1 )_vt + = -1 * Sum ( h5 p4 ) * t ( p4 h5 )_t * v ( h5 h7 h1 p4 )_v NOPE
13
C i1 ( h7 h1 )_vt + = -1/2 * Sum ( h5 p3 p4 ) * t ( p3 p4 h1 h5 )_t * v ( h5 h7 p3 p4 )_v NOPE
14
C i0 ( p2 h1 )_tf + = 1 * Sum ( p3 ) * t ( p3 h1 )_t * i1 ( p2 p3 )_f DONE
15
C i1 ( p2 p3 )_f + = 1 * f ( p2 p3 )_f DONE
16
C i1 ( p2 p3 )_vt + = -1 * Sum ( h5 p4 ) * t ( p4 h5 )_t * v ( h5 p2 p3 p4 )_v NOPE
17
C i0 ( p2 h1 )_vt + = -1 * Sum ( h4 p3 ) * t ( p3 h4 )_t * v ( h4 p2 h1 p3 )_v NOPE
18
C i0 ( p2 h1 )_tf + = 1 * Sum ( p7 h8 ) * t ( p2 p7 h1 h8 )_t * i1 ( h8 p7 )_f DONE
19
C i1 ( h8 p7 )_f + = 1 * f ( h8 p7 )_f DONE
20
C i1 ( h8 p7 )_vt + = 1 * Sum ( h6 p5 ) * t ( p5 h6 )_t * v ( h6 h8 p5 p7 )_v NOPE
21
C i0 ( p2 h1 )_vt + = -1/2 * Sum ( h4 h5 p3 ) * t ( p2 p3 h4 h5 )_t * i1 ( h4 h5 h1 p3 )_v NOPE
22
C i1 ( h4 h5 h1 p3 )_v + = 1 * v ( h4 h5 h1 p3 )_v DONE
23
C i1 ( h4 h5 h1 p3 )_vt + = -1 * Sum ( p6 ) * t ( p6 h1 )_t * v ( h4 h5 p3 p6 )_v NOPE
24
C i0 ( p2 h1 )_vt + = -1/2 * Sum ( h5 p3 p4 ) * t ( p3 p4 h1 h5 )_t * v ( h5 p2 p3 p4 )_v DONE
27
#include "mafdecls.fh"
31
c when local copies of T1/X1 tensors are used, d_t1 refers to k_t1_local (kk)
50
CHARACTER*255 filename
51
c --- PETA -----------------------
53
double precision cpu ! CPU sec counter
54
double precision wall ! WALL sec counter
55
nodezero=(ga_nodeid().eq.0)
56
c --------------------------------
57
CALL ccsd_t1_1(d_f1,k_f1_offset,d_i0,k_i0_offset)
58
CALL OFFSET_ccsd_t1_2_1(l_i1_offset,k_i1_offset,size_i1)
59
CALL TCE_FILENAME('ccsd_t1_2_1_i1',filename)
60
CALL CREATEFILE(filename,d_i1,size_i1)
61
CALL ccsd_t1_2_1(d_f1,k_f1_offset,d_i1,k_i1_offset)
62
CALL OFFSET_ccsd_t1_2_2_1(l_i2_offset,k_i2_offset,size_i2)
63
CALL TCE_FILENAME('ccsd_t1_2_2_1_i2',filename)
64
CALL CREATEFILE(filename,d_i2,size_i2)
65
CALL ccsd_t1_2_2_1(d_f1,k_f1_offset,d_i2,k_i2_offset)
66
CALL ccsd_t1_2_2_2(d_t1,k_t1_offset,d_v2,k_v2_offset,
68
CALL RECONCILEFILE(d_i2,size_i2)
69
CALL ccsd_t1_2_2(d_t1,k_t1_offset,d_i2,k_i2_offset,
72
IF (.not.MA_POP_STACK(l_i2_offset))
73
1 CALL ERRQUIT('ccsd_t1',-1,MA_ERR)
74
CALL ccsd_t1_2_3(d_t1,k_t1_offset,d_v2,k_v2_offset,
76
CALL ccsd_t1_2_4(d_t2,k_t2_offset,d_v2,k_v2_offset,
78
CALL RECONCILEFILE(d_i1,size_i1)
79
CALL ccsd_t1_2(d_t1,k_t1_offset,d_i1,k_i1_offset,d_i0,k_i0_offset)
81
IF (.not.MA_POP_STACK(l_i1_offset))
82
1 CALL ERRQUIT('ccsd_t1',-1,MA_ERR)
83
CALL OFFSET_ccsd_t1_3_1(l_i1_offset,k_i1_offset,size_i1)
84
CALL TCE_FILENAME('ccsd_t1_3_1_i1',filename)
85
CALL CREATEFILE(filename,d_i1,size_i1)
86
CALL ccsd_t1_3_1(d_f1,k_f1_offset,d_i1,k_i1_offset)
87
CALL ccsd_t1_3_2(d_t1,k_t1_offset,d_v2,k_v2_offset,
89
CALL RECONCILEFILE(d_i1,size_i1)
90
CALL ccsd_t1_3(d_t1,k_t1_offset,d_i1,k_i1_offset,d_i0,k_i0_offset)
92
IF (.not.MA_POP_STACK(l_i1_offset))
93
1 CALL ERRQUIT('ccsd_t1',-1,MA_ERR)
94
CALL ccsd_t1_4(d_t1,k_t1_offset,d_v2,k_v2_offset,d_i0,k_i0_offset)
95
CALL OFFSET_ccsd_t1_5_1(l_i1_offset,k_i1_offset,size_i1)
96
CALL TCE_FILENAME('ccsd_t1_5_1_i1',filename)
97
CALL CREATEFILE(filename,d_i1,size_i1)
98
CALL ccsd_t1_5_1(d_f1,k_f1_offset,d_i1,k_i1_offset)
99
CALL ccsd_t1_5_2(d_t1,k_t1_offset,d_v2,k_v2_offset,
101
CALL RECONCILEFILE(d_i1,size_i1)
102
CALL ccsd_t1_5(d_t2,k_t2_offset,d_i1,k_i1_offset,d_i0,k_i0_offset)
103
CALL DELETEFILE(d_i1)
104
IF (.not.MA_POP_STACK(l_i1_offset))
105
1 CALL ERRQUIT('ccsd_t1',-1,MA_ERR)
106
CALL OFFSET_ccsd_t1_6_1(l_i1_offset,k_i1_offset,size_i1)
107
CALL TCE_FILENAME('ccsd_t1_6_1_i1',filename)
108
CALL CREATEFILE(filename,d_i1,size_i1)
109
CALL ccsd_t1_6_1(d_v2,k_v2_offset,d_i1,k_i1_offset)
110
CALL ccsd_t1_6_2(d_t1,k_t1_offset,d_v2,k_v2_offset,
112
CALL RECONCILEFILE(d_i1,size_i1)
113
CALL ccsd_t1_6(d_t2,k_t2_offset,d_i1,k_i1_offset,d_i0,k_i0_offset)
114
CALL DELETEFILE(d_i1)
115
IF (.not.MA_POP_STACK(l_i1_offset))
116
1 CALL ERRQUIT('ccsd_t1',-1,MA_ERR)
117
CALL ccsd_t1_7(d_t2,k_t2_offset,d_v2,k_v2_offset,d_i0,k_i0_offset)
118
c --- PETA ----------
119
c 9020 format('DIAG-S',i3,1x,'Cpu & wall time / sec',2f15.1)
120
c -------------------
127
SUBROUTINE ccsd_t1_1(d_a,k_a_offset,d_c,k_c_offset)
128
C $Id: ccsd_t1_loc.F,v 1.1 2008-12-14 01:00:23 jhammond Exp $
129
C This is a Fortran77 program generated by Tensor Contraction Engine v.1.0
130
C Copyright (c) Battelle & Pacific Northwest National Laboratory (2002)
131
C i0 ( p2 h1 )_f + = 1 * f ( p2 h1 )_f
134
#include "mafdecls.fh"
136
#include "errquit.fh"
139
INTEGER k_a_offset, k_c_offset
140
INTEGER NXTASK, next, nprocs, count
141
INTEGER p2b, h1b, p2b_1, h1b_1
142
INTEGER dim_common, dima_sort, dima, dimc
147
next = NXTASK(nprocs, 1)
148
DO p2b = noab+1,noab+nvab
150
IF (next.eq.count) THEN
151
IF ((.not.restricted).or.(int_mb(k_spin+p2b-1)
152
1 +int_mb(k_spin+h1b-1).ne.4)) THEN
153
IF (int_mb(k_spin+p2b-1) .eq. int_mb(k_spin+h1b-1)) THEN
154
IF (ieor(int_mb(k_sym+p2b-1),int_mb(k_sym+h1b-1))
156
dimc = int_mb(k_range+p2b-1) * int_mb(k_range+h1b-1)
157
CALL TCE_RESTRICTED_2(p2b,h1b,p2b_1,h1b_1)
159
dima_sort = int_mb(k_range+p2b-1) * int_mb(k_range+h1b-1)
160
dima = dim_common * dima_sort
161
IF (dima .gt. 0) THEN
162
IF (.not.MA_PUSH_GET(mt_dbl,dima,'a',l_a,k_a))
163
1 CALL ERRQUIT('ccsd_t1_1',1,MA_ERR)
164
CALL GET_HASH_BLOCK(d_a,dbl_mb(k_a),dima,
165
1 int_mb(k_a_offset),
166
2 (h1b_1 - 1 + (noab+nvab) * (p2b_1 - 1)))
167
CALL ADD_HASH_BLOCK(d_c,dbl_mb(k_a),dimc,
168
1 int_mb(k_c_offset),
169
2 (h1b - 1 + noab * (p2b - noab - 1)))
170
IF (.not.MA_POP_STACK(l_a))
171
1 CALL ERRQUIT('ccsd_t1_1',5,MA_ERR)
176
next = NXTASK(nprocs, 1)
181
next = NXTASK(-nprocs, 1)
189
SUBROUTINE ccsd_t1_2(d_a,k_a_offset,d_b,k_b_offset,d_c,k_c_offset)
190
C $Id: ccsd_t1_loc.F,v 1.1 2008-12-14 01:00:23 jhammond Exp $
191
C This is a Fortran77 program generated by Tensor Contraction Engine v.1.0
192
C Copyright (c) Battelle & Pacific Northwest National Laboratory (2002)
193
C i0 ( p2 h1 )_tf + = -1 * Sum ( h7 ) * t ( p2 h7 )_t * i1 ( h7 h1 )_f
196
#include "mafdecls.fh"
198
#include "errquit.fh"
201
INTEGER k_a_offset,k_b_offset,k_c_offset
202
INTEGER NXTASK,next,nprocs,count
203
INTEGER p2b,h1b,h7b,p2b_1,h7b_1,h7b_2,h1b_2
204
INTEGER dim_common,dima_sort,dimb_sort
205
INTEGER dima,dimb,dimc
206
INTEGER k_a,l_a,k_b,l_b,k_c,l_c
207
INTEGER k_bs,l_bs,k_cs,l_cs
211
next = NXTASK(nprocs, 1)
212
DO p2b = noab+1,noab+nvab
214
IF (next.eq.count) THEN
215
IF ((.not.restricted).or.(int_mb(k_spin+p2b-1)
216
1 +int_mb(k_spin+h1b-1).ne.4)) THEN
217
IF (int_mb(k_spin+p2b-1) .eq. int_mb(k_spin+h1b-1)) THEN
218
IF (ieor(int_mb(k_sym+p2b-1),int_mb(k_sym+h1b-1)).eq.
219
1 ieor(irrep_t,irrep_f)) THEN
220
dimc = int_mb(k_range+p2b-1) * int_mb(k_range+h1b-1)
221
IF (.not.MA_PUSH_GET(mt_dbl,dimc,'noname',l_cs,k_cs))
222
1 CALL ERRQUIT('ccsd_t1_2',0,MA_ERR)
223
CALL DFILL(dimc,0.0d0,dbl_mb(k_cs),1)
225
IF (int_mb(k_spin+p2b-1) .eq. int_mb(k_spin+h7b-1)) THEN
226
IF (ieor(int_mb(k_sym+p2b-1),int_mb(k_sym+h7b-1))
228
CALL TCE_RESTRICTED_2(p2b,h7b,p2b_1,h7b_1)
229
CALL TCE_RESTRICTED_2(h7b,h1b,h7b_2,h1b_2)
230
dim_common = int_mb(k_range+h7b-1)
231
dima_sort = int_mb(k_range+p2b-1)
232
dima = dim_common * dima_sort
233
dimb_sort = int_mb(k_range+h1b-1)
234
dimb = dim_common * dimb_sort
235
IF ((dima .gt. 0) .and. (dimb .gt. 0)) THEN
236
IF (.not.MA_PUSH_GET(mt_dbl,dima,'noname',l_a,k_a))
237
1 CALL ERRQUIT('ccsd_t1_2',2,MA_ERR)
238
CALL GET_HASH_BLOCK_MA(dbl_mb(d_a),dbl_mb(k_a),dima,
239
1 int_mb(k_a_offset),
240
2 (h7b_1 - 1 + noab * (p2b_1 - noab - 1)))
241
IF (.not.MA_PUSH_GET(mt_dbl,dimb,'noname',l_bs,k_bs))
242
1 CALL ERRQUIT('ccsd_t1_2',4,MA_ERR)
243
IF (.not.MA_PUSH_GET(mt_dbl,dimb,'noname',l_b,k_b))
244
1 CALL ERRQUIT('ccsd_t1_2',5,MA_ERR)
245
CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,
246
1 int_mb(k_b_offset),
247
2 (h1b_2 - 1 + noab * (h7b_2 - 1)))
248
CALL TCE_SORT_2(dbl_mb(k_b),dbl_mb(k_bs),
249
1 int_mb(k_range+h7b-1),int_mb(k_range+h1b-1),
251
IF (.not.MA_POP_STACK(l_b))
252
1 CALL ERRQUIT('ccsd_t1_2',6,MA_ERR)
253
CALL DGEMM('T','N',dima_sort,dimb_sort,dim_common,1.0d0,
254
1 dbl_mb(k_a),dim_common,dbl_mb(k_bs),dim_common,
255
2 1.0d0,dbl_mb(k_cs),dima_sort)
256
IF (.not.MA_POP_STACK(l_bs))
257
1 CALL ERRQUIT('ccsd_t1_2',7,MA_ERR)
258
IF (.not.MA_POP_STACK(l_a))
259
1 CALL ERRQUIT('ccsd_t1_2',8,MA_ERR)
264
IF (.not.MA_PUSH_GET(mt_dbl,dimc,'noname',l_c,k_c))
265
1 CALL ERRQUIT('ccsd_t1_2',9,MA_ERR)
266
CALL TCE_SORT_2(dbl_mb(k_cs),dbl_mb(k_c),
267
1 int_mb(k_range+h1b-1),int_mb(k_range+p2b-1),
269
CALL ADD_HASH_BLOCK(d_c,dbl_mb(k_c),dimc,int_mb(k_c_offset),
270
1 (h1b - 1 + noab * (p2b - noab - 1)))
271
IF (.not.MA_POP_STACK(l_c))
272
1 CALL ERRQUIT('ccsd_t1_2',10,MA_ERR)
273
IF (.not.MA_POP_STACK(l_cs))
274
1 CALL ERRQUIT('ccsd_t1_2',11,MA_ERR)
278
next = NXTASK(nprocs, 1)
283
next = NXTASK(-nprocs, 1)
291
SUBROUTINE ccsd_t1_2_1(d_a,k_a_offset,d_c,k_c_offset)
292
C $Id: ccsd_t1_loc.F,v 1.1 2008-12-14 01:00:23 jhammond Exp $
293
C This is a Fortran77 program generated by Tensor Contraction Engine v.1.0
294
C Copyright (c) Battelle & Pacific Northwest National Laboratory (2002)
295
C i1 ( h7 h1 )_f + = 1 * f ( h7 h1 )_f
298
#include "mafdecls.fh"
300
#include "errquit.fh"
303
INTEGER k_a_offset, k_c_offset
304
INTEGER NXTASK, next, nprocs, count
305
INTEGER h7b, h1b, h7b_1, h1b_1
306
INTEGER dim_common, dima_sort, dima, dimc
307
INTEGER k_as, l_as, k_a, l_a, k_c, l_c
311
next = NXTASK(nprocs, 1)
314
IF (next.eq.count) THEN
315
IF ((.not.restricted).or.(int_mb(k_spin+h7b-1)
316
1 +int_mb(k_spin+h1b-1).ne.4)) THEN
317
IF (int_mb(k_spin+h7b-1) .eq. int_mb(k_spin+h1b-1)) THEN
318
IF (ieor(int_mb(k_sym+h7b-1),int_mb(k_sym+h1b-1))
320
dimc = int_mb(k_range+h7b-1) * int_mb(k_range+h1b-1)
321
CALL TCE_RESTRICTED_2(h7b,h1b,h7b_1,h1b_1)
323
dima_sort = int_mb(k_range+h7b-1) * int_mb(k_range+h1b-1)
324
dima = dim_common * dima_sort
325
IF (dima .gt. 0) THEN
326
IF (.not.MA_PUSH_GET(mt_dbl,dima,'noname',l_as,k_as))
327
1 CALL ERRQUIT('ccsd_t1_2_1',0,MA_ERR)
328
IF (.not.MA_PUSH_GET(mt_dbl,dima,'noname',l_a,k_a))
329
1 CALL ERRQUIT('ccsd_t1_2_1',1,MA_ERR)
330
CALL GET_HASH_BLOCK(d_a,dbl_mb(k_a),dima,
331
1 int_mb(k_a_offset),
332
2 (h1b_1 - 1 + (noab+nvab) * (h7b_1 - 1)))
333
CALL TCE_SORT_2(dbl_mb(k_a),dbl_mb(k_as),
334
1 int_mb(k_range+h7b-1),int_mb(k_range+h1b-1),
336
IF (.not.MA_POP_STACK(l_a))
337
1 CALL ERRQUIT('ccsd_t1_2_1',2,MA_ERR)
338
IF (.not.MA_PUSH_GET(mt_dbl,dimc,'noname',l_c,k_c))
339
1 CALL ERRQUIT('ccsd_t1_2_1',3,MA_ERR)
340
CALL TCE_SORT_2(dbl_mb(k_as),dbl_mb(k_c),
341
1 int_mb(k_range+h1b-1),int_mb(k_range+h7b-1),
343
CALL ADD_HASH_BLOCK(d_c,dbl_mb(k_c),dimc,
344
1 int_mb(k_c_offset),(h1b - 1 + noab * (h7b - 1)))
345
IF (.not.MA_POP_STACK(l_c))
346
1 CALL ERRQUIT('ccsd_t1_2_1',4,MA_ERR)
347
IF (.not.MA_POP_STACK(l_as))
348
1 CALL ERRQUIT('ccsd_t1_2_1',5,MA_ERR)
353
next = NXTASK(nprocs, 1)
358
next = NXTASK(-nprocs, 1)
366
SUBROUTINE OFFSET_ccsd_t1_2_1(l_a_offset,k_a_offset,size)
367
C $Id: ccsd_t1_loc.F,v 1.1 2008-12-14 01:00:23 jhammond Exp $
368
C This is a Fortran77 program generated by Tensor Contraction Engine v.1.0
369
C Copyright (c) Battelle & Pacific Northwest National Laboratory (2002)
373
#include "mafdecls.fh"
375
#include "errquit.fh"
387
IF (int_mb(k_spin+h7b-1) .eq. int_mb(k_spin+h1b-1)) THEN
388
IF (ieor(int_mb(k_sym+h7b-1),int_mb(k_sym+h1b-1)) .eq. irrep_f) TH
390
IF ((.not.restricted).or.(int_mb(k_spin+h7b-1)+int_mb(k_spin+h1b-1
398
IF (.not.MA_PUSH_GET(mt_int,2*length+1,'noname',l_a_offset,k_a_off
399
&set)) CALL ERRQUIT('ccsd_t1_2_1',0,MA_ERR)
400
int_mb(k_a_offset) = length
405
IF (int_mb(k_spin+h7b-1) .eq. int_mb(k_spin+h1b-1)) THEN
406
IF (ieor(int_mb(k_sym+h7b-1),int_mb(k_sym+h1b-1)) .eq. irrep_f) TH
408
IF ((.not.restricted).or.(int_mb(k_spin+h7b-1)+int_mb(k_spin+h1b-1
411
int_mb(k_a_offset+addr) = h1b - 1 + noab * (h7b - 1)
412
int_mb(k_a_offset+length+addr) = size
413
size = size + int_mb(k_range+h7b-1) * int_mb(k_range+h1b-1)
426
SUBROUTINE ccsd_t1_2_2(d_a,k_a_offset,d_b,k_b_offset,d_c,k_c_offse
428
C $Id: ccsd_t1_loc.F,v 1.1 2008-12-14 01:00:23 jhammond Exp $
429
C This is a Fortran77 program generated by Tensor Contraction Engine v.1.0
430
C Copyright (c) Battelle & Pacific Northwest National Laboratory (2002)
431
C i1 ( h7 h1 )_ft + = 1 * Sum ( p3 ) * t ( p3 h1 )_t * i2 ( h7 p3 )_f
434
#include "mafdecls.fh"
436
#include "errquit.fh"
438
INTEGER d_a, d_b, d_c
439
INTEGER k_a_offset, k_b_offset, k_c_offset
440
INTEGER NXTASK, next, nprocs, count
441
INTEGER h7b, h1b, p3b, p3b_1, h1b_1, h7b_2, p3b_2
442
INTEGER dim_common, dima_sort, dimb_sort
443
INTEGER dima, dimb, dimc
444
INTEGER k_a, l_a, k_b, l_b, k_c, l_c
449
next = NXTASK(nprocs, 1)
452
IF (next.eq.count) THEN
453
IF ((.not.restricted).or.(int_mb(k_spin+h7b-1)
454
1 +int_mb(k_spin+h1b-1).ne.4)) THEN
455
IF (int_mb(k_spin+h7b-1) .eq. int_mb(k_spin+h1b-1)) THEN
456
IF (ieor(int_mb(k_sym+h7b-1),int_mb(k_sym+h1b-1))
457
1 .eq. ieor(irrep_f,irrep_t)) THEN
458
dimc = int_mb(k_range+h7b-1) * int_mb(k_range+h1b-1)
459
IF (.not.MA_PUSH_GET(mt_dbl,dimc,'noname',l_c,k_c))
460
1 CALL ERRQUIT('ccsd_t1_2_2',0,MA_ERR)
461
CALL DFILL(dimc,0.0d0,dbl_mb(k_c),1)
462
DO p3b = noab+1,noab+nvab
463
IF (int_mb(k_spin+p3b-1) .eq. int_mb(k_spin+h1b-1)) THEN
464
IF (ieor(int_mb(k_sym+p3b-1),int_mb(k_sym+h1b-1))
466
CALL TCE_RESTRICTED_2(p3b,h1b,p3b_1,h1b_1)
467
CALL TCE_RESTRICTED_2(h7b,p3b,h7b_2,p3b_2)
468
dim_common = int_mb(k_range+p3b-1)
469
dima_sort = int_mb(k_range+h1b-1)
470
dima = dim_common * dima_sort
471
dimb_sort = int_mb(k_range+h7b-1)
472
dimb = dim_common * dimb_sort
473
IF ((dima .gt. 0) .and. (dimb .gt. 0)) THEN
474
IF (.not.MA_PUSH_GET(mt_dbl,dima,'noname',l_as,k_as))
475
1 CALL ERRQUIT('ccsd_t1_2_2',1,MA_ERR)
476
IF (.not.MA_PUSH_GET(mt_dbl,dima,'noname',l_a,k_a))
477
1 CALL ERRQUIT('ccsd_t1_2_2',2,MA_ERR)
478
CALL GET_HASH_BLOCK_MA(dbl_mb(d_a),dbl_mb(k_a),dima,
479
1 int_mb(k_a_offset),
480
2 (h1b_1 - 1 + noab * (p3b_1 - noab - 1)))
481
CALL TCE_SORT_2(dbl_mb(k_a),dbl_mb(k_as),
482
1 int_mb(k_range+p3b-1),int_mb(k_range+h1b-1),
484
IF (.not.MA_POP_STACK(l_a))
485
1 CALL ERRQUIT('ccsd_t1_2_2',3,MA_ERR)
486
IF (.not.MA_PUSH_GET(mt_dbl,dimb,'noname',l_b,k_b))
487
1 CALL ERRQUIT('ccsd_t1_2_2',5,MA_ERR)
488
CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,
489
1 int_mb(k_b_offset),
490
2 (p3b_2 - noab - 1 + nvab * (h7b_2 - 1)))
491
CALL DGEMM('T','N',dima_sort,dimb_sort,dim_common,1.0d0,
492
1 dbl_mb(k_as),dim_common,dbl_mb(k_b),dim_common,
493
2 1.0d0,dbl_mb(k_c),dima_sort)
494
IF (.not.MA_POP_STACK(l_b))
495
1 CALL ERRQUIT('ccsd_t1_2_2',7,MA_ERR)
496
IF (.not.MA_POP_STACK(l_as))
497
1 CALL ERRQUIT('ccsd_t1_2_2',8,MA_ERR)
502
CALL ADD_HASH_BLOCK(d_c,dbl_mb(k_c),dimc,
503
1 int_mb(k_c_offset),(h1b - 1 + noab * (h7b - 1)))
504
IF (.not.MA_POP_STACK(l_c))
505
1 CALL ERRQUIT('ccsd_t1_2_2',10,MA_ERR)
509
next = NXTASK(nprocs, 1)
514
next = NXTASK(-nprocs, 1)
522
SUBROUTINE ccsd_t1_2_2_1(d_a,k_a_offset,d_c,k_c_offset)
523
C $Id: ccsd_t1_loc.F,v 1.1 2008-12-14 01:00:23 jhammond Exp $
524
C This is a Fortran77 program generated by Tensor Contraction Engine v.1.0
525
C Copyright (c) Battelle & Pacific Northwest National Laboratory (2002)
526
C i2 ( h7 p3 )_f + = 1 * f ( h7 p3 )_f
529
#include "mafdecls.fh"
531
#include "errquit.fh"
534
INTEGER k_a_offset, k_c_offset
535
INTEGER NXTASK, next, nprocs, count
536
INTEGER h7b, p3b, h7b_1, p3b_1
542
next = NXTASK(nprocs, 1)
544
DO p3b = noab+1,noab+nvab
545
IF (next.eq.count) THEN
546
IF ((.not.restricted).or.(int_mb(k_spin+h7b-1)
547
1 +int_mb(k_spin+p3b-1).ne.4)) THEN
548
IF (int_mb(k_spin+h7b-1) .eq. int_mb(k_spin+p3b-1)) THEN
549
IF (ieor(int_mb(k_sym+h7b-1),int_mb(k_sym+p3b-1))
551
dimc = int_mb(k_range+h7b-1) * int_mb(k_range+p3b-1)
552
CALL TCE_RESTRICTED_2(h7b,p3b,h7b_1,p3b_1)
553
IF (dimc .gt. 0) THEN
554
IF (.not.MA_PUSH_GET(mt_dbl,dimc,'noname',l_a,k_a))
555
1 CALL ERRQUIT('ccsd_t1_2_2_1',1,MA_ERR)
556
CALL GET_HASH_BLOCK(d_a,dbl_mb(k_a),dimc,
557
1 int_mb(k_a_offset),
558
2 (p3b_1 - 1 + (noab+nvab) * (h7b_1 - 1)))
559
CALL ADD_HASH_BLOCK(d_c,dbl_mb(k_a),dimc,
560
1 int_mb(k_c_offset),
561
2 (p3b - noab - 1 + nvab * (h7b - 1)))
562
IF (.not.MA_POP_STACK(l_a))
563
1 CALL ERRQUIT('ccsd_t1_2_2_1',5,MA_ERR)
568
next = NXTASK(nprocs, 1)
573
next = NXTASK(-nprocs, 1)
581
SUBROUTINE OFFSET_ccsd_t1_2_2_1(l_a_offset,k_a_offset,size)
582
C $Id: ccsd_t1_loc.F,v 1.1 2008-12-14 01:00:23 jhammond Exp $
583
C This is a Fortran77 program generated by Tensor Contraction Engine v.1.0
584
C Copyright (c) Battelle & Pacific Northwest National Laboratory (2002)
588
#include "mafdecls.fh"
590
#include "errquit.fh"
601
DO p3b = noab+1,noab+nvab
602
IF (int_mb(k_spin+h7b-1) .eq. int_mb(k_spin+p3b-1)) THEN
603
IF (ieor(int_mb(k_sym+h7b-1),int_mb(k_sym+p3b-1)) .eq. irrep_f) TH
605
IF ((.not.restricted).or.(int_mb(k_spin+h7b-1)+int_mb(k_spin+p3b-1
613
IF (.not.MA_PUSH_GET(mt_int,2*length+1,'noname',l_a_offset,k_a_off
614
&set)) CALL ERRQUIT('ccsd_t1_2_2_1',0,MA_ERR)
615
int_mb(k_a_offset) = length
619
DO p3b = noab+1,noab+nvab
620
IF (int_mb(k_spin+h7b-1) .eq. int_mb(k_spin+p3b-1)) THEN
621
IF (ieor(int_mb(k_sym+h7b-1),int_mb(k_sym+p3b-1)) .eq. irrep_f) TH
623
IF ((.not.restricted).or.(int_mb(k_spin+h7b-1)+int_mb(k_spin+p3b-1
626
int_mb(k_a_offset+addr) = p3b - noab - 1 + nvab * (h7b - 1)
627
int_mb(k_a_offset+length+addr) = size
628
size = size + int_mb(k_range+h7b-1) * int_mb(k_range+p3b-1)
641
SUBROUTINE ccsd_t1_2_2_2(d_a,k_a_offset,d_b,k_b_offset,d_c,k_c_off
643
C $Id: ccsd_t1_loc.F,v 1.1 2008-12-14 01:00:23 jhammond Exp $
644
C This is a Fortran77 program generated by Tensor Contraction Engine v.1.0
645
C Copyright (c) Battelle & Pacific Northwest National Laboratory (2002)
646
C i2 ( h7 p3 )_vt + = -1 * Sum ( h6 p5 ) * t ( p5 h6 )_t * v ( h6 h7 p3 p5 )_v
649
#include "mafdecls.fh"
651
#include "errquit.fh"
654
INTEGER k_a_offset,k_b_offset,k_c_offset
655
INTEGER NXTASK,next,nprocs,count
656
INTEGER h7b,p3b,p5b,h6b,p5b_1,h6b_1,h7b_2,h6b_2,p3b_2,p5b_2
657
INTEGER dim_common,dima_sort,dimb_sort
658
INTEGER dima,dimb,dimc
659
INTEGER k_as,l_as,k_bs,l_bs,k_cs,l_cs
660
INTEGER k_a,l_a,k_b,l_b,k_c,l_c
664
next = NXTASK(nprocs, 1)
666
DO p3b = noab+1,noab+nvab
667
IF (next.eq.count) THEN
668
IF ((.not.restricted).or.(int_mb(k_spin+h7b-1)
669
1 +int_mb(k_spin+p3b-1).ne.4)) THEN
670
IF (int_mb(k_spin+h7b-1) .eq. int_mb(k_spin+p3b-1)) THEN
671
IF (ieor(int_mb(k_sym+h7b-1),int_mb(k_sym+p3b-1))
672
1 .eq. ieor(irrep_v,irrep_t)) THEN
673
dimc = int_mb(k_range+h7b-1) * int_mb(k_range+p3b-1)
674
IF (.not.MA_PUSH_GET(mt_dbl,dimc,'noname',l_cs,k_cs))
675
1 CALL ERRQUIT('ccsd_t1_2_2_2',0,MA_ERR)
676
CALL DFILL(dimc,0.0d0,dbl_mb(k_cs),1)
677
DO p5b = noab+1,noab+nvab
679
IF (int_mb(k_spin+p5b-1) .eq. int_mb(k_spin+h6b-1)) THEN
680
IF (ieor(int_mb(k_sym+p5b-1),int_mb(k_sym+h6b-1))
682
CALL TCE_RESTRICTED_2(p5b,h6b,p5b_1,h6b_1)
683
CALL TCE_RESTRICTED_4(h7b,h6b,p3b,p5b,
684
1 h7b_2,h6b_2,p3b_2,p5b_2)
685
dim_common = int_mb(k_range+p5b-1)
686
1 * int_mb(k_range+h6b-1)
688
dima = dim_common * dima_sort
689
dimb_sort = int_mb(k_range+h7b-1)
690
1 * int_mb(k_range+p3b-1)
691
dimb = dim_common * dimb_sort
692
IF ((dima .gt. 0) .and. (dimb .gt. 0)) THEN
693
IF (.not.MA_PUSH_GET(mt_dbl,dima,'noname',l_as,k_as))
694
1 CALL ERRQUIT('ccsd_t1_2_2_2',1,MA_ERR)
695
IF (.not.MA_PUSH_GET(mt_dbl,dima,'noname',l_a,k_a))
696
1 CALL ERRQUIT('ccsd_t1_2_2_2',2,MA_ERR)
697
CALL GET_HASH_BLOCK_MA(dbl_mb(d_a),dbl_mb(k_a),dima,
698
1 int_mb(k_a_offset),
699
2 (h6b_1 - 1 + noab * (p5b_1 - noab - 1)))
700
CALL TCE_SORT_2(dbl_mb(k_a),dbl_mb(k_as),
701
1 int_mb(k_range+p5b-1),int_mb(k_range+h6b-1),
703
IF (.not.MA_POP_STACK(l_a))
704
1 CALL ERRQUIT('ccsd_t1_2_2_2',3,MA_ERR)
705
IF (.not.MA_PUSH_GET(mt_dbl,dimb,'noname',l_bs,k_bs))
706
1 CALL ERRQUIT('ccsd_t1_2_2_2',4,MA_ERR)
707
IF (.not.MA_PUSH_GET(mt_dbl,dimb,'noname',l_b,k_b))
708
1 CALL ERRQUIT('ccsd_t1_2_2_2',5,MA_ERR)
709
IF ((h6b .le. h7b) .and. (p5b .lt. p3b)) THEN
711
CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,
712
1 int_mb(k_b_offset),(p3b_2 - 1 + (noab+nvab) *
713
2 (p5b_2 - 1 + (noab+nvab) * (h7b_2 - 1 +
714
3 (noab+nvab) * (h6b_2 - 1)))))
716
CALL GET_HASH_BLOCK_I(d_b,dbl_mb(k_b),dimb,
717
1 int_mb(k_b_offset),(p3b_2 - 1 + (noab+nvab) *
718
2 (p5b_2 - 1 + (noab+nvab) * (h7b_2 - 1 +
719
3 (noab+nvab) * (h6b_2 - 1)))),
720
4 p3b_2,p5b_2,h7b_2,h6b_2)
722
CALL TCE_SORT_4(dbl_mb(k_b),dbl_mb(k_bs),
723
1 int_mb(k_range+h6b-1),int_mb(k_range+h7b-1),
724
2 int_mb(k_range+p5b-1),int_mb(k_range+p3b-1),
727
IF ((h6b .le. h7b) .and. (p3b .le. p5b)) THEN
729
CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,
730
1 int_mb(k_b_offset),(p5b_2 - 1 + (noab+nvab) *
731
2 (p3b_2 - 1 + (noab+nvab) * (h7b_2 - 1 +
732
3 (noab+nvab) * (h6b_2 - 1)))))
734
CALL GET_HASH_BLOCK_I(d_b,dbl_mb(k_b),dimb,
735
1 int_mb(k_b_offset),(p5b_2 - 1 + (noab+nvab) *
736
2 (p3b_2 - 1 + (noab+nvab) * (h7b_2 - 1 +
737
3 (noab+nvab) * (h6b_2 - 1)))),
738
4 p5b_2,p3b_2,h7b_2,h6b_2)
740
CALL TCE_SORT_4(dbl_mb(k_b),dbl_mb(k_bs),
741
1 int_mb(k_range+h6b-1),int_mb(k_range+h7b-1),
742
2 int_mb(k_range+p3b-1),int_mb(k_range+p5b-1),
745
IF ((h7b .lt. h6b) .and. (p5b .lt. p3b)) THEN
747
CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,
748
1 int_mb(k_b_offset),(p3b_2 - 1 + (noab+nvab) *
749
2 (p5b_2 - 1 + (noab+nvab) * (h6b_2 - 1 +
750
3 (noab+nvab) * (h7b_2 - 1)))))
752
CALL GET_HASH_BLOCK_I(d_b,dbl_mb(k_b),dimb,
753
1 int_mb(k_b_offset),(p3b_2 - 1 + (noab+nvab) *
754
2 (p5b_2 - 1 + (noab+nvab) * (h6b_2 - 1 +
755
3 (noab+nvab) * (h7b_2 - 1)))),
756
4 p3b_2,p5b_2,h6b_2,h7b_2)
758
CALL TCE_SORT_4(dbl_mb(k_b),dbl_mb(k_bs),
759
1 int_mb(k_range+h7b-1),int_mb(k_range+h6b-1),
760
2 int_mb(k_range+p5b-1),int_mb(k_range+p3b-1),
763
IF ((h7b .lt. h6b) .and. (p3b .le. p5b)) THEN
765
CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,
766
1 int_mb(k_b_offset),(p5b_2 - 1 + (noab+nvab) *
767
2 (p3b_2 - 1 + (noab+nvab) * (h6b_2 - 1 +
768
3 (noab+nvab) * (h7b_2 - 1)))))
770
CALL GET_HASH_BLOCK_I(d_b,dbl_mb(k_b),dimb,
771
1 int_mb(k_b_offset),(p5b_2 - 1 + (noab+nvab) *
772
2 (p3b_2 - 1 + (noab+nvab) * (h6b_2 - 1 +
773
3 (noab+nvab) * (h7b_2 - 1)))),
774
4 p5b_2,p3b_2,h6b_2,h7b_2)
776
CALL TCE_SORT_4(dbl_mb(k_b),dbl_mb(k_bs),
777
1 int_mb(k_range+h7b-1),int_mb(k_range+h6b-1),
778
2 int_mb(k_range+p3b-1),int_mb(k_range+p5b-1),
781
IF (.not.MA_POP_STACK(l_b))
782
1 CALL ERRQUIT('ccsd_t1_2_2_2',6,MA_ERR)
783
CALL DGEMM('T','N',dima_sort,dimb_sort,dim_common,
784
1 1.0d0,dbl_mb(k_as),dim_common,dbl_mb(k_bs),
785
2 dim_common,1.0d0,dbl_mb(k_cs),dima_sort)
786
IF (.not.MA_POP_STACK(l_bs))
787
1 CALL ERRQUIT('ccsd_t1_2_2_2',7,MA_ERR)
788
IF (.not.MA_POP_STACK(l_as))
789
1 CALL ERRQUIT('ccsd_t1_2_2_2',8,MA_ERR)
795
IF (.not.MA_PUSH_GET(mt_dbl,dimc,'noname',l_c,k_c))
796
1 CALL ERRQUIT('ccsd_t1_2_2_2',9,MA_ERR)
797
CALL TCE_SORT_2(dbl_mb(k_cs),dbl_mb(k_c),
798
1 int_mb(k_range+p3b-1),int_mb(k_range+h7b-1),
800
CALL ADD_HASH_BLOCK(d_c,dbl_mb(k_c),dimc,
801
1 int_mb(k_c_offset),
802
2 (p3b - noab - 1 + nvab * (h7b - 1)))
803
IF (.not.MA_POP_STACK(l_c))
804
1 CALL ERRQUIT('ccsd_t1_2_2_2',10,MA_ERR)
805
IF (.not.MA_POP_STACK(l_cs))
806
1 CALL ERRQUIT('ccsd_t1_2_2_2',11,MA_ERR)
810
next = NXTASK(nprocs, 1)
815
next = NXTASK(-nprocs, 1)
819
SUBROUTINE ccsd_t1_2_3(d_a,k_a_offset,d_b,k_b_offset,d_c,k_c_offse
821
C $Id: ccsd_t1_loc.F,v 1.1 2008-12-14 01:00:23 jhammond Exp $
822
C This is a Fortran77 program generated by Tensor Contraction Engine v.1.0
823
C Copyright (c) Battelle & Pacific Northwest National Laboratory (2002)
824
C i1 ( h7 h1 )_vt + = -1 * Sum ( h5 p4 ) * t ( p4 h5 )_t * v ( h5 h7 h1 p4 )_v
827
#include "mafdecls.fh"
829
#include "errquit.fh"
872
next = NXTASK(nprocs, 1)
875
IF (next.eq.count) THEN
876
IF ((.not.restricted).or.(int_mb(k_spin+h7b-1)+int_mb(k_spin+h1b-1
878
IF (int_mb(k_spin+h7b-1) .eq. int_mb(k_spin+h1b-1)) THEN
879
IF (ieor(int_mb(k_sym+h7b-1),int_mb(k_sym+h1b-1)) .eq. ieor(irrep_
881
dimc = int_mb(k_range+h7b-1) * int_mb(k_range+h1b-1)
882
IF (.not.MA_PUSH_GET(mt_dbl,dimc,'noname',l_cs,k_cs)) CALL
883
& ERRQUIT('ccsd_t1_2_3',0,MA_ERR)
884
CALL DFILL(dimc,0.0d0,dbl_mb(k_cs),1)
885
DO p4b = noab+1,noab+nvab
887
IF (int_mb(k_spin+p4b-1) .eq. int_mb(k_spin+h5b-1)) THEN
888
IF (ieor(int_mb(k_sym+p4b-1),int_mb(k_sym+h5b-1)) .eq. irrep_t) TH
890
CALL TCE_RESTRICTED_2(p4b,h5b,p4b_1,h5b_1)
891
CALL TCE_RESTRICTED_4(h7b,h5b,h1b,p4b,h7b_2,h5b_2,h1b_2,p4b_2)
892
dim_common = int_mb(k_range+p4b-1) * int_mb(k_range+h5b-1)
894
dima = dim_common * dima_sort
895
dimb_sort = int_mb(k_range+h7b-1) * int_mb(k_range+h1b-1)
896
dimb = dim_common * dimb_sort
897
IF ((dima .gt. 0) .and. (dimb .gt. 0)) THEN
898
IF (.not.MA_PUSH_GET(mt_dbl,dima,'noname',l_as,k_as)) CALL
899
& ERRQUIT('ccsd_t1_2_3',1,MA_ERR)
900
IF (.not.MA_PUSH_GET(mt_dbl,dima,'noname',l_a,k_a)) CALL ERRQUIT('
901
&ccsd_t1_2_3',2,MA_ERR)
902
CALL GET_HASH_BLOCK_MA(dbl_mb(d_a),dbl_mb(k_a),dima,
903
& int_mb(k_a_offset),(h5b_1
904
& - 1 + noab * (p4b_1 - noab - 1)))
905
CALL TCE_SORT_2(dbl_mb(k_a),dbl_mb(k_as),int_mb(k_range+p4b-1)
906
&,int_mb(k_range+h5b-1),2,1,1.0d0)
907
IF (.not.MA_POP_STACK(l_a)) CALL ERRQUIT('ccsd_t1_2_3',3,MA_ERR)
908
IF (.not.MA_PUSH_GET(mt_dbl,dimb,'noname',l_bs,k_bs)) CALL
909
& ERRQUIT('ccsd_t1_2_3',4,MA_ERR)
910
IF (.not.MA_PUSH_GET(mt_dbl,dimb,'noname',l_b,k_b)) CALL ERRQUIT('
911
&ccsd_t1_2_3',5,MA_ERR)
912
IF ((h5b .le. h7b) .and. (h1b .le. p4b)) THEN
914
CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p4b_2
915
& - 1 + (noab+nvab) * (h1b_2 - 1 + (noab+nvab) * (h7b_2 - 1 + (noab
916
&+nvab) * (h5b_2 - 1)))))
918
CALL GET_HASH_BLOCK_I(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),
920
& - 1 + (noab+nvab) * (h1b_2 - 1 + (noab+nvab) * (h7b_2 - 1 + (noab
921
&+nvab) * (h5b_2 - 1)))),p4b_2,h1b_2,h7b_2,h5b_2)
923
CALL TCE_SORT_4(dbl_mb(k_b),dbl_mb(k_bs),int_mb(k_range+h5b-1)
924
&,int_mb(k_range+h7b-1),int_mb(k_range+h1b-1),int_mb(k_range+p4b-1)
927
IF ((h7b .lt. h5b) .and. (h1b .le. p4b)) THEN
929
CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p4b_2
930
& - 1 + (noab+nvab) * (h1b_2 - 1 + (noab+nvab) * (h5b_2 - 1 + (noab
931
&+nvab) * (h7b_2 - 1)))))
933
CALL GET_HASH_BLOCK_I(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),
935
& - 1 + (noab+nvab) * (h1b_2 - 1 + (noab+nvab) * (h5b_2 - 1 + (noab
936
&+nvab) * (h7b_2 - 1)))),p4b_2,h1b_2,h5b_2,h7b_2)
938
CALL TCE_SORT_4(dbl_mb(k_b),dbl_mb(k_bs),int_mb(k_range+h7b-1)
939
&,int_mb(k_range+h5b-1),int_mb(k_range+h1b-1),int_mb(k_range+p4b-1)
942
IF (.not.MA_POP_STACK(l_b)) CALL ERRQUIT('ccsd_t1_2_3',6,MA_ERR)
943
CALL DGEMM('T','N',dima_sort,dimb_sort,dim_common,1.0d0,
944
1 dbl_mb(k_as),dim_common,dbl_mb(k_bs),dim_common,1.0d0,
945
2 dbl_mb(k_cs),dima_sort)
946
IF (.not.MA_POP_STACK(l_bs))
947
1 CALL ERRQUIT('ccsd_t1_2_3',7,MA_ERR)
948
IF (.not.MA_POP_STACK(l_as))
949
1 CALL ERRQUIT('ccsd_t1_2_3',8,MA_ERR)
955
IF (.not.MA_PUSH_GET(mt_dbl,dimc,'noname',l_c,k_c)) CALL ERRQUIT('
956
&ccsd_t1_2_3',9,MA_ERR)
957
CALL TCE_SORT_2(dbl_mb(k_cs),dbl_mb(k_c),int_mb(k_range+h1b-1)
958
&,int_mb(k_range+h7b-1),2,1,-1.0d0)
959
CALL ADD_HASH_BLOCK(d_c,dbl_mb(k_c),dimc,int_mb(k_c_offset),(h1b -
960
& 1 + noab * (h7b - 1)))
961
IF (.not.MA_POP_STACK(l_c)) CALL ERRQUIT('ccsd_t1_2_3',10,MA_ERR)
962
IF (.not.MA_POP_STACK(l_cs)) CALL ERRQUIT('ccsd_t1_2_3',11,MA_
967
next = NXTASK(nprocs, 1)
972
next = NXTASK(-nprocs, 1)
976
SUBROUTINE ccsd_t1_2_4(d_a,k_a_offset,d_b,k_b_offset,d_c,k_c_offse
978
C $Id: ccsd_t1_loc.F,v 1.1 2008-12-14 01:00:23 jhammond Exp $
979
C This is a Fortran77 program generated by Tensor Contraction Engine v.1.0
980
C Copyright (c) Battelle & Pacific Northwest National Laboratory (2002)
981
C i1 ( h7 h1 )_vt + = -1/2 * Sum ( h5 p3 p4 ) * t ( p3 p4 h1 h5 )_t * v ( h5 h7 p3 p4 )_v
984
#include "mafdecls.fh"
986
#include "errquit.fh"
1031
DOUBLE PRECISION FACTORIAL
1034
nprocs = GA_NNODES()
1036
next = NXTASK(nprocs, 1)
1039
IF (next.eq.count) THEN
1040
IF ((.not.restricted).or.(int_mb(k_spin+h7b-1)+int_mb(k_spin+h1b-1
1042
IF (int_mb(k_spin+h7b-1) .eq. int_mb(k_spin+h1b-1)) THEN
1043
IF (ieor(int_mb(k_sym+h7b-1),int_mb(k_sym+h1b-1)) .eq. ieor(irrep_
1045
dimc = int_mb(k_range+h7b-1) * int_mb(k_range+h1b-1)
1046
IF (.not.MA_PUSH_GET(mt_dbl,dimc,'noname',l_cs,k_cs)) CALL
1047
& ERRQUIT('ccsd_t1_2_4',0,MA_ERR)
1048
CALL DFILL(dimc,0.0d0,dbl_mb(k_cs),1)
1049
DO p3b = noab+1,noab+nvab
1050
DO p4b = p3b,noab+nvab
1052
IF (int_mb(k_spin+p3b-1)+int_mb(k_spin+p4b-1) .eq. int_mb(k_spin+h
1053
&1b-1)+int_mb(k_spin+h5b-1)) THEN
1054
IF (ieor(int_mb(k_sym+p3b-1),ieor(int_mb(k_sym+p4b-1),ieor(int_mb(
1055
&k_sym+h1b-1),int_mb(k_sym+h5b-1)))) .eq. irrep_t) THEN
1056
CALL TCE_RESTRICTED_4(p3b,p4b,h1b,h5b,p3b_1,p4b_1,h1b_1,h5b_1)
1057
CALL TCE_RESTRICTED_4(h7b,h5b,p3b,p4b,h7b_2,h5b_2,p3b_2,p4b_2)
1058
dim_common = int_mb(k_range+p3b-1) * int_mb(k_range+p4b-1) * int_m
1060
dima_sort = int_mb(k_range+h1b-1)
1061
dima = dim_common * dima_sort
1062
dimb_sort = int_mb(k_range+h7b-1)
1063
dimb = dim_common * dimb_sort
1064
IF ((dima .gt. 0) .and. (dimb .gt. 0)) THEN
1065
IF (.not.MA_PUSH_GET(mt_dbl,dima,'noname',l_as,k_as)) CALL
1066
& ERRQUIT('ccsd_t1_2_4',1,MA_ERR)
1067
IF (.not.MA_PUSH_GET(mt_dbl,dima,'noname',l_a,k_a)) CALL ERRQUIT('
1068
&ccsd_t1_2_4',2,MA_ERR)
1069
IF ((h5b .lt. h1b)) THEN
1070
CALL GET_HASH_BLOCK(d_a,dbl_mb(k_a),dima,int_mb(k_a_offset),(h1b_1
1071
& - 1 + noab * (h5b_1 - 1 + noab * (p4b_1 - noab - 1 + nvab * (p3b_
1073
CALL TCE_SORT_4(dbl_mb(k_a),dbl_mb(k_as),int_mb(k_range+p3b-1)
1074
&,int_mb(k_range+p4b-1),int_mb(k_range+h5b-1),int_mb(k_range+h1b-1)
1077
IF ((h1b .le. h5b)) THEN
1078
CALL GET_HASH_BLOCK(d_a,dbl_mb(k_a),dima,int_mb(k_a_offset),(h5b_1
1079
& - 1 + noab * (h1b_1 - 1 + noab * (p4b_1 - noab - 1 + nvab * (p3b_
1081
CALL TCE_SORT_4(dbl_mb(k_a),dbl_mb(k_as),int_mb(k_range+p3b-1)
1082
&,int_mb(k_range+p4b-1),int_mb(k_range+h1b-1),int_mb(k_range+h5b-1)
1085
IF (.not.MA_POP_STACK(l_a)) CALL ERRQUIT('ccsd_t1_2_4',3,MA_ERR)
1086
IF (.not.MA_PUSH_GET(mt_dbl,dimb,'noname',l_bs,k_bs)) CALL
1087
& ERRQUIT('ccsd_t1_2_4',4,MA_ERR)
1088
IF (.not.MA_PUSH_GET(mt_dbl,dimb,'noname',l_b,k_b)) CALL ERRQUIT('
1089
&ccsd_t1_2_4',5,MA_ERR)
1090
IF ((h5b .le. h7b)) THEN
1091
if(.not.intorb) then
1092
CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p4b_2
1093
& - 1 + (noab+nvab) * (p3b_2 - 1 + (noab+nvab) * (h7b_2 - 1 + (noab
1094
&+nvab) * (h5b_2 - 1)))))
1096
CALL GET_HASH_BLOCK_I(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),
1098
& - 1 + (noab+nvab) * (p3b_2 - 1 + (noab+nvab) * (h7b_2 - 1 + (noab
1099
&+nvab) * (h5b_2 - 1)))),p4b_2,p3b_2,h7b_2,h5b_2)
1101
CALL TCE_SORT_4(dbl_mb(k_b),dbl_mb(k_bs),int_mb(k_range+h5b-1)
1102
&,int_mb(k_range+h7b-1),int_mb(k_range+p3b-1),int_mb(k_range+p4b-1)
1105
IF ((h7b .lt. h5b)) THEN
1106
if(.not.intorb) then
1107
CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p4b_2
1108
& - 1 + (noab+nvab) * (p3b_2 - 1 + (noab+nvab) * (h5b_2 - 1 + (noab
1109
&+nvab) * (h7b_2 - 1)))))
1111
CALL GET_HASH_BLOCK_I(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),
1113
& - 1 + (noab+nvab) * (p3b_2 - 1 + (noab+nvab) * (h5b_2 - 1 + (noab
1114
&+nvab) * (h7b_2 - 1)))),p4b_2,p3b_2,h5b_2,h7b_2)
1116
CALL TCE_SORT_4(dbl_mb(k_b),dbl_mb(k_bs),int_mb(k_range+h7b-1)
1117
&,int_mb(k_range+h5b-1),int_mb(k_range+p3b-1),int_mb(k_range+p4b-1)
1120
IF (.not.MA_POP_STACK(l_b)) CALL ERRQUIT('ccsd_t1_2_4',6,MA_ERR)
1124
IF (p3b .eq. p4b) THEN
1125
nsuperp(isuperp) = nsuperp(isuperp) + 1
1127
isuperp = isuperp + 1
1129
CALL DGEMM('T','N',dima_sort,dimb_sort,dim_common,2.0d0/FACTORIAL(
1130
&nsuperp(1))/FACTORIAL(nsuperp(2)),dbl_mb(k_as),dim_common,dbl_
1131
&mb(k_bs),dim_common,1.0d0,dbl_mb(k_cs),dima_sort)
1132
IF (.not.MA_POP_STACK(l_bs)) CALL ERRQUIT('ccsd_t1_2_4',7,MA_E
1134
IF (.not.MA_POP_STACK(l_as)) CALL ERRQUIT('ccsd_t1_2_4',8,MA_E
1142
IF (.not.MA_PUSH_GET(mt_dbl,dimc,'noname',l_c,k_c)) CALL ERRQUIT('
1143
&ccsd_t1_2_4',9,MA_ERR)
1144
CALL TCE_SORT_2(dbl_mb(k_cs),dbl_mb(k_c),int_mb(k_range+h7b-1)
1145
&,int_mb(k_range+h1b-1),1,2,-1.0d0/2.0d0)
1146
CALL ADD_HASH_BLOCK(d_c,dbl_mb(k_c),dimc,int_mb(k_c_offset),(h1b -
1147
& 1 + noab * (h7b - 1)))
1148
IF (.not.MA_POP_STACK(l_c)) CALL ERRQUIT('ccsd_t1_2_4',10,MA_ERR)
1149
IF (.not.MA_POP_STACK(l_cs)) CALL ERRQUIT('ccsd_t1_2_4',11,MA_
1154
next = NXTASK(nprocs, 1)
1159
next = NXTASK(-nprocs, 1)
1168
SUBROUTINE ccsd_t1_3(d_a,k_a_offset,d_b,k_b_offset,d_c,k_c_offset)
1169
C $Id: ccsd_t1_loc.F,v 1.1 2008-12-14 01:00:23 jhammond Exp $
1170
C This is a Fortran77 program generated by Tensor Contraction Engine v.1.0
1171
C Copyright (c) Battelle & Pacific Northwest National Laboratory (2002)
1172
C i0 ( p2 h1 )_tf + = 1 * Sum ( p3 ) * t ( p3 h1 )_t * i1 ( p2 p3 )_f
1174
#include "global.fh"
1175
#include "mafdecls.fh"
1177
#include "errquit.fh"
1179
INTEGER d_a, d_b, d_c
1180
INTEGER k_a_offset, k_b_offset, k_c_offset
1181
INTEGER NXTASK, next, nprocs, count
1182
INTEGER p2b, h1b, p3b, p3b_1, h1b_1, p2b_2, p3b_2
1183
INTEGER dim_common, dima_sort, dimb_sort, dima, dimb, dimc
1185
INTEGER k_a, k_b, l_b, k_c, l_c
1192
nprocs = GA_NNODES()
1194
next = NXTASK(nprocs, 1)
1195
DO p2b = noab+1,noab+nvab
1197
IF (next.eq.count) THEN
1198
IF ((.not.restricted).or.(int_mb(k_spin+p2b-1)
1199
1 +int_mb(k_spin+h1b-1).ne.4)) THEN
1200
IF (int_mb(k_spin+p2b-1) .eq. int_mb(k_spin+h1b-1)) THEN
1201
IF (ieor(int_mb(k_sym+p2b-1),int_mb(k_sym+h1b-1)) .eq.
1202
1 ieor(irrep_t,irrep_f)) THEN
1203
dimc = int_mb(k_range+p2b-1) * int_mb(k_range+h1b-1)
1204
IF (.not.MA_PUSH_GET(mt_dbl,dimc,'c',l_c,k_c))
1205
1 CALL ERRQUIT('ccsd_t1_3',0,MA_ERR)
1206
CALL DFILL(dimc,0.0d0,dbl_mb(k_c),1)
1207
DO p3b = noab+1,noab+nvab
1208
IF (int_mb(k_spin+p3b-1) .eq. int_mb(k_spin+h1b-1)) THEN
1209
IF (ieor(int_mb(k_sym+p3b-1),int_mb(k_sym+h1b-1))
1210
1 .eq. irrep_t) THEN
1211
CALL TCE_RESTRICTED_2(p3b,h1b,p3b_1,h1b_1)
1212
CALL TCE_RESTRICTED_2(p2b,p3b,p2b_2,p3b_2)
1213
dim_common = int_mb(k_range+p3b-1)
1214
dima_sort = int_mb(k_range+h1b-1)
1215
dima = dim_common * dima_sort
1216
dimb_sort = int_mb(k_range+p2b-1)
1217
dimb = dim_common * dimb_sort
1218
IF ((dima .gt. 0) .and. (dimb .gt. 0)) THEN
1219
IF (.not.MA_PUSH_GET(mt_dbl,dima,'as',l_as,k_as))
1220
1 CALL ERRQUIT('ccsd_t1_3',1,MA_ERR)
1222
IF (.not.MA_PUSH_GET(mt_dbl,dima,'a',l_a,k_a))
1223
1 CALL ERRQUIT('ccsd_t1_3',2,MA_ERR)
1224
CALL GET_HASH_BLOCK_MA(dbl_mb(d_a),dbl_mb(k_a),dima,
1225
1 int_mb(k_a_offset),
1226
2 (h1b_1 - 1 + noab * (p3b_1 - noab - 1)))
1228
call tce_hash(int_mb(k_a_offset),
1229
1 (h1b_1 - 1 + noab * (p3b_1 - noab - 1)),
1231
k_a = d_a + offset_a
1233
CALL TCE_SORT_2(dbl_mb(k_a),dbl_mb(k_as),
1234
1 int_mb(k_range+p3b-1),int_mb(k_range+h1b-1),
1237
IF (.not.MA_POP_STACK(l_a))
1238
1 CALL ERRQUIT('ccsd_t1_3',3,MA_ERR)
1240
IF (.not.MA_PUSH_GET(mt_dbl,dimb,'noname',l_b,k_b))
1241
1 CALL ERRQUIT('ccsd_t1_3',5,MA_ERR)
1242
CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,
1243
1 int_mb(k_b_offset),
1244
2 (p3b_2 - noab - 1 + nvab * (p2b_2 - noab - 1)))
1245
CALL DGEMM('T','N',dima_sort,dimb_sort,dim_common,1.0d0,
1246
1 dbl_mb(k_as),dim_common,dbl_mb(k_b),dim_common,
1247
2 1.0d0,dbl_mb(k_c),dima_sort)
1248
IF (.not.MA_POP_STACK(l_b))
1249
1 CALL ERRQUIT('ccsd_t1_3',7,MA_ERR)
1250
IF (.not.MA_POP_STACK(l_as))
1251
1 CALL ERRQUIT('ccsd_t1_3',8,MA_ERR)
1256
CALL ADD_HASH_BLOCK(d_c,dbl_mb(k_c),dimc,
1257
1 int_mb(k_c_offset),
1258
2 (h1b - 1 + noab * (p2b - noab - 1)))
1259
IF (.not.MA_POP_STACK(l_c))
1260
1 CALL ERRQUIT('ccsd_t1_3',10,MA_ERR)
1264
next = NXTASK(nprocs, 1)
1269
next = NXTASK(-nprocs, 1)
1279
SUBROUTINE ccsd_t1_3_1(d_a,k_a_offset,d_c,k_c_offset)
1280
C $Id: ccsd_t1_loc.F,v 1.1 2008-12-14 01:00:23 jhammond Exp $
1281
C This is a Fortran77 program generated by Tensor Contraction Engine v.1.0
1282
C Copyright (c) Battelle & Pacific Northwest National Laboratory (2002)
1283
C i1 ( p2 p3 )_f + = 1 * f ( p2 p3 )_f
1285
#include "global.fh"
1286
#include "mafdecls.fh"
1288
#include "errquit.fh"
1291
INTEGER k_a_offset, k_c_offset
1292
INTEGER NXTASK, next, nprocs, count
1293
INTEGER p2b, p3b, p2b_1, p3b_1
1297
nprocs = GA_NNODES()
1299
next = NXTASK(nprocs, 1)
1300
DO p2b = noab+1,noab+nvab
1301
DO p3b = noab+1,noab+nvab
1302
IF (next.eq.count) THEN
1303
IF ((.not.restricted).or.(int_mb(k_spin+p2b-1)
1304
1 +int_mb(k_spin+p3b-1).ne.4)) THEN
1305
IF (int_mb(k_spin+p2b-1) .eq. int_mb(k_spin+p3b-1)) THEN
1306
IF (ieor(int_mb(k_sym+p2b-1),int_mb(k_sym+p3b-1))
1307
1 .eq. irrep_f) THEN
1308
CALL TCE_RESTRICTED_2(p2b,p3b,p2b_1,p3b_1)
1309
dima = int_mb(k_range+p2b-1) * int_mb(k_range+p3b-1)
1310
IF (dima .gt. 0) THEN
1311
IF (.not.MA_PUSH_GET(mt_dbl,dima,'noname',l_a,k_a))
1312
1 CALL ERRQUIT('ccsd_t1_3_1',1,MA_ERR)
1313
CALL GET_HASH_BLOCK(d_a,dbl_mb(k_a),dima,
1314
1 int_mb(k_a_offset),
1315
2 (p3b_1 - 1 + (noab+nvab) * (p2b_1 - 1)))
1316
CALL ADD_HASH_BLOCK(d_c,dbl_mb(k_a),dima,
1317
1 int_mb(k_c_offset),
1318
2 (p3b - noab - 1 + nvab * (p2b - noab - 1)))
1319
IF (.not.MA_POP_STACK(l_a))
1320
1 CALL ERRQUIT('ccsd_t1_3_1',5,MA_ERR)
1325
next = NXTASK(nprocs, 1)
1330
next = NXTASK(-nprocs, 1)
1339
SUBROUTINE OFFSET_ccsd_t1_3_1(l_a_offset,k_a_offset,size)
1340
C $Id: ccsd_t1_loc.F,v 1.1 2008-12-14 01:00:23 jhammond Exp $
1341
C This is a Fortran77 program generated by Tensor Contraction Engine v.1.0
1342
C Copyright (c) Battelle & Pacific Northwest National Laboratory (2002)
1345
#include "global.fh"
1346
#include "mafdecls.fh"
1348
#include "errquit.fh"
1358
DO p2b = noab+1,noab+nvab
1359
DO p3b = noab+1,noab+nvab
1360
IF (int_mb(k_spin+p2b-1) .eq. int_mb(k_spin+p3b-1)) THEN
1361
IF (ieor(int_mb(k_sym+p2b-1),int_mb(k_sym+p3b-1)) .eq. irrep_f) TH
1363
IF ((.not.restricted).or.(int_mb(k_spin+p2b-1)+int_mb(k_spin+p3b-1
1371
IF (.not.MA_PUSH_GET(mt_int,2*length+1,'noname',l_a_offset,k_a_off
1372
&set)) CALL ERRQUIT('ccsd_t1_3_1',0,MA_ERR)
1373
int_mb(k_a_offset) = length
1376
DO p2b = noab+1,noab+nvab
1377
DO p3b = noab+1,noab+nvab
1378
IF (int_mb(k_spin+p2b-1) .eq. int_mb(k_spin+p3b-1)) THEN
1379
IF (ieor(int_mb(k_sym+p2b-1),int_mb(k_sym+p3b-1)) .eq. irrep_f) TH
1381
IF ((.not.restricted).or.(int_mb(k_spin+p2b-1)+int_mb(k_spin+p3b-1
1384
int_mb(k_a_offset+addr) = p3b - noab - 1 + nvab * (p2b - noab - 1)
1385
int_mb(k_a_offset+length+addr) = size
1386
size = size + int_mb(k_range+p2b-1) * int_mb(k_range+p3b-1)
1394
SUBROUTINE ccsd_t1_3_2(d_a,k_a_offset,d_b,k_b_offset,d_c,k_c_offse
1396
C $Id: ccsd_t1_loc.F,v 1.1 2008-12-14 01:00:23 jhammond Exp $
1397
C This is a Fortran77 program generated by Tensor Contraction Engine v.1.0
1398
C Copyright (c) Battelle & Pacific Northwest National Laboratory (2002)
1399
C i1 ( p2 p3 )_vt + = -1 * Sum ( h5 p4 ) * t ( p4 h5 )_t * v ( h5 p2 p3 p4 )_v
1401
#include "global.fh"
1402
#include "mafdecls.fh"
1404
#include "errquit.fh"
1445
nprocs = GA_NNODES()
1447
next = NXTASK(nprocs, 1)
1448
DO p2b = noab+1,noab+nvab
1449
DO p3b = noab+1,noab+nvab
1450
IF (next.eq.count) THEN
1451
IF ((.not.restricted).or.(int_mb(k_spin+p2b-1)+int_mb(k_spin+p3b-1
1453
IF (int_mb(k_spin+p2b-1) .eq. int_mb(k_spin+p3b-1)) THEN
1454
IF (ieor(int_mb(k_sym+p2b-1),int_mb(k_sym+p3b-1)) .eq. ieor(irrep_
1456
dimc = int_mb(k_range+p2b-1) * int_mb(k_range+p3b-1)
1457
IF (.not.MA_PUSH_GET(mt_dbl,dimc,'noname',l_cs,k_cs)) CALL
1458
& ERRQUIT('ccsd_t1_3_2',0,MA_ERR)
1459
CALL DFILL(dimc,0.0d0,dbl_mb(k_cs),1)
1460
DO p4b = noab+1,noab+nvab
1462
IF (int_mb(k_spin+p4b-1) .eq. int_mb(k_spin+h5b-1)) THEN
1463
IF (ieor(int_mb(k_sym+p4b-1),int_mb(k_sym+h5b-1)) .eq. irrep_t) TH
1465
CALL TCE_RESTRICTED_2(p4b,h5b,p4b_1,h5b_1)
1466
CALL TCE_RESTRICTED_4(p2b,h5b,p3b,p4b,p2b_2,h5b_2,p3b_2,p4b_2)
1467
dim_common = int_mb(k_range+p4b-1) * int_mb(k_range+h5b-1)
1469
dima = dim_common * dima_sort
1470
dimb_sort = int_mb(k_range+p2b-1) * int_mb(k_range+p3b-1)
1471
dimb = dim_common * dimb_sort
1472
IF ((dima .gt. 0) .and. (dimb .gt. 0)) THEN
1473
IF (.not.MA_PUSH_GET(mt_dbl,dima,'noname',l_as,k_as)) CALL
1474
& ERRQUIT('ccsd_t1_3_2',1,MA_ERR)
1475
IF (.not.MA_PUSH_GET(mt_dbl,dima,'noname',l_a,k_a)) CALL ERRQUIT('
1476
&ccsd_t1_3_2',2,MA_ERR)
1477
CALL GET_HASH_BLOCK_MA(dbl_mb(d_a),dbl_mb(k_a),dima,
1478
& int_mb(k_a_offset),(h5b_1
1479
& - 1 + noab * (p4b_1 - noab - 1)))
1480
CALL TCE_SORT_2(dbl_mb(k_a),dbl_mb(k_as),int_mb(k_range+p4b-1)
1481
&,int_mb(k_range+h5b-1),2,1,1.0d0)
1482
IF (.not.MA_POP_STACK(l_a)) CALL ERRQUIT('ccsd_t1_3_2',3,MA_ERR)
1483
IF (.not.MA_PUSH_GET(mt_dbl,dimb,'noname',l_bs,k_bs)) CALL
1484
& ERRQUIT('ccsd_t1_3_2',4,MA_ERR)
1485
IF (.not.MA_PUSH_GET(mt_dbl,dimb,'noname',l_b,k_b)) CALL ERRQUIT('
1486
&ccsd_t1_3_2',5,MA_ERR)
1487
IF ((h5b .le. p2b) .and. (p4b .lt. p3b)) THEN
1488
if(.not.intorb) then
1489
CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p3b_2
1490
& - 1 + (noab+nvab) * (p4b_2 - 1 + (noab+nvab) * (p2b_2 - 1 + (noab
1491
&+nvab) * (h5b_2 - 1)))))
1493
CALL GET_HASH_BLOCK_I(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),
1495
& - 1 + (noab+nvab) * (p4b_2 - 1 + (noab+nvab) * (p2b_2 - 1 + (noab
1496
&+nvab) * (h5b_2 - 1)))),p3b_2,p4b_2,p2b_2,h5b_2)
1498
CALL TCE_SORT_4(dbl_mb(k_b),dbl_mb(k_bs),int_mb(k_range+h5b-1)
1499
&,int_mb(k_range+p2b-1),int_mb(k_range+p4b-1),int_mb(k_range+p3b-1)
1502
IF ((h5b .le. p2b) .and. (p3b .le. p4b)) THEN
1503
if(.not.intorb) then
1504
CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p4b_2
1505
& - 1 + (noab+nvab) * (p3b_2 - 1 + (noab+nvab) * (p2b_2 - 1 + (noab
1506
&+nvab) * (h5b_2 - 1)))))
1508
CALL GET_HASH_BLOCK_I(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),
1510
& - 1 + (noab+nvab) * (p3b_2 - 1 + (noab+nvab) * (p2b_2 - 1 + (noab
1511
&+nvab) * (h5b_2 - 1)))),p4b_2,p3b_2,p2b_2,h5b_2)
1513
CALL TCE_SORT_4(dbl_mb(k_b),dbl_mb(k_bs),int_mb(k_range+h5b-1)
1514
&,int_mb(k_range+p2b-1),int_mb(k_range+p3b-1),int_mb(k_range+p4b-1)
1517
IF (.not.MA_POP_STACK(l_b)) CALL ERRQUIT('ccsd_t1_3_2',6,MA_ERR)
1518
CALL DGEMM('T','N',dima_sort,dimb_sort,dim_common,1.0d0,
1519
1 dbl_mb(k_as),dim_common,dbl_mb(k_bs),dim_common,1.0d0,
1520
2 dbl_mb(k_cs),dima_sort)
1521
IF (.not.MA_POP_STACK(l_bs))
1522
1 CALL ERRQUIT('ccsd_t1_3_2',7,MA_ERR)
1523
IF (.not.MA_POP_STACK(l_as))
1524
1 CALL ERRQUIT('ccsd_t1_3_2',8,MA_ERR)
1530
IF (.not.MA_PUSH_GET(mt_dbl,dimc,'noname',l_c,k_c)) CALL ERRQUIT('
1531
&ccsd_t1_3_2',9,MA_ERR)
1532
CALL TCE_SORT_2(dbl_mb(k_cs),dbl_mb(k_c),int_mb(k_range+p3b-1)
1533
&,int_mb(k_range+p2b-1),2,1,-1.0d0)
1534
CALL ADD_HASH_BLOCK(d_c,dbl_mb(k_c),dimc,int_mb(k_c_offset),(p3b -
1535
& noab - 1 + nvab * (p2b - noab - 1)))
1536
IF (.not.MA_POP_STACK(l_c)) CALL ERRQUIT('ccsd_t1_3_2',10,MA_ERR)
1537
IF (.not.MA_POP_STACK(l_cs)) CALL ERRQUIT('ccsd_t1_3_2',11,MA_
1542
next = NXTASK(nprocs, 1)
1547
next = NXTASK(-nprocs, 1)
1551
SUBROUTINE ccsd_t1_4(d_a,k_a_offset,d_b,k_b_offset,d_c,k_c_offset)
1552
C $Id: ccsd_t1_loc.F,v 1.1 2008-12-14 01:00:23 jhammond Exp $
1553
C This is a Fortran77 program generated by Tensor Contraction Engine v.1.0
1554
C Copyright (c) Battelle & Pacific Northwest National Laboratory (2002)
1555
C i0 ( p2 h1 )_vt + = -1 * Sum ( h4 p3 ) * t ( p3 h4 )_t * v ( h4 p2 h1 p3 )_v
1557
#include "global.fh"
1558
#include "mafdecls.fh"
1560
#include "errquit.fh"
1601
nprocs = GA_NNODES()
1603
next = NXTASK(nprocs, 1)
1604
DO p2b = noab+1,noab+nvab
1606
IF (next.eq.count) THEN
1607
IF ((.not.restricted).or.(int_mb(k_spin+p2b-1)+int_mb(k_spin+h1b-1
1609
IF (int_mb(k_spin+p2b-1) .eq. int_mb(k_spin+h1b-1)) THEN
1610
IF (ieor(int_mb(k_sym+p2b-1),int_mb(k_sym+h1b-1)) .eq. ieor(irrep_
1612
dimc = int_mb(k_range+p2b-1) * int_mb(k_range+h1b-1)
1613
IF (.not.MA_PUSH_GET(mt_dbl,dimc,'noname',l_cs,k_cs)) CALL
1614
& ERRQUIT('ccsd_t1_4',0,MA_ERR)
1615
CALL DFILL(dimc,0.0d0,dbl_mb(k_cs),1)
1616
DO p3b = noab+1,noab+nvab
1618
IF (int_mb(k_spin+p3b-1) .eq. int_mb(k_spin+h4b-1)) THEN
1619
IF (ieor(int_mb(k_sym+p3b-1),int_mb(k_sym+h4b-1)) .eq. irrep_t) TH
1621
CALL TCE_RESTRICTED_2(p3b,h4b,p3b_1,h4b_1)
1622
CALL TCE_RESTRICTED_4(p2b,h4b,h1b,p3b,p2b_2,h4b_2,h1b_2,p3b_2)
1623
dim_common = int_mb(k_range+p3b-1) * int_mb(k_range+h4b-1)
1625
dima = dim_common * dima_sort
1626
dimb_sort = int_mb(k_range+p2b-1) * int_mb(k_range+h1b-1)
1627
dimb = dim_common * dimb_sort
1628
IF ((dima .gt. 0) .and. (dimb .gt. 0)) THEN
1629
IF (.not.MA_PUSH_GET(mt_dbl,dima,'noname',l_as,k_as)) CALL
1630
& ERRQUIT('ccsd_t1_4',1,MA_ERR)
1631
IF (.not.MA_PUSH_GET(mt_dbl,dima,'noname',l_a,k_a)) CALL ERRQUIT('
1632
&ccsd_t1_4',2,MA_ERR)
1633
CALL GET_HASH_BLOCK_MA(dbl_mb(d_a),dbl_mb(k_a),dima,
1634
& int_mb(k_a_offset),(h4b_1
1635
& - 1 + noab * (p3b_1 - noab - 1)))
1636
CALL TCE_SORT_2(dbl_mb(k_a),dbl_mb(k_as),int_mb(k_range+p3b-1)
1637
&,int_mb(k_range+h4b-1),2,1,1.0d0)
1638
IF (.not.MA_POP_STACK(l_a)) CALL ERRQUIT('ccsd_t1_4',3,MA_ERR)
1639
IF (.not.MA_PUSH_GET(mt_dbl,dimb,'noname',l_bs,k_bs)) CALL
1640
& ERRQUIT('ccsd_t1_4',4,MA_ERR)
1641
IF (.not.MA_PUSH_GET(mt_dbl,dimb,'noname',l_b,k_b)) CALL ERRQUIT('
1642
&ccsd_t1_4',5,MA_ERR)
1643
IF ((h4b .le. p2b) .and. (h1b .le. p3b)) THEN
1644
if(.not.intorb) then
1645
CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p3b_2
1646
& - 1 + (noab+nvab) * (h1b_2 - 1 + (noab+nvab) * (p2b_2 - 1 + (noab
1647
&+nvab) * (h4b_2 - 1)))))
1649
CALL GET_HASH_BLOCK_I(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),
1651
& - 1 + (noab+nvab) * (h1b_2 - 1 + (noab+nvab) * (p2b_2 - 1 + (noab
1652
&+nvab) * (h4b_2 - 1)))),p3b_2,h1b_2,p2b_2,h4b_2)
1654
CALL TCE_SORT_4(dbl_mb(k_b),dbl_mb(k_bs),int_mb(k_range+h4b-1)
1655
&,int_mb(k_range+p2b-1),int_mb(k_range+h1b-1),int_mb(k_range+p3b-1)
1658
IF (.not.MA_POP_STACK(l_b)) CALL ERRQUIT('ccsd_t1_4',6,MA_ERR)
1659
CALL DGEMM('T','N',dima_sort,dimb_sort,dim_common,1.0d0,
1660
1 dbl_mb(k_as),dim_common,dbl_mb(k_bs),dim_common,
1661
2 1.0d0,dbl_mb(k_cs),dima_sort)
1662
IF (.not.MA_POP_STACK(l_bs))
1663
1 CALL ERRQUIT('ccsd_t1_4',7,MA_ERR)
1664
IF (.not.MA_POP_STACK(l_as))
1665
1 CALL ERRQUIT('ccsd_t1_4',8,MA_ERR)
1671
IF (.not.MA_PUSH_GET(mt_dbl,dimc,'noname',l_c,k_c)) CALL ERRQUIT('
1672
&ccsd_t1_4',9,MA_ERR)
1673
CALL TCE_SORT_2(dbl_mb(k_cs),dbl_mb(k_c),int_mb(k_range+h1b-1)
1674
&,int_mb(k_range+p2b-1),2,1,-1.0d0)
1675
CALL ADD_HASH_BLOCK(d_c,dbl_mb(k_c),dimc,int_mb(k_c_offset),(h1b -
1676
& 1 + noab * (p2b - noab - 1)))
1677
IF (.not.MA_POP_STACK(l_c)) CALL ERRQUIT('ccsd_t1_4',10,MA_ERR)
1678
IF (.not.MA_POP_STACK(l_cs)) CALL ERRQUIT('ccsd_t1_4',11,MA_ER
1683
next = NXTASK(nprocs, 1)
1688
next = NXTASK(-nprocs, 1)
1696
SUBROUTINE ccsd_t1_5(d_a,k_a_offset,d_b,k_b_offset,d_c,k_c_offset)
1697
C $Id: ccsd_t1_loc.F,v 1.1 2008-12-14 01:00:23 jhammond Exp $
1698
C This is a Fortran77 program generated by Tensor Contraction Engine v.1.0
1699
C Copyright (c) Battelle & Pacific Northwest National Laboratory (2002)
1700
C i0 ( p2 h1 )_tf + = 1 * Sum ( p7 h8 ) * t ( p2 p7 h1 h8 )_t * i1 ( h8 p7 )_f
1702
#include "global.fh"
1703
#include "mafdecls.fh"
1705
#include "errquit.fh"
1707
INTEGER d_a, d_b, d_c
1708
INTEGER k_a_offset, k_b_offset, k_c_offset
1709
INTEGER NXTASK, next, nprocs, count
1710
INTEGER p2b,h1b,p7b,h8b,p2b_1,p7b_1,h1b_1,h8b_1,h8b_2,p7b_2
1711
INTEGER dim_common, dima_sort, dimb_sort, dima, dimb, dimc
1712
INTEGER k_as, l_as, k_cs, l_cs
1713
INTEGER k_a, l_a, k_b, l_b, k_c, l_c
1715
nprocs = GA_NNODES()
1717
next = NXTASK(nprocs, 1)
1718
DO p2b = noab+1,noab+nvab
1720
IF (next.eq.count) THEN
1721
IF ((.not.restricted).or.(int_mb(k_spin+p2b-1)
1722
1 +int_mb(k_spin+h1b-1).ne.4)) THEN
1723
IF (int_mb(k_spin+p2b-1) .eq. int_mb(k_spin+h1b-1)) THEN
1724
IF (ieor(int_mb(k_sym+p2b-1),int_mb(k_sym+h1b-1))
1725
1 .eq. ieor(irrep_t,irrep_f)) THEN
1726
dimc = int_mb(k_range+p2b-1) * int_mb(k_range+h1b-1)
1727
IF (.not.MA_PUSH_GET(mt_dbl,dimc,'noname',l_cs,k_cs))
1728
1 CALL ERRQUIT('ccsd_t1_5',0,MA_ERR)
1729
CALL DFILL(dimc,0.0d0,dbl_mb(k_cs),1)
1730
DO p7b = noab+1,noab+nvab
1732
IF (int_mb(k_spin+p2b-1)+int_mb(k_spin+p7b-1) .eq.
1733
1 int_mb(k_spin+h1b-1)+int_mb(k_spin+h8b-1)) THEN
1734
IF (ieor(int_mb(k_sym+p2b-1),ieor(int_mb(k_sym+p7b-1),
1735
1 ieor(int_mb(k_sym+h1b-1),int_mb(k_sym+h8b-1))))
1736
2 .eq. irrep_t) THEN
1737
CALL TCE_RESTRICTED_4(p2b,p7b,h1b,h8b,
1738
1 p2b_1,p7b_1,h1b_1,h8b_1)
1739
CALL TCE_RESTRICTED_2(h8b,p7b,h8b_2,p7b_2)
1740
dim_common = int_mb(k_range+p7b-1)
1741
1 * int_mb(k_range+h8b-1)
1742
dima_sort = int_mb(k_range+p2b-1)
1743
1 * int_mb(k_range+h1b-1)
1744
dima = dim_common * dima_sort
1746
dimb = dim_common * dimb_sort
1747
IF ((dima .gt. 0) .and. (dimb .gt. 0)) THEN
1748
IF (.not.MA_PUSH_GET(mt_dbl,dima,'noname',l_as,k_as))
1749
1 CALL ERRQUIT('ccsd_t1_5',1,MA_ERR)
1750
IF (.not.MA_PUSH_GET(mt_dbl,dima,'noname',l_a,k_a))
1751
1 CALL ERRQUIT('ccsd_t1_5',2,MA_ERR)
1752
IF ((p7b .lt. p2b) .and. (h8b .lt. h1b)) THEN
1753
CALL GET_HASH_BLOCK(d_a,dbl_mb(k_a),dima,
1754
1 int_mb(k_a_offset),(h1b_1 - 1 + noab *
1755
2 (h8b_1 - 1 + noab * (p2b_1 - noab - 1 + nvab *
1756
3 (p7b_1 - noab - 1)))))
1757
CALL TCE_SORT_4(dbl_mb(k_a),dbl_mb(k_as),
1758
1 int_mb(k_range+p7b-1),int_mb(k_range+p2b-1),
1759
2 int_mb(k_range+h8b-1),int_mb(k_range+h1b-1),
1762
IF ((p7b .lt. p2b) .and. (h1b .le. h8b)) THEN
1763
CALL GET_HASH_BLOCK(d_a,dbl_mb(k_a),dima,
1764
1 int_mb(k_a_offset),(h8b_1 - 1 + noab *
1765
2 (h1b_1 - 1 + noab * (p2b_1 - noab - 1 + nvab *
1766
3 (p7b_1 - noab - 1)))))
1767
CALL TCE_SORT_4(dbl_mb(k_a),dbl_mb(k_as),
1768
1 int_mb(k_range+p7b-1),int_mb(k_range+p2b-1),
1769
2 int_mb(k_range+h1b-1),int_mb(k_range+h8b-1),
1772
IF ((p2b .le. p7b) .and. (h8b .lt. h1b)) THEN
1773
CALL GET_HASH_BLOCK(d_a,dbl_mb(k_a),dima,
1774
1 int_mb(k_a_offset),(h1b_1 - 1 + noab *
1775
2 (h8b_1 - 1 + noab * (p7b_1 - noab - 1 + nvab *
1776
3 (p2b_1 - noab - 1)))))
1777
CALL TCE_SORT_4(dbl_mb(k_a),dbl_mb(k_as),
1778
1 int_mb(k_range+p2b-1),int_mb(k_range+p7b-1),
1779
2 int_mb(k_range+h8b-1),int_mb(k_range+h1b-1),
1782
IF ((p2b .le. p7b) .and. (h1b .le. h8b)) THEN
1783
CALL GET_HASH_BLOCK(d_a,dbl_mb(k_a),dima,
1784
1 int_mb(k_a_offset),(h8b_1 - 1 + noab *
1785
2 (h1b_1 - 1 + noab * (p7b_1 - noab - 1 + nvab *
1786
3 (p2b_1 - noab - 1)))))
1787
CALL TCE_SORT_4(dbl_mb(k_a),dbl_mb(k_as),
1788
1 int_mb(k_range+p2b-1),int_mb(k_range+p7b-1),
1789
2 int_mb(k_range+h1b-1),int_mb(k_range+h8b-1),
1792
IF (.not.MA_POP_STACK(l_a))
1793
1 CALL ERRQUIT('ccsd_t1_5',3,MA_ERR)
1794
IF (.not.MA_PUSH_GET(mt_dbl,dimb,'noname',l_b,k_b))
1795
1 CALL ERRQUIT('ccsd_t1_5',5,MA_ERR)
1796
CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,
1797
1 int_mb(k_b_offset),(p7b_2 - noab - 1 + nvab *
1799
CALL DGEMM('T','N',dima_sort,dimb_sort,dim_common,
1800
1 1.0d0,dbl_mb(k_as),dim_common,dbl_mb(k_b),
1801
2 dim_common,1.0d0,dbl_mb(k_cs),dima_sort)
1802
IF (.not.MA_POP_STACK(l_b))
1803
1 CALL ERRQUIT('ccsd_t1_5',7,MA_ERR)
1804
IF (.not.MA_POP_STACK(l_as))
1805
1 CALL ERRQUIT('ccsd_t1_5',8,MA_ERR)
1811
IF (.not.MA_PUSH_GET(mt_dbl,dimc,'noname',l_c,k_c))
1812
1 CALL ERRQUIT('ccsd_t1_5',9,MA_ERR)
1813
CALL TCE_SORT_2(dbl_mb(k_cs),dbl_mb(k_c),
1814
1 int_mb(k_range+h1b-1),int_mb(k_range+p2b-1),
1816
CALL ADD_HASH_BLOCK(d_c,dbl_mb(k_c),dimc,
1817
1 int_mb(k_c_offset),
1818
2 (h1b - 1 + noab * (p2b - noab - 1)))
1819
IF (.not.MA_POP_STACK(l_c))
1820
1 CALL ERRQUIT('ccsd_t1_5',10,MA_ERR)
1821
IF (.not.MA_POP_STACK(l_cs))
1822
1 CALL ERRQUIT('ccsd_t1_5',11,MA_ERR)
1826
next = NXTASK(nprocs, 1)
1831
next = NXTASK(-nprocs, 1)
1841
SUBROUTINE ccsd_t1_5_1(d_a,k_a_offset,d_c,k_c_offset)
1842
C $Id: ccsd_t1_loc.F,v 1.1 2008-12-14 01:00:23 jhammond Exp $
1843
C This is a Fortran77 program generated by Tensor Contraction Engine v.1.0
1844
C Copyright (c) Battelle & Pacific Northwest National Laboratory (2002)
1845
C i1 ( h8 p7 )_f + = 1 * f ( h8 p7 )_f
1847
#include "global.fh"
1848
#include "mafdecls.fh"
1850
#include "errquit.fh"
1853
INTEGER k_a_offset, k_c_offset
1854
INTEGER NXTASK, next, nprocs, count
1855
INTEGER h8b, p7b, h8b_1, p7b_1
1859
nprocs = GA_NNODES()
1861
next = NXTASK(nprocs, 1)
1863
DO p7b = noab+1,noab+nvab
1864
IF (next.eq.count) THEN
1865
IF ((.not.restricted).or.(int_mb(k_spin+h8b-1)
1866
1 +int_mb(k_spin+p7b-1).ne.4)) THEN
1867
IF (int_mb(k_spin+h8b-1) .eq. int_mb(k_spin+p7b-1)) THEN
1868
IF (ieor(int_mb(k_sym+h8b-1),int_mb(k_sym+p7b-1))
1869
1 .eq. irrep_f) THEN
1870
dimc = int_mb(k_range+h8b-1) * int_mb(k_range+p7b-1)
1871
CALL TCE_RESTRICTED_2(h8b,p7b,h8b_1,p7b_1)
1872
IF (dimc .gt. 0) THEN
1873
IF (.not.MA_PUSH_GET(mt_dbl,dimc,'noname',l_a,k_a))
1874
1 CALL ERRQUIT('ccsd_t1_5_1',1,MA_ERR)
1875
CALL GET_HASH_BLOCK(d_a,dbl_mb(k_a),dimc,
1876
1 int_mb(k_a_offset),
1877
2 (p7b_1 - 1 + (noab+nvab) * (h8b_1 - 1)))
1878
CALL ADD_HASH_BLOCK(d_c,dbl_mb(k_a),dimc,
1879
1 int_mb(k_c_offset),
1880
2 (p7b - noab - 1 + nvab * (h8b - 1)))
1881
IF (.not.MA_POP_STACK(l_a))
1882
1 CALL ERRQUIT('ccsd_t1_5_1',5,MA_ERR)
1887
next = NXTASK(nprocs, 1)
1892
next = NXTASK(-nprocs, 1)
1900
SUBROUTINE OFFSET_ccsd_t1_5_1(l_a_offset,k_a_offset,size)
1901
C $Id: ccsd_t1_loc.F,v 1.1 2008-12-14 01:00:23 jhammond Exp $
1902
C This is a Fortran77 program generated by Tensor Contraction Engine v.1.0
1903
C Copyright (c) Battelle & Pacific Northwest National Laboratory (2002)
1906
#include "global.fh"
1907
#include "mafdecls.fh"
1909
#include "errquit.fh"
1920
DO p7b = noab+1,noab+nvab
1921
IF (int_mb(k_spin+h8b-1) .eq. int_mb(k_spin+p7b-1)) THEN
1922
IF (ieor(int_mb(k_sym+h8b-1),int_mb(k_sym+p7b-1)) .eq. irrep_f) TH
1924
IF ((.not.restricted).or.(int_mb(k_spin+h8b-1)+int_mb(k_spin+p7b-1
1932
IF (.not.MA_PUSH_GET(mt_int,2*length+1,'noname',l_a_offset,k_a_off
1933
&set)) CALL ERRQUIT('ccsd_t1_5_1',0,MA_ERR)
1934
int_mb(k_a_offset) = length
1938
DO p7b = noab+1,noab+nvab
1939
IF (int_mb(k_spin+h8b-1) .eq. int_mb(k_spin+p7b-1)) THEN
1940
IF (ieor(int_mb(k_sym+h8b-1),int_mb(k_sym+p7b-1)) .eq. irrep_f) TH
1942
IF ((.not.restricted).or.(int_mb(k_spin+h8b-1)+int_mb(k_spin+p7b-1
1945
int_mb(k_a_offset+addr) = p7b - noab - 1 + nvab * (h8b - 1)
1946
int_mb(k_a_offset+length+addr) = size
1947
size = size + int_mb(k_range+h8b-1) * int_mb(k_range+p7b-1)
1955
SUBROUTINE ccsd_t1_5_2(d_a,k_a_offset,d_b,k_b_offset,d_c,k_c_offse
1957
C $Id: ccsd_t1_loc.F,v 1.1 2008-12-14 01:00:23 jhammond Exp $
1958
C This is a Fortran77 program generated by Tensor Contraction Engine v.1.0
1959
C Copyright (c) Battelle & Pacific Northwest National Laboratory (2002)
1960
C i1 ( h8 p7 )_vt + = 1 * Sum ( h6 p5 ) * t ( p5 h6 )_t * v ( h6 h8 p5 p7 )_v
1962
#include "global.fh"
1963
#include "mafdecls.fh"
1965
#include "errquit.fh"
2006
nprocs = GA_NNODES()
2008
next = NXTASK(nprocs, 1)
2010
DO p7b = noab+1,noab+nvab
2011
IF (next.eq.count) THEN
2012
IF ((.not.restricted).or.(int_mb(k_spin+h8b-1)+int_mb(k_spin+p7b-1
2014
IF (int_mb(k_spin+h8b-1) .eq. int_mb(k_spin+p7b-1)) THEN
2015
IF (ieor(int_mb(k_sym+h8b-1),int_mb(k_sym+p7b-1)) .eq. ieor(irrep_
2017
dimc = int_mb(k_range+h8b-1) * int_mb(k_range+p7b-1)
2018
IF (.not.MA_PUSH_GET(mt_dbl,dimc,'noname',l_cs,k_cs)) CALL
2019
& ERRQUIT('ccsd_t1_5_2',0,MA_ERR)
2020
CALL DFILL(dimc,0.0d0,dbl_mb(k_cs),1)
2021
DO p5b = noab+1,noab+nvab
2023
IF (int_mb(k_spin+p5b-1) .eq. int_mb(k_spin+h6b-1)) THEN
2024
IF (ieor(int_mb(k_sym+p5b-1),int_mb(k_sym+h6b-1)) .eq. irrep_t) TH
2026
CALL TCE_RESTRICTED_2(p5b,h6b,p5b_1,h6b_1)
2027
CALL TCE_RESTRICTED_4(h8b,h6b,p7b,p5b,h8b_2,h6b_2,p7b_2,p5b_2)
2028
dim_common = int_mb(k_range+p5b-1) * int_mb(k_range+h6b-1)
2030
dima = dim_common * dima_sort
2031
dimb_sort = int_mb(k_range+h8b-1) * int_mb(k_range+p7b-1)
2032
dimb = dim_common * dimb_sort
2033
IF ((dima .gt. 0) .and. (dimb .gt. 0)) THEN
2034
IF (.not.MA_PUSH_GET(mt_dbl,dima,'noname',l_as,k_as)) CALL
2035
& ERRQUIT('ccsd_t1_5_2',1,MA_ERR)
2036
IF (.not.MA_PUSH_GET(mt_dbl,dima,'noname',l_a,k_a)) CALL ERRQUIT('
2037
&ccsd_t1_5_2',2,MA_ERR)
2038
CALL GET_HASH_BLOCK_MA(dbl_mb(d_a),dbl_mb(k_a),dima,
2039
& int_mb(k_a_offset),(h6b_1
2040
& - 1 + noab * (p5b_1 - noab - 1)))
2041
CALL TCE_SORT_2(dbl_mb(k_a),dbl_mb(k_as),int_mb(k_range+p5b-1)
2042
&,int_mb(k_range+h6b-1),2,1,1.0d0)
2043
IF (.not.MA_POP_STACK(l_a)) CALL ERRQUIT('ccsd_t1_5_2',3,MA_ERR)
2044
IF (.not.MA_PUSH_GET(mt_dbl,dimb,'noname',l_bs,k_bs)) CALL
2045
& ERRQUIT('ccsd_t1_5_2',4,MA_ERR)
2046
IF (.not.MA_PUSH_GET(mt_dbl,dimb,'noname',l_b,k_b)) CALL ERRQUIT('
2047
&ccsd_t1_5_2',5,MA_ERR)
2048
IF ((h6b .le. h8b) .and. (p5b .le. p7b)) THEN
2049
if(.not.intorb) then
2050
CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p7b_2
2051
& - 1 + (noab+nvab) * (p5b_2 - 1 + (noab+nvab) * (h8b_2 - 1 + (noab
2052
&+nvab) * (h6b_2 - 1)))))
2054
CALL GET_HASH_BLOCK_I(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),
2056
& - 1 + (noab+nvab) * (p5b_2 - 1 + (noab+nvab) * (h8b_2 - 1 + (noab
2057
&+nvab) * (h6b_2 - 1)))),p7b_2,p5b_2,h8b_2,h6b_2)
2059
CALL TCE_SORT_4(dbl_mb(k_b),dbl_mb(k_bs),int_mb(k_range+h6b-1)
2060
&,int_mb(k_range+h8b-1),int_mb(k_range+p5b-1),int_mb(k_range+p7b-1)
2063
IF ((h6b .le. h8b) .and. (p7b .lt. p5b)) THEN
2064
if(.not.intorb) then
2065
CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p5b_2
2066
& - 1 + (noab+nvab) * (p7b_2 - 1 + (noab+nvab) * (h8b_2 - 1 + (noab
2067
&+nvab) * (h6b_2 - 1)))))
2069
CALL GET_HASH_BLOCK_I(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),
2071
& - 1 + (noab+nvab) * (p7b_2 - 1 + (noab+nvab) * (h8b_2 - 1 + (noab
2072
&+nvab) * (h6b_2 - 1)))),p5b_2,p7b_2,h8b_2,h6b_2)
2074
CALL TCE_SORT_4(dbl_mb(k_b),dbl_mb(k_bs),int_mb(k_range+h6b-1)
2075
&,int_mb(k_range+h8b-1),int_mb(k_range+p7b-1),int_mb(k_range+p5b-1)
2078
IF ((h8b .lt. h6b) .and. (p5b .le. p7b)) THEN
2079
if(.not.intorb) then
2080
CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p7b_2
2081
& - 1 + (noab+nvab) * (p5b_2 - 1 + (noab+nvab) * (h6b_2 - 1 + (noab
2082
&+nvab) * (h8b_2 - 1)))))
2084
CALL GET_HASH_BLOCK_I(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),
2086
& - 1 + (noab+nvab) * (p5b_2 - 1 + (noab+nvab) * (h6b_2 - 1 + (noab
2087
&+nvab) * (h8b_2 - 1)))),p7b_2,p5b_2,h6b_2,h8b_2)
2089
CALL TCE_SORT_4(dbl_mb(k_b),dbl_mb(k_bs),int_mb(k_range+h8b-1)
2090
&,int_mb(k_range+h6b-1),int_mb(k_range+p5b-1),int_mb(k_range+p7b-1)
2093
IF ((h8b .lt. h6b) .and. (p7b .lt. p5b)) THEN
2094
if(.not.intorb) then
2095
CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p5b_2
2096
& - 1 + (noab+nvab) * (p7b_2 - 1 + (noab+nvab) * (h6b_2 - 1 + (noab
2097
&+nvab) * (h8b_2 - 1)))))
2099
CALL GET_HASH_BLOCK_I(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),
2101
& - 1 + (noab+nvab) * (p7b_2 - 1 + (noab+nvab) * (h6b_2 - 1 + (noab
2102
&+nvab) * (h8b_2 - 1)))),p5b_2,p7b_2,h6b_2,h8b_2)
2104
CALL TCE_SORT_4(dbl_mb(k_b),dbl_mb(k_bs),int_mb(k_range+h8b-1)
2105
&,int_mb(k_range+h6b-1),int_mb(k_range+p7b-1),int_mb(k_range+p5b-1)
2108
IF (.not.MA_POP_STACK(l_b)) CALL ERRQUIT('ccsd_t1_5_2',6,MA_ERR)
2109
CALL DGEMM('T','N',dima_sort,dimb_sort,dim_common,1.0d0,
2110
1 dbl_mb(k_as),dim_common,dbl_mb(k_bs),dim_common,
2111
2 1.0d0,dbl_mb(k_cs),dima_sort)
2112
IF (.not.MA_POP_STACK(l_bs))
2113
1 CALL ERRQUIT('ccsd_t1_5_2',7,MA_ERR)
2114
IF (.not.MA_POP_STACK(l_as))
2115
1 CALL ERRQUIT('ccsd_t1_5_2',8,MA_ERR)
2121
IF (.not.MA_PUSH_GET(mt_dbl,dimc,'noname',l_c,k_c)) CALL ERRQUIT('
2122
&ccsd_t1_5_2',9,MA_ERR)
2123
CALL TCE_SORT_2(dbl_mb(k_cs),dbl_mb(k_c),int_mb(k_range+p7b-1)
2124
&,int_mb(k_range+h8b-1),2,1,1.0d0)
2125
CALL ADD_HASH_BLOCK(d_c,dbl_mb(k_c),dimc,int_mb(k_c_offset),(p7b -
2126
& noab - 1 + nvab * (h8b - 1)))
2127
IF (.not.MA_POP_STACK(l_c)) CALL ERRQUIT('ccsd_t1_5_2',10,MA_ERR)
2128
IF (.not.MA_POP_STACK(l_cs)) CALL ERRQUIT('ccsd_t1_5_2',11,MA_
2133
next = NXTASK(nprocs, 1)
2138
next = NXTASK(-nprocs, 1)
2142
SUBROUTINE ccsd_t1_6(d_a,k_a_offset,d_b,k_b_offset,d_c,k_c_offset)
2143
C $Id: ccsd_t1_loc.F,v 1.1 2008-12-14 01:00:23 jhammond Exp $
2144
C This is a Fortran77 program generated by Tensor Contraction Engine v.1.0
2145
C Copyright (c) Battelle & Pacific Northwest National Laboratory (2002)
2146
C i0 ( p2 h1 )_vt + = -1/2 * Sum ( h4 h5 p3 ) * t ( p2 p3 h4 h5 )_t * i1 ( h4 h5 h1 p3 )_v
2148
#include "global.fh"
2149
#include "mafdecls.fh"
2151
#include "errquit.fh"
2196
DOUBLE PRECISION FACTORIAL
2199
nprocs = GA_NNODES()
2201
next = NXTASK(nprocs, 1)
2202
DO p2b = noab+1,noab+nvab
2204
IF (next.eq.count) THEN
2205
IF ((.not.restricted).or.(int_mb(k_spin+p2b-1)+int_mb(k_spin+h1b-1
2207
IF (int_mb(k_spin+p2b-1) .eq. int_mb(k_spin+h1b-1)) THEN
2208
IF (ieor(int_mb(k_sym+p2b-1),int_mb(k_sym+h1b-1)) .eq. ieor(irrep_
2210
dimc = int_mb(k_range+p2b-1) * int_mb(k_range+h1b-1)
2211
IF (.not.MA_PUSH_GET(mt_dbl,dimc,'noname',l_cs,k_cs)) CALL
2212
& ERRQUIT('ccsd_t1_6',0,MA_ERR)
2213
CALL DFILL(dimc,0.0d0,dbl_mb(k_cs),1)
2214
DO p3b = noab+1,noab+nvab
2217
IF (int_mb(k_spin+p2b-1)+int_mb(k_spin+p3b-1) .eq. int_mb(k_spin+h
2218
&4b-1)+int_mb(k_spin+h5b-1)) THEN
2219
IF (ieor(int_mb(k_sym+p2b-1),ieor(int_mb(k_sym+p3b-1),ieor(int_mb(
2220
&k_sym+h4b-1),int_mb(k_sym+h5b-1)))) .eq. irrep_t) THEN
2221
CALL TCE_RESTRICTED_4(p2b,p3b,h4b,h5b,p2b_1,p3b_1,h4b_1,h5b_1)
2222
CALL TCE_RESTRICTED_4(h4b,h5b,h1b,p3b,h4b_2,h5b_2,h1b_2,p3b_2)
2223
dim_common = int_mb(k_range+p3b-1) * int_mb(k_range+h4b-1) * int_m
2225
dima_sort = int_mb(k_range+p2b-1)
2226
dima = dim_common * dima_sort
2227
dimb_sort = int_mb(k_range+h1b-1)
2228
dimb = dim_common * dimb_sort
2229
IF ((dima .gt. 0) .and. (dimb .gt. 0)) THEN
2230
IF (.not.MA_PUSH_GET(mt_dbl,dima,'noname',l_as,k_as)) CALL
2231
& ERRQUIT('ccsd_t1_6',1,MA_ERR)
2232
IF (.not.MA_PUSH_GET(mt_dbl,dima,'noname',l_a,k_a)) CALL ERRQUIT('
2233
&ccsd_t1_6',2,MA_ERR)
2234
IF ((p3b .lt. p2b)) THEN
2235
CALL GET_HASH_BLOCK(d_a,dbl_mb(k_a),dima,int_mb(k_a_offset),(h5b_1
2236
& - 1 + noab * (h4b_1 - 1 + noab * (p2b_1 - noab - 1 + nvab * (p3b_
2238
CALL TCE_SORT_4(dbl_mb(k_a),dbl_mb(k_as),int_mb(k_range+p3b-1)
2239
&,int_mb(k_range+p2b-1),int_mb(k_range+h4b-1),int_mb(k_range+h5b-1)
2242
IF ((p2b .le. p3b)) THEN
2243
CALL GET_HASH_BLOCK(d_a,dbl_mb(k_a),dima,int_mb(k_a_offset),(h5b_1
2244
& - 1 + noab * (h4b_1 - 1 + noab * (p3b_1 - noab - 1 + nvab * (p2b_
2246
CALL TCE_SORT_4(dbl_mb(k_a),dbl_mb(k_as),int_mb(k_range+p2b-1)
2247
&,int_mb(k_range+p3b-1),int_mb(k_range+h4b-1),int_mb(k_range+h5b-1)
2250
IF (.not.MA_POP_STACK(l_a)) CALL ERRQUIT('ccsd_t1_6',3,MA_ERR)
2251
IF (.not.MA_PUSH_GET(mt_dbl,dimb,'noname',l_bs,k_bs)) CALL
2252
& ERRQUIT('ccsd_t1_6',4,MA_ERR)
2253
IF (.not.MA_PUSH_GET(mt_dbl,dimb,'noname',l_b,k_b)) CALL ERRQUIT('
2254
&ccsd_t1_6',5,MA_ERR)
2255
CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p3b_2
2256
& - noab - 1 + nvab * (h1b_2 - 1 + noab * (h5b_2 - 1 + noab * (h4b_
2258
CALL TCE_SORT_4(dbl_mb(k_b),dbl_mb(k_bs),int_mb(k_range+h4b-1)
2259
&,int_mb(k_range+h5b-1),int_mb(k_range+h1b-1),int_mb(k_range+p3b-1)
2261
IF (.not.MA_POP_STACK(l_b)) CALL ERRQUIT('ccsd_t1_6',6,MA_ERR)
2265
IF (h4b .eq. h5b) THEN
2266
nsubh(isubh) = nsubh(isubh) + 1
2270
CALL DGEMM('T','N',dima_sort,dimb_sort,dim_common,
2271
1 2.0d0/FACTORIAL(nsubh(1))/FACTORIAL(nsubh(2)),dbl_mb(k_as),
2272
2 dim_common,dbl_mb(k_bs),dim_common,1.0d0,dbl_mb(k_cs),
2274
IF (.not.MA_POP_STACK(l_bs))
2275
1 CALL ERRQUIT('ccsd_t1_6',7,MA_ERR)
2276
IF (.not.MA_POP_STACK(l_as))
2277
2 CALL ERRQUIT('ccsd_t1_6',8,MA_ERR)
2284
IF (.not.MA_PUSH_GET(mt_dbl,dimc,'noname',l_c,k_c)) CALL ERRQUIT('
2285
&ccsd_t1_6',9,MA_ERR)
2286
CALL TCE_SORT_2(dbl_mb(k_cs),dbl_mb(k_c),int_mb(k_range+h1b-1)
2287
&,int_mb(k_range+p2b-1),2,1,-1.0d0/2.0d0)
2288
CALL ADD_HASH_BLOCK(d_c,dbl_mb(k_c),dimc,int_mb(k_c_offset),(h1b -
2289
& 1 + noab * (p2b - noab - 1)))
2290
IF (.not.MA_POP_STACK(l_c)) CALL ERRQUIT('ccsd_t1_6',10,MA_ERR)
2291
IF (.not.MA_POP_STACK(l_cs)) CALL ERRQUIT('ccsd_t1_6',11,MA_ER
2296
next = NXTASK(nprocs, 1)
2301
next = NXTASK(-nprocs, 1)
2310
SUBROUTINE ccsd_t1_6_1(d_a,k_a_offset,d_c,k_c_offset)
2311
C $Id: ccsd_t1_loc.F,v 1.1 2008-12-14 01:00:23 jhammond Exp $
2312
C This is a Fortran77 program generated by Tensor Contraction Engine v.1.0
2313
C Copyright (c) Battelle & Pacific Northwest National Laboratory (2002)
2314
C i1 ( h4 h5 h1 p3 )_v + = 1 * v ( h4 h5 h1 p3 )_v
2316
#include "global.fh"
2317
#include "mafdecls.fh"
2319
#include "errquit.fh"
2322
INTEGER k_a_offset, k_c_offset
2323
INTEGER NXTASK, next, nprocs, count
2324
INTEGER h4b, h5b, h1b, p3b, h4b_1, h5b_1, h1b_1, p3b_1
2328
nprocs = GA_NNODES()
2330
next = NXTASK(nprocs, 1)
2334
DO p3b = noab+1,noab+nvab
2335
IF (next.eq.count) THEN
2336
IF ((.not.restricted).or.(int_mb(k_spin+h4b-1)
2337
1 +int_mb(k_spin+h5b-1)+int_mb(k_spin+h1b-1)
2338
2 +int_mb(k_spin+p3b-1).ne.8)) THEN
2339
IF (int_mb(k_spin+h4b-1)+int_mb(k_spin+h5b-1) .eq.
2340
1 int_mb(k_spin+h1b-1)+int_mb(k_spin+p3b-1)) THEN
2341
IF (ieor(int_mb(k_sym+h4b-1),ieor(int_mb(k_sym+h5b-1),
2342
1 ieor(int_mb(k_sym+h1b-1),int_mb(k_sym+p3b-1))))
2343
2 .eq. irrep_v) THEN
2344
dimc = int_mb(k_range+h4b-1) * int_mb(k_range+h5b-1)
2345
1 * int_mb(k_range+h1b-1) * int_mb(k_range+p3b-1)
2346
CALL TCE_RESTRICTED_4(h4b,h5b,h1b,p3b,
2347
1 h4b_1,h5b_1,h1b_1,p3b_1)
2348
IF (dimc .gt. 0) THEN
2349
IF (.not.MA_PUSH_GET(mt_dbl,dimc,'a',l_a,k_a))
2350
1 CALL ERRQUIT('ccsd_t1_6_1',1,MA_ERR)
2351
IF ((h1b .le. p3b)) THEN
2352
if(.not.intorb) then
2353
CALL GET_HASH_BLOCK(d_a,dbl_mb(k_a),dimc,
2354
1 int_mb(k_a_offset),(p3b_1 - 1 + (noab+nvab) *
2355
2 (h1b_1 - 1 + (noab+nvab) * (h5b_1 - 1 +
2356
3 (noab+nvab) * (h4b_1 - 1)))))
2358
CALL GET_HASH_BLOCK_I(d_a,dbl_mb(k_a),dimc,
2359
1 int_mb(k_a_offset),(p3b_1 - 1 + (noab+nvab) *
2360
2 (h1b_1 - 1 + (noab+nvab) * (h5b_1 - 1 +
2361
3 (noab+nvab) * (h4b_1 - 1)))),
2362
4 p3b_1,h1b_1,h5b_1,h4b_1)
2365
CALL ADD_HASH_BLOCK(d_c,dbl_mb(k_a),dimc,
2366
1 int_mb(k_c_offset),(p3b - noab - 1 + nvab *
2367
2 (h1b - 1 + noab * (h5b - 1 + noab * (h4b - 1)))))
2368
IF (.not.MA_POP_STACK(l_a))
2369
1 CALL ERRQUIT('ccsd_t1_6_1',5,MA_ERR)
2374
next = NXTASK(nprocs, 1)
2381
next = NXTASK(-nprocs, 1)
2389
SUBROUTINE OFFSET_ccsd_t1_6_1(l_a_offset,k_a_offset,size)
2390
C $Id: ccsd_t1_loc.F,v 1.1 2008-12-14 01:00:23 jhammond Exp $
2391
C This is a Fortran77 program generated by Tensor Contraction Engine v.1.0
2392
C Copyright (c) Battelle & Pacific Northwest National Laboratory (2002)
2393
C i1 ( h4 h5 h1 p3 )_v
2395
#include "global.fh"
2396
#include "mafdecls.fh"
2398
#include "errquit.fh"
2413
DO p3b = noab+1,noab+nvab
2414
IF (int_mb(k_spin+h4b-1)+int_mb(k_spin+h5b-1) .eq. int_mb(k_spin+h
2415
&1b-1)+int_mb(k_spin+p3b-1)) THEN
2416
IF (ieor(int_mb(k_sym+h4b-1),ieor(int_mb(k_sym+h5b-1),ieor(int_mb(
2417
&k_sym+h1b-1),int_mb(k_sym+p3b-1)))) .eq. irrep_v) THEN
2418
IF ((.not.restricted).or.(int_mb(k_spin+h4b-1)+int_mb(k_spin+h5b-1
2419
&)+int_mb(k_spin+h1b-1)+int_mb(k_spin+p3b-1).ne.8)) THEN
2428
IF (.not.MA_PUSH_GET(mt_int,2*length+1,'noname',l_a_offset,k_a_off
2429
&set)) CALL ERRQUIT('ccsd_t1_6_1',0,MA_ERR)
2430
int_mb(k_a_offset) = length
2436
DO p3b = noab+1,noab+nvab
2437
IF (int_mb(k_spin+h4b-1)+int_mb(k_spin+h5b-1) .eq. int_mb(k_spin+h
2438
&1b-1)+int_mb(k_spin+p3b-1)) THEN
2439
IF (ieor(int_mb(k_sym+h4b-1),ieor(int_mb(k_sym+h5b-1),ieor(int_mb(
2440
&k_sym+h1b-1),int_mb(k_sym+p3b-1)))) .eq. irrep_v) THEN
2441
IF ((.not.restricted).or.(int_mb(k_spin+h4b-1)+int_mb(k_spin+h5b-1
2442
&)+int_mb(k_spin+h1b-1)+int_mb(k_spin+p3b-1).ne.8)) THEN
2444
int_mb(k_a_offset+addr) = p3b - noab - 1 + nvab * (h1b - 1 + noab
2445
&* (h5b - 1 + noab * (h4b - 1)))
2446
int_mb(k_a_offset+length+addr) = size
2447
size = size + int_mb(k_range+h4b-1) * int_mb(k_range+h5b-1) * int_
2448
&mb(k_range+h1b-1) * int_mb(k_range+p3b-1)
2458
SUBROUTINE ccsd_t1_6_2(d_a,k_a_offset,d_b,k_b_offset,d_c,k_c_offse
2460
C $Id: ccsd_t1_loc.F,v 1.1 2008-12-14 01:00:23 jhammond Exp $
2461
C This is a Fortran77 program generated by Tensor Contraction Engine v.1.0
2462
C Copyright (c) Battelle & Pacific Northwest National Laboratory (2002)
2463
C i1 ( h4 h5 h1 p3 )_vt + = -1 * Sum ( p6 ) * t ( p6 h1 )_t * v ( h4 h5 p3 p6 )_v
2465
#include "global.fh"
2466
#include "mafdecls.fh"
2468
#include "errquit.fh"
2510
nprocs = GA_NNODES()
2512
next = NXTASK(nprocs, 1)
2516
DO p3b = noab+1,noab+nvab
2517
IF (next.eq.count) THEN
2518
IF ((.not.restricted).or.(int_mb(k_spin+h4b-1)+int_mb(k_spin+h5b-1
2519
&)+int_mb(k_spin+h1b-1)+int_mb(k_spin+p3b-1).ne.8)) THEN
2520
IF (int_mb(k_spin+h4b-1)+int_mb(k_spin+h5b-1) .eq. int_mb(k_spin+h
2521
&1b-1)+int_mb(k_spin+p3b-1)) THEN
2522
IF (ieor(int_mb(k_sym+h4b-1),ieor(int_mb(k_sym+h5b-1),ieor(int_mb(
2523
&k_sym+h1b-1),int_mb(k_sym+p3b-1)))) .eq. ieor(irrep_v,irrep_t)) TH
2525
dimc = int_mb(k_range+h4b-1) * int_mb(k_range+h5b-1) * int_mb(k_ra
2526
&nge+h1b-1) * int_mb(k_range+p3b-1)
2527
IF (.not.MA_PUSH_GET(mt_dbl,dimc,'noname',l_cs,k_cs)) CALL
2528
& ERRQUIT('ccsd_t1_6_2',0,MA_ERR)
2529
CALL DFILL(dimc,0.0d0,dbl_mb(k_cs),1)
2530
DO p6b = noab+1,noab+nvab
2531
IF (int_mb(k_spin+p6b-1) .eq. int_mb(k_spin+h1b-1)) THEN
2532
IF (ieor(int_mb(k_sym+p6b-1),int_mb(k_sym+h1b-1)) .eq. irrep_t) TH
2534
CALL TCE_RESTRICTED_2(p6b,h1b,p6b_1,h1b_1)
2535
CALL TCE_RESTRICTED_4(h4b,h5b,p3b,p6b,h4b_2,h5b_2,p3b_2,p6b_2)
2536
dim_common = int_mb(k_range+p6b-1)
2537
dima_sort = int_mb(k_range+h1b-1)
2538
dima = dim_common * dima_sort
2539
dimb_sort = int_mb(k_range+h4b-1) * int_mb(k_range+h5b-1) * int_mb
2541
dimb = dim_common * dimb_sort
2542
IF ((dima .gt. 0) .and. (dimb .gt. 0)) THEN
2543
IF (.not.MA_PUSH_GET(mt_dbl,dima,'noname',l_as,k_as)) CALL
2544
& ERRQUIT('ccsd_t1_6_2',1,MA_ERR)
2545
IF (.not.MA_PUSH_GET(mt_dbl,dima,'noname',l_a,k_a)) CALL ERRQUIT('
2546
&ccsd_t1_6_2',2,MA_ERR)
2547
CALL GET_HASH_BLOCK_MA(dbl_mb(d_a),dbl_mb(k_a),dima,
2548
& int_mb(k_a_offset),(h1b_1
2549
& - 1 + noab * (p6b_1 - noab - 1)))
2550
CALL TCE_SORT_2(dbl_mb(k_a),dbl_mb(k_as),int_mb(k_range+p6b-1)
2551
&,int_mb(k_range+h1b-1),2,1,1.0d0)
2552
IF (.not.MA_POP_STACK(l_a)) CALL ERRQUIT('ccsd_t1_6_2',3,MA_ERR)
2553
IF (.not.MA_PUSH_GET(mt_dbl,dimb,'noname',l_bs,k_bs)) CALL
2554
& ERRQUIT('ccsd_t1_6_2',4,MA_ERR)
2555
IF (.not.MA_PUSH_GET(mt_dbl,dimb,'noname',l_b,k_b)) CALL ERRQUIT('
2556
&ccsd_t1_6_2',5,MA_ERR)
2557
IF ((p6b .lt. p3b)) THEN
2558
if(.not.intorb) then
2559
CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p3b_2
2560
& - 1 + (noab+nvab) * (p6b_2 - 1 + (noab+nvab) * (h5b_2 - 1 + (noab
2561
&+nvab) * (h4b_2 - 1)))))
2563
CALL GET_HASH_BLOCK_I(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),
2565
& - 1 + (noab+nvab) * (p6b_2 - 1 + (noab+nvab) * (h5b_2 - 1 + (noab
2566
&+nvab) * (h4b_2 - 1)))),p3b_2,p6b_2,h5b_2,h4b_2)
2568
CALL TCE_SORT_4(dbl_mb(k_b),dbl_mb(k_bs),int_mb(k_range+h4b-1)
2569
&,int_mb(k_range+h5b-1),int_mb(k_range+p6b-1),int_mb(k_range+p3b-1)
2572
IF ((p3b .le. p6b)) THEN
2573
if(.not.intorb) then
2574
CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),(p6b_2
2575
& - 1 + (noab+nvab) * (p3b_2 - 1 + (noab+nvab) * (h5b_2 - 1 + (noab
2576
&+nvab) * (h4b_2 - 1)))))
2578
CALL GET_HASH_BLOCK_I(d_b,dbl_mb(k_b),dimb,int_mb(k_b_offset),
2580
& - 1 + (noab+nvab) * (p3b_2 - 1 + (noab+nvab) * (h5b_2 - 1 + (noab
2581
&+nvab) * (h4b_2 - 1)))),p6b_2,p3b_2,h5b_2,h4b_2)
2583
CALL TCE_SORT_4(dbl_mb(k_b),dbl_mb(k_bs),
2584
1 int_mb(k_range+h4b-1),int_mb(k_range+h5b-1),
2585
2 int_mb(k_range+p3b-1),int_mb(k_range+p6b-1),3,2,1,4,1.0d0)
2587
IF (.not.MA_POP_STACK(l_b)) CALL ERRQUIT('ccsd_t1_6_2',6,MA_ERR)
2588
CALL DGEMM('T','N',dima_sort,dimb_sort,dim_common,1.0d0,
2589
1 dbl_mb(k_as),dim_common,dbl_mb(k_bs),dim_common,1.0d0,
2590
2 dbl_mb(k_cs),dima_sort)
2591
IF (.not.MA_POP_STACK(l_bs)) CALL ERRQUIT('ccsd_t1_6_2',7,MA_ERR)
2592
IF (.not.MA_POP_STACK(l_as)) CALL ERRQUIT('ccsd_t1_6_2',8,MA_ERR)
2597
IF (.not.MA_PUSH_GET(mt_dbl,dimc,'noname',l_c,k_c))
2598
1 CALL ERRQUIT('ccsd_t1_6_2',9,MA_ERR)
2599
CALL TCE_SORT_4(dbl_mb(k_cs),dbl_mb(k_c),
2600
1 int_mb(k_range+p3b-1),int_mb(k_range+h5b-1),
2601
2 int_mb(k_range+h4b-1),int_mb(k_range+h1b-1),3,2,4,1,-1.0d0)
2602
CALL ADD_HASH_BLOCK(d_c,dbl_mb(k_c),dimc,int_mb(k_c_offset),
2603
1 (p3b - noab - 1 + nvab * (h1b - 1 + noab *
2604
2 (h5b - 1 + noab * (h4b - 1)))))
2605
IF (.not.MA_POP_STACK(l_c))
2606
1 CALL ERRQUIT('ccsd_t1_6_2',10,MA_ERR)
2607
IF (.not.MA_POP_STACK(l_cs))
2608
1 CALL ERRQUIT('ccsd_t1_6_2',11,MA_ERR)
2612
next = NXTASK(nprocs, 1)
2619
next = NXTASK(-nprocs, 1)
2629
SUBROUTINE ccsd_t1_7(d_a,k_a_offset,d_b,k_b_offset,d_c,k_c_offset)
2630
C $Id: ccsd_t1_loc.F,v 1.1 2008-12-14 01:00:23 jhammond Exp $
2631
C This is a Fortran77 program generated by Tensor Contraction Engine v.1.0
2632
C Copyright (c) Battelle & Pacific Northwest National Laboratory (2002)
2633
C i0 ( p2 h1 )_vt + = -1/2 * Sum ( h5 p3 p4 ) * t ( p3 p4 h1 h5 )_t * v ( h5 p2 p3 p4 )_v
2635
#include "global.fh"
2636
#include "mafdecls.fh"
2638
#include "errquit.fh"
2640
INTEGER d_a, d_b, d_c
2641
INTEGER k_a_offset, k_b_offset, k_c_offset
2642
INTEGER NXTASK, next, nprocs, count
2643
INTEGER p2b,h1b,p3b,p4b,h5b,p3b_1,p4b_1,h1b_1,h5b_1
2644
INTEGER p2b_2,h5b_2,p3b_2,p4b_2
2645
INTEGER dim_common,dima_sort,dimb_sort,dima,dimb,dimc
2646
INTEGER k_as, l_as, k_bs, l_bs
2647
INTEGER k_a, l_a, k_b, l_b, k_c, l_c
2650
DOUBLE PRECISION alpha
2651
DOUBLE PRECISION FACTORIAL
2654
nprocs = GA_NNODES()
2656
next = NXTASK(nprocs, 1)
2657
DO p2b = noab+1,noab+nvab
2659
IF (next.eq.count) THEN
2660
IF ((.not.restricted).or.(int_mb(k_spin+p2b-1)
2661
1 +int_mb(k_spin+h1b-1).ne.4)) THEN
2662
IF (int_mb(k_spin+p2b-1) .eq. int_mb(k_spin+h1b-1)) THEN
2663
IF (ieor(int_mb(k_sym+p2b-1),int_mb(k_sym+h1b-1))
2664
1 .eq. ieor(irrep_v,irrep_t)) THEN
2665
dimc = int_mb(k_range+p2b-1) * int_mb(k_range+h1b-1)
2666
IF (.not.MA_PUSH_GET(mt_dbl,dimc,'c',l_c,k_c))
2667
1 CALL ERRQUIT('ccsd_t1_7',0,MA_ERR)
2668
CALL DFILL(dimc,0.0d0,dbl_mb(k_c),1)
2669
DO p3b = noab+1,noab+nvab
2670
DO p4b = p3b,noab+nvab
2672
IF (int_mb(k_spin+p3b-1)+int_mb(k_spin+p4b-1) .eq.
2673
1 int_mb(k_spin+h1b-1)+int_mb(k_spin+h5b-1)) THEN
2674
IF (ieor(int_mb(k_sym+p3b-1),ieor(int_mb(k_sym+p4b-1),
2675
1 ieor(int_mb(k_sym+h1b-1),int_mb(k_sym+h5b-1))))
2676
2 .eq. irrep_t) THEN
2677
CALL TCE_RESTRICTED_4(p3b,p4b,h1b,h5b,
2678
1 p3b_1,p4b_1,h1b_1,h5b_1)
2679
CALL TCE_RESTRICTED_4(p2b,h5b,p3b,p4b,
2680
1 p2b_2,h5b_2,p3b_2,p4b_2)
2681
dim_common = int_mb(k_range+p3b-1)
2682
1 * int_mb(k_range+p4b-1)
2683
2 * int_mb(k_range+h5b-1)
2684
dima_sort = int_mb(k_range+h1b-1)
2685
dima = dim_common * dima_sort
2686
dimb_sort = int_mb(k_range+p2b-1)
2687
dimb = dim_common * dimb_sort
2688
IF ((dima .gt. 0) .and. (dimb .gt. 0)) THEN
2689
IF (.not.MA_PUSH_GET(mt_dbl,dima,'noname',l_as,k_as))
2690
1 CALL ERRQUIT('ccsd_t1_7',1,MA_ERR)
2691
IF (.not.MA_PUSH_GET(mt_dbl,dima,'noname',l_a,k_a))
2692
1 CALL ERRQUIT('ccsd_t1_7',2,MA_ERR)
2693
IF ((h5b .lt. h1b)) THEN
2694
CALL GET_HASH_BLOCK(d_a,dbl_mb(k_a),dima,
2695
1 int_mb(k_a_offset),(h1b_1 - 1 + noab *
2696
2 (h5b_1 - 1 + noab * (p4b_1 - noab - 1 + nvab *
2697
3 (p3b_1 - noab - 1)))))
2698
CALL TCE_SORT_4(dbl_mb(k_a),dbl_mb(k_as),
2699
1 int_mb(k_range+p3b-1),int_mb(k_range+p4b-1),
2700
2 int_mb(k_range+h5b-1),int_mb(k_range+h1b-1),
2703
IF ((h1b .le. h5b)) THEN
2704
CALL GET_HASH_BLOCK(d_a,dbl_mb(k_a),dima,
2705
1 int_mb(k_a_offset),(h5b_1 - 1 + noab *
2706
2 (h1b_1 - 1 + noab * (p4b_1 - noab - 1 + nvab *
2707
3 (p3b_1 - noab - 1)))))
2708
CALL TCE_SORT_4(dbl_mb(k_a),dbl_mb(k_as),
2709
1 int_mb(k_range+p3b-1),int_mb(k_range+p4b-1),
2710
2 int_mb(k_range+h1b-1),int_mb(k_range+h5b-1),
2713
IF (.not.MA_POP_STACK(l_a))
2714
1 CALL ERRQUIT('ccsd_t1_7',3,MA_ERR)
2715
IF (.not.MA_PUSH_GET(mt_dbl,dimb,'noname',l_bs,k_bs))
2716
1 CALL ERRQUIT('ccsd_t1_7',4,MA_ERR)
2717
IF (.not.MA_PUSH_GET(mt_dbl,dimb,'noname',l_b,k_b))
2718
1 CALL ERRQUIT('ccsd_t1_7',5,MA_ERR)
2719
IF ((h5b .le. p2b)) THEN
2720
if(.not.intorb) then
2721
CALL GET_HASH_BLOCK(d_b,dbl_mb(k_b),dimb,
2722
1 int_mb(k_b_offset),(p4b_2 - 1 + (noab+nvab) *
2723
2 (p3b_2 - 1 + (noab+nvab) * (p2b_2 - 1 +
2724
3 (noab+nvab) * (h5b_2 - 1)))))
2726
CALL GET_HASH_BLOCK_I(d_b,dbl_mb(k_b),dimb,
2727
1 int_mb(k_b_offset),(p4b_2 - 1 + (noab+nvab) *
2728
2 (p3b_2 - 1 + (noab+nvab) * (p2b_2 - 1 +
2729
3 (noab+nvab) * (h5b_2 - 1)))),
2730
4 p4b_2,p3b_2,p2b_2,h5b_2)
2732
CALL TCE_SORT_4(dbl_mb(k_b),dbl_mb(k_bs),
2733
1 int_mb(k_range+h5b-1),int_mb(k_range+p2b-1),
2734
2 int_mb(k_range+p3b-1),int_mb(k_range+p4b-1),
2737
IF (.not.MA_POP_STACK(l_b))
2738
1 CALL ERRQUIT('ccsd_t1_7',6,MA_ERR)
2739
IF (p3b .eq. p4b) THEN
2744
CALL DGEMM('T','N',dima_sort,dimb_sort,dim_common,
2745
1 alpha,dbl_mb(k_as),dim_common,dbl_mb(k_bs),
2746
2 dim_common,1.0d0,dbl_mb(k_c),dima_sort)
2747
IF (.not.MA_POP_STACK(l_bs))
2748
1 CALL ERRQUIT('ccsd_t1_7',7,MA_ERR)
2749
IF (.not.MA_POP_STACK(l_as))
2750
1 CALL ERRQUIT('ccsd_t1_7',8,MA_ERR)
2757
CALL DSCAL(int_mb(k_range+p2b-1)*int_mb(k_range+h1b-1),
2758
1 -0.5d0,dbl_mb(k_c),1)
2759
CALL ADD_HASH_BLOCK(d_c,dbl_mb(k_c),dimc,
2760
1 int_mb(k_c_offset),
2761
2 (h1b - 1 + noab * (p2b - noab - 1)))
2762
IF (.not.MA_POP_STACK(l_c))
2763
1 CALL ERRQUIT('ccsd_t1_7',10,MA_ERR)
2767
next = NXTASK(nprocs, 1)
2772
next = NXTASK(-nprocs, 1)