m_rd_input.f90

Go to the documentation of this file.
00001 module m_rd_input 
00002 implicit none
00003 private
00004 public::read_input 
00005 !&param_calc_gw 
00006 integer,public::Rc_range_spacing!Range of attenuation potential cutoff 
00007 integer,public::Ncalc!The number of bands considered in the GW calculation  
00008 logical,public::calc_SC!flag to calc SC or not 
00009 real(8),public::gw_grid_separation!minimum separation of GW grid (eV) 
00010 !real(8),public::Green_func_delt!ttrhdrn Green's function delt (eV)
00011 !real(8),public::idlt!ttrhdrn Green's function delt (eV)
00012 !&param_interpolation   
00013 integer,public::N_sym_points!The number of k-point points in symmetry line
00014 integer,public::Ndiv!Separation between symmetry points  
00015 integer,public::reading_sk_format!20170709 
00016 real(8),public,allocatable::SK_sym_pts(:,:) 
00017 integer,public,allocatable::dense(:)!dense(3)!Dense k-grid for the Wnnier-interpolated FS
00018 namelist/param_interpolation/N_sym_points,Ndiv,reading_sk_format,dense
00019 namelist/param_calc_gw/Rc_range_spacing,Ncalc,calc_SC,gw_grid_separation   
00020 contains
00021 subroutine read_input 
00022 integer::ix,ik  
00023 !--
00024 !&param_interpolation
00025 !--
00026 !default
00027 Ndiv=40!Separation between symmetry points  
00028 allocate(dense(3));dense(1:3)=0
00029 !--
00030 rewind(5) 
00031 !read(999,nml=param_interpolation)
00032 read(5,nml=param_interpolation)
00033 write(6,param_interpolation) 
00034 !k for band dispersion
00035 allocate(SK_sym_pts(3,N_sym_points))  
00036 if(reading_sk_format==0)then 
00037  write(6,*)'READING SK_sym_pts format=0: respack'
00038  do ik=1,N_sym_points 
00039   !read(999,*)(SK_sym_pts(ix,ik),ix=1,3) 
00040   read(5,*)(SK_sym_pts(ix,ik),ix=1,3) 
00041  enddo 
00042 endif 
00043 if(reading_sk_format==1)then 
00044  write(6,*)'READING SK_sym_pts format=1: xtapp'
00045  do ix=1,3 
00046   !read(999,*)(SK_sym_pts(ix,ik),ik=1,N_sym_points) 
00047   read(5,*)(SK_sym_pts(ix,ik),ik=1,N_sym_points) 
00048  enddo 
00049 endif 
00050 !--
00051 write(6,param_interpolation) 
00052 do ik=1,N_sym_points 
00053  write(6,'(3f10.5)')(SK_sym_pts(ix,ik),ix=1,3) 
00054 enddo 
00055 write(6,*) 
00056 !--
00057 !&param_calc_gw 
00058 !--
00059 !default
00060 !
00061 !GREEN_FUNC_DELT=0.1d0!eV
00062 !
00063 Rc_range_spacing=2!3  
00064 Ncalc=0!Ncalc is set to NTB after
00065 calc_SC=.true.!calc SC: .true., not calc SC: .false.
00066 gw_grid_separation=0.05d0!(eV) 
00067 !--
00068 !open(999,file='input.in')
00069 !read(999,nml=param_calc_gw)
00070 read(5,nml=param_calc_gw)
00071 write(6,param_calc_gw) 
00072 !
00073 !idlt=Green_func_delt 
00074 !
00075 !--
00076 end subroutine
00077 end module

Generated on 17 Nov 2020 for respack by  doxygen 1.6.1