1c*********************************************************************** 2 logical function property(rtdb) 3c*********************************************************************** 4c 5c>>> Inquire rtdb for properties to be evaluated. 6c 7* 8* $Id$ 9* 10 implicit none 11 integer rtdb ! [input] 12 integer nbofile,aimfile,moldenfile,polfromsos 13 logical status 14 logical ostart,ocontinue,orestart 15 integer restr 16 logical do_fockbuild 17 logical hnd_property 18 external hnd_property 19#include "context.fh" 20#include "mafdecls.fh" 21#include "rtdb.fh" 22#include "global.fh" 23#include "stdio.fh" 24c 25c Push context down to prop. 26c 27 call ga_sync() 28 29 status = rtdb_parallel(.true.) ! Broadcast reads to all processes 30* if(ga_nodeid().eq.0) 31* $ call util_print_centered(LUout,'Properties',40,.true.) 32c 33c start ecce property output module 34c 35 call util_print_push 36 call util_print_rtdb_load(rtdb,'prop') 37 call ecce_print_module_entry('task property') 38c 39c Find out if this is a restart 40c 41 restr = 0 42 call util_get_rtdb_state(rtdb,ostart,ocontinue,orestart) 43 if (orestart) restr = 1 44 if (restr.gt.0.and. ga_nodeid().eq.0) 45 & write(luout,*) 'Restarting calculation' 46c 47 call solver_setup(rtdb,restr) ! restart parameters for solver (ga_lkain()) 48 if (.not.rtdb_get(rtdb,'prop:do_fockbuild',MT_LOG,1,do_fockbuild)) 49 D do_fockbuild=.true. 50c 51c hondo property calculation routines 52c 53 if(do_fockbuild) then 54 status = hnd_property(rtdb) 55 endif 56c 57c nbo input file 58c 59 if (rtdb_get(rtdb,'prop:nbofile',MT_INT,1,nbofile)) then 60 if(nbofile.eq.1) call wnbofile(rtdb) 61 endif 62 if (rtdb_get(rtdb,'prop:aimfile',MT_INT,1,aimfile)) then 63 if(aimfile.eq.1) call waimfile(rtdb) 64 endif 65 if (rtdb_get(rtdb,'prop:moldenfile',MT_INT,1,moldenfile)) then 66 if(moldenfile.eq.1) call prop_moldenfile(rtdb) 67 endif 68 if (rtdb_get(rtdb,'prop:polfromsos',MT_INT,1,polfromsos)) then 69 if(polfromsos.eq.1) call prop_polfromsos(rtdb) 70 endif 71c 72c finish ecce property output module 73c 74 call ecce_print_module_exit('task property','ok') 75 call util_print_pop 76 property = .true. 77 return 78 end 79