00001 module m_rd_input
00002 implicit none
00003 private
00004 public::read_input
00005
00006 integer,public::Rc_range_spacing
00007 integer,public::Ncalc
00008 logical,public::calc_SC
00009 real(8),public::gw_grid_separation
00010
00011
00012
00013 integer,public::N_sym_points
00014 integer,public::Ndiv
00015 integer,public::reading_sk_format
00016 real(8),public,allocatable::SK_sym_pts(:,:)
00017 integer,public,allocatable::dense(:)
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
00025
00026
00027 Ndiv=40
00028 allocate(dense(3));dense(1:3)=0
00029
00030 rewind(5)
00031
00032 read(5,nml=param_interpolation)
00033 write(6,param_interpolation)
00034
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
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
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
00058
00059
00060
00061
00062
00063 Rc_range_spacing=2
00064 Ncalc=0
00065 calc_SC=.true.
00066 gw_grid_separation=0.05d0
00067
00068
00069
00070 read(5,nml=param_calc_gw)
00071 write(6,param_calc_gw)
00072
00073
00074
00075
00076 end subroutine
00077 end module