wrt_optical_property.f90

Go to the documentation of this file.
00001 subroutine wrt_optical_property(ngrd,grd,func) 
00002   implicit none
00003   integer,intent(in)::ngrd
00004   complex(8),intent(in)::grd(ngrd)
00005   complex(8),intent(in)::func(ngrd,3)
00006   integer::ix,ie 
00007   real(8)::x,y,r  
00008   complex(8)::zsqrt 
00009   complex(8)::z 
00010   integer::file_num 
00011   character(99)::filename 
00012   real(8),parameter::au=27.21151D0!hartree 
00013   real(8),parameter::pi=dacos(-1.0d0)
00014   real(8),parameter::tpi=2.0d0*pi 
00015   real(8),parameter::unit_for_optical_conductivity=11.12650d0/2.41004d0![10^6/Ohm/m] 
00016   real(8),parameter::unit_for_optical_conductivity_secinv=41.341379d0![10^15/sec] 
00017   integer,parameter::file_num_eels=9000 
00018   integer,parameter::file_num_optical=9100 
00019   integer,parameter::file_num_reflectivity=9200 
00020   integer,parameter::file_num_macroscopic_epsilon=9300 
00021   !
00022   !eels
00023   !
00024   do ix=1,3
00025    file_num=file_num_eels+ix
00026    !--
00027    !OPEN(900%,W,FILE='dat.eels-x,y,z')
00028    if(ix==1)write(filename,"('dat.eels-x')") 
00029    if(ix==2)write(filename,"('dat.eels-y')") 
00030    if(ix==3)write(filename,"('dat.eels-z')") 
00031    OPEN(file_num,FILE=filename) 
00032    REWIND(file_num)
00033    write(file_num,'(a)')'#EELS'
00034    write(file_num,'(a)')'#1:omega[eV], 2:-Im(eps-1)'
00035    do ie=1,ngrd
00036     x=dble(func(ie,ix))
00037     y=imag(func(ie,ix)) 
00038     !write(file_num,'(f15.8,2f25.12)') dble(grd(ie))*au,x,-y 
00039     write(file_num,'(2f15.8)') dble(grd(ie))*au,-y 
00040    enddo!ie
00041   enddo!ix 
00042   !
00043   !optical conductivity 
00044   !
00045   do ix=1,3
00046    file_num=file_num_optical+ix
00047    !--
00048    !OPEN(910%,W,FILE='dat.optical_conductivity-x,y,z')
00049    if(ix==1)write(filename,"('dat.optical_conductivity-x')") 
00050    if(ix==2)write(filename,"('dat.optical_conductivity-y')") 
00051    if(ix==3)write(filename,"('dat.optical_conductivity-z')") 
00052    OPEN(file_num,FILE=filename) 
00053    REWIND(file_num)
00054    write(file_num,'(a)')'#Optical conductivity (sgm)'
00055    write(file_num,'(a)')'#1:omega[eV], 2:Re(sgm)[10^6/Ohm/m], 3:Im(sgm)[10^6/Ohm/m], 4: Re(sgm)[10^15/s], 5: Im(sgm)[10^15/s]'
00056    do ie=1,ngrd
00057     !
00058     !20191021 Kazuma Nakamura 
00059     !
00060     !x=dble(func(ie,ix))
00061     !y=imag(func(ie,ix)) 
00062     !write(file_num,'(f15.8,2f25.12)') dble(grd(ie))*au,x/(x**2+y**2),-y/(x**2+y**2) 
00063     z=func(ie,ix) 
00064     !
00065     !unit: 10^6 Ohm-1 m-1
00066     !
00067     write(file_num,'(f15.8,4f22.8)') dble(grd(ie))*au,& 
00068     dble(grd(ie))/(2.0d0*tpi)*dble(1.0d0/z)*unit_for_optical_conductivity,&   
00069     dble(grd(ie))/(2.0d0*tpi)*imag(1.0d0/z)*unit_for_optical_conductivity,&  
00070     !
00071     !unit: 10^15 sec-1
00072     !
00073     dble(grd(ie))/(2.0d0*tpi)*dble(1.0d0/z)*unit_for_optical_conductivity_secinv,&   
00074     dble(grd(ie))/(2.0d0*tpi)*imag(1.0d0/z)*unit_for_optical_conductivity_secinv
00075     !
00076    enddo!ie
00077   enddo!ix 
00078   !
00079   !reflectivity 
00080   !
00081   do ix=1,3
00082    file_num=file_num_reflectivity+ix
00083    !--
00084    !OPEN(920%,W,FILE='dat.reflectivity-x,y,z')
00085    if(ix==1)write(filename,"('dat.reflectivity-x')") 
00086    if(ix==2)write(filename,"('dat.reflectivity-y')") 
00087    if(ix==3)write(filename,"('dat.reflectivity-z')") 
00088    OPEN(file_num,FILE=filename) 
00089    REWIND(file_num)
00090    write(file_num,'(a)')'#Reflectivity'
00091    write(file_num,'(a)')'#1:omega[eV], 2:Reflectivity'
00092    do ie=1,ngrd
00093     zsqrt=func(ie,ix)**0.5d0
00094     r=(abs((1.0d0-zsqrt)/(1.0d0+zsqrt)))**2 
00095     write(file_num,'(2f15.8)') dble(grd(ie))*au,r 
00096    enddo!ie 
00097   enddo!ix  
00098   !
00099   !macroscpic dielectric function 
00100   !
00101   do ix=1,3
00102    file_num=file_num_macroscopic_epsilon+ix
00103    !--
00104    !OPEN(930%,W,FILE='dat.macroscopic_epsilon-x,y,z')
00105    if(ix==1)write(filename,"('dat.macroscopic_epsilon-x')") 
00106    if(ix==2)write(filename,"('dat.macroscopic_epsilon-y')") 
00107    if(ix==3)write(filename,"('dat.macroscopic_epsilon-z')") 
00108    OPEN(file_num,FILE=filename) 
00109    REWIND(file_num)
00110    write(file_num,'(a)')'#Macroscopic dielectric function'
00111    write(file_num,'(a)')'#1:omega[eV], 2:Re(1/eps-1), 3:Im(1/eps-1)'
00112    do ie=1,ngrd
00113     !
00114     !20191021 Kazuma Nakamura 
00115     !
00116     !x=dble(func(ie,ix))
00117     !y=imag(func(ie,ix)) 
00118     !write(file_num,'(f15.8,2f25.12)') dble(grd(ie))*au,x/(x**2+y**2),-y/(x**2+y**2) 
00119     z=func(ie,ix) 
00120     write(file_num,'(f15.8,2f22.8)') dble(grd(ie))*au,dble(1.0d0/z),imag(1.0d0/z) 
00121     !
00122    enddo!ie
00123   enddo!ix 
00124   !
00125 return
00126 end

Generated on 17 Nov 2020 for respack by  doxygen 1.6.1