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