1 SUBROUTINE OFFSET_ccsdt_y_tr2_16_1(l_a_offset,k_a_offset,size) 2C $Id$ 3C This is a Fortran77 program generated by Tensor Contraction Engine v.1.0 4C Copyright (c) Battelle & Pacific Northwest National Laboratory (2002) 5C i1 ( h3 h4 h12 h13 )_ytr 6 IMPLICIT NONE 7#include "global.fh" 8#include "mafdecls.fh" 9#include "sym.fh" 10#include "errquit.fh" 11#include "tce.fh" 12 INTEGER l_a_offset 13 INTEGER k_a_offset 14 INTEGER size 15 INTEGER length 16 INTEGER addr 17 INTEGER h3b 18 INTEGER h4b 19 INTEGER h12b 20 INTEGER h13b 21 length = 0 22 DO h3b = 1,noab 23 DO h4b = h3b,noab 24 DO h12b = 1,noab 25 DO h13b = h12b,noab 26 IF (int_mb(k_spin+h3b-1)+int_mb(k_spin+h4b-1) .eq. int_mb(k_spin+h 27 &12b-1)+int_mb(k_spin+h13b-1)) THEN 28 IF (ieor(int_mb(k_sym+h3b-1),ieor(int_mb(k_sym+h4b-1),ieor(int_mb( 29 &k_sym+h12b-1),int_mb(k_sym+h13b-1)))) .eq. ieor(irrep_y,irrep_tr)) 30 & THEN 31 IF ((.not.restricted).or.(int_mb(k_spin+h3b-1)+int_mb(k_spin+h4b-1 32 &)+int_mb(k_spin+h12b-1)+int_mb(k_spin+h13b-1).ne.8)) THEN 33 length = length + 1 34 END IF 35 END IF 36 END IF 37 END DO 38 END DO 39 END DO 40 END DO 41 IF (.not.MA_PUSH_GET(mt_int,2*length+1,'noname',l_a_offset,k_a_off 42 &set)) CALL ERRQUIT('ccsdt_y_tr2_16_1',0,MA_ERR) 43 int_mb(k_a_offset) = length 44 addr = 0 45 size = 0 46 DO h3b = 1,noab 47 DO h4b = h3b,noab 48 DO h12b = 1,noab 49 DO h13b = h12b,noab 50 IF (int_mb(k_spin+h3b-1)+int_mb(k_spin+h4b-1) .eq. int_mb(k_spin+h 51 &12b-1)+int_mb(k_spin+h13b-1)) THEN 52 IF (ieor(int_mb(k_sym+h3b-1),ieor(int_mb(k_sym+h4b-1),ieor(int_mb( 53 &k_sym+h12b-1),int_mb(k_sym+h13b-1)))) .eq. ieor(irrep_y,irrep_tr)) 54 & THEN 55 IF ((.not.restricted).or.(int_mb(k_spin+h3b-1)+int_mb(k_spin+h4b-1 56 &)+int_mb(k_spin+h12b-1)+int_mb(k_spin+h13b-1).ne.8)) THEN 57 addr = addr + 1 58 int_mb(k_a_offset+addr) = h13b - 1 + noab * (h12b - 1 + noab * (h4 59 &b - 1 + noab * (h3b - 1))) 60 int_mb(k_a_offset+length+addr) = size 61 size = size + int_mb(k_range+h3b-1) * int_mb(k_range+h4b-1) * int_ 62 &mb(k_range+h12b-1) * int_mb(k_range+h13b-1) 63 END IF 64 END IF 65 END IF 66 END DO 67 END DO 68 END DO 69 END DO 70 RETURN 71 END 72