SUBROUTINE execute ! USE Numeric_Kinds_Module USE CommonInfo_Module USE SymGroup_Module USE APH_Module USE SurfaceAPH_Module USE Time_Module USE OVerlap_Module ! Implicit None Save !========================================================================================= ! Written by: Jeff Crawford ! Propagate !========================================================================================= ! I N T E R N A L S CHARACTER(LEN=3) repname Integer :: istat, tterm, ndim_ir, whichir, nchir, chishift, ndim_sector !========================================================================================= ! A L L O C A T A B L E Complex(dp), Allocatable :: phi_ir(:) !========================================================================================= ! Begin time step loop: (Doesn't run a step for t=0) !----------------------------------------------------------------------------------------- Do whichir=1,nirrep IF (to_propagate(whichir)) THEN Call repnames(whichir,group,repname) IF (whichir.le.4) THEN WRITE(*,21) repname, group ELSE WRITE(*,22) repname, group ENDIF !Call findtime(.true.,'ir') nchir=nchi_ir(whichir) ! Possibly pass these to routines rather than ndim_ir=nrho*ntheta*nchir ! calculating them everywhere chishift=chishift_ir(whichir) ndim_sector=ntheta*nchir ALLOCATE(phi_ir(ndim_ir)) phi_ir=Cmplx(0.d0,0.d0,dp) !Call findtime(.true.,'readaph') WRITE(*,'(a)') 'Calulcating APH Surface Functions' !Call read_aph_ham Call aph_surface(0, whichir) !Call deall_aph_ham !Call findtime(.false.,'readaph') ALLOCATE(overlap_vec(totnaphsf,tstep)) WRITE(*,'(a)') 'Propagating Wave Packet' Do tterm=1,tstep !if(tterm.le.2) Call findtime(.true.,'evolve') Call evolve( tterm, phi_ir, ndim_ir, whichir,nchir) !if(tterm.le.2) Call findtime(.false.,'evolve') !if(tterm.le.3) Call findtime(.true.,'project') Call project_aph( tterm, phi_ir, ndim_ir, whichir,nchir,ndim_sector) !if(tterm.le.3) Call findtime(.false.,'project') End Do !Call findtime(.false.,'ir') !Call findtime(.true.,'analysis') Call zanalysis(whichir) !Call findtime(.false.,'analysis') DEALLOCATE(phi_ir,overlap_vec) ENDIF Enddo ! IR LOOP 21 FORMAT(/1X,'Starting for ir = ',a2,' in ',a,/1X,30('-')) 22 FORMAT(/1X,'Starting for ir = ',a3,' in ',a,/1X,30('-')) End Subroutine execute