4
1
mirror of https://github.com/pfloos/quack synced 2024-06-27 23:52:19 +02:00
quack/src/QuAcK/print_excitation.f90

43 lines
1.4 KiB
Fortran
Raw Normal View History

2019-03-19 10:13:33 +01:00
subroutine print_excitation(method,ispin,nS,Omega)
! Print excitation energies for a given spin manifold
implicit none
include 'parameters.h'
2019-05-07 22:55:36 +02:00
! Input variables
2020-01-14 14:44:01 +01:00
character*6,intent(in) :: method
2019-03-19 10:13:33 +01:00
integer,intent(in) :: ispin,nS
double precision,intent(in) :: Omega(nS)
2019-05-07 22:55:36 +02:00
! Local variables
2019-03-19 10:13:33 +01:00
character*7 :: spin_manifold
2019-05-07 22:55:36 +02:00
integer,parameter :: maxS = 32
2019-03-19 10:13:33 +01:00
integer :: ia
if(ispin == 1) spin_manifold = 'singlet'
if(ispin == 2) spin_manifold = 'triplet'
2019-10-23 08:22:36 +02:00
if(ispin == 3) spin_manifold = 'spinorb'
2019-03-19 10:13:33 +01:00
write(*,*)
write(*,*)'-------------------------------------------------------------'
2019-10-06 22:35:36 +02:00
write(*,'(1X,A1,1X,A14,A14,A7,A9,A15)')'|',method,' calculation: ',spin_manifold,' manifold',' |'
2019-03-19 10:13:33 +01:00
write(*,*)'-------------------------------------------------------------'
write(*,'(1X,A1,1X,A5,1X,A1,1X,A23,1X,A1,1X,A23,1X,A1,1X)') &
'|','State','|',' Excitation energy (au) ','|',' Excitation energy (eV) ','|'
write(*,*)'-------------------------------------------------------------'
2019-05-07 22:55:36 +02:00
do ia=1,min(nS,maxS)
2019-03-19 10:13:33 +01:00
write(*,'(1X,A1,1X,I5,1X,A1,1X,F23.6,1X,A1,1X,F23.6,1X,A1,1X)') &
'|',ia,'|',Omega(ia),'|',Omega(ia)*HaToeV,'|'
enddo
write(*,*)'-------------------------------------------------------------'
write(*,*)
end subroutine print_excitation