1      subroutine tce_create_t3(d_t3,l_t3_offset,k_t3_offset,size_t3,
2     &                         irrep,title)
3c
4c $Id$
5c
6c Written by Jeff Hammond, January 2008.
7c
8      implicit none
9#include "mafdecls.fh"
10#include "tcgmsg.fh"
11#include "global.fh"
12#include "bas.fh"
13#include "geom.fh"
14c#include "rtdb.fh"
15#include "util.fh"
16#include "msgids.fh"
17#include "stdio.fh"
18#include "errquit.fh"
19c#include "tce.fh"
20c#include "tce_main.fh"
21c#include "tce_prop.fh"
22c#include "tce_ints.fh"
23c#include "tce_amps.fh"
24c#include "tce_diis.fh"
25      integer d_t1             ! SF handle for t1 amplitudes
26      integer l_t1_offset      ! Offset for t1 file
27      integer k_t1_offset      ! Offset for t1 file
28      integer size_t1          ! File size in doubles
29      integer d_t2             ! SF handle for t2 amplitudes
30      integer l_t2_offset      ! Offset for t2 file
31      integer k_t2_offset      ! Offset for t2 file
32      integer size_t2          ! File size in doubles
33      integer d_t3             ! SF handle for t3 amplitudes
34      integer l_t3_offset      ! Offset for t3 file
35      integer k_t3_offset      ! Offset for t3 file
36      integer size_t3          ! File size in doubles
37      integer d_t4             ! SF handle for t4 amplitudes
38      integer l_t4_offset      ! Offset for t4 file
39      integer k_t4_offset      ! Offset for t4 file
40      integer size_t4          ! File size in doubles
41      logical nodezero         ! True if node 0
42      double precision cpu     ! CPU sec counter
43      double precision wall    ! WALL sec counter
44      integer irrep
45      character*8 title
46      character*255 filename
47c
48      nodezero=(ga_nodeid().eq.0)
49      if (nodezero) write(LuOut,*) '============================='
50c
51      cpu = - util_cpusec()
52      call tce_filename(title,filename)
53      call tce_t3_offset_new(l_t3_offset,k_t3_offset,size_t3,irrep)
54#if defined(DEBUG_PRINT)
55        if(nodezero) write(LuOut,*) 'l_t3_offset = ',l_t3_offset
56#endif
57      call createfile(filename,d_t3,size_t3)
58      call gatoeaf(d_t3)
59      cpu = cpu + util_cpusec()
60      if (nodezero.and.util_print('t3',print_default)) then
61c        write(LuOut,*)
62        write(LuOut,9000) title,size_t3
63        write(LuOut,9010) title,filename(1:120)
64#if defined(DEBUG_PRINT)
65        write(LuOut,9090) title,d_t3
66#endif
67c       write(LuOut,9020) cpu
68        call util_flush(LuOut)
69      endif
70c
71      return
72 9000 format(1x,A,' file size   = ',i16)
73 9010 format(1x,A,' file name   = ',A)
74 9020 format(1x,'Cpu & wall time / sec',2f15.1)
75c 9030 format(/,1x,'MBPT(2) correlation energy / hartree = ',f25.15)
76c 9040 format(1x,'MBPT(2) total energy / hartree       = ',f25.15)
77 9090 format(1x,A,' file handle = ',i10)
78      end
79