1 subroutine tce_create_t4(d_t4,l_t4_offset,k_t4_offset,size_t4, 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_t4_offset_new(l_t4_offset,k_t4_offset,size_t4,irrep) 54#if defined(DEBUG_PRINT) 55 if(nodezero) write(LuOut,*) 'l_t4_offset = ',l_t4_offset 56#endif 57 call createfile(filename,d_t4,size_t4) 58 call gatoeaf(d_t4) 59 cpu = cpu + util_cpusec() 60 if (nodezero.and.util_print('t4',print_default)) then 61c write(LuOut,*) 62 write(LuOut,9000) title,size_t4 63 write(LuOut,9010) title,filename(1:120) 64#if defined(DEBUG_PRINT) 65 write(LuOut,9090) title,d_t4 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