make_sgmw.f90

Go to the documentation of this file.
00001 subroutine estimate_nsgm(ecmin,emin,emax,ecmax,gw_grid_separation,nproc,nsgm)
00002  ! 
00003  implicit none
00004  real(8)::ecmin,emin,emax,ecmax,gw_grid_separation 
00005  real(8)::omega,grd_separation 
00006  integer::ie,je,nproc
00007  integer::nsgm 
00008  integer,parameter::nsgm_max=100000 
00009  real(8),parameter::expansion=10.0d0!50.0d0  
00010  !
00011  je=0
00012  grd_separation=expansion*gw_grid_separation 
00013  omega=ecmin 
00014  do ie=1,nsgm_max
00015   !
00016   if(ecmin<=omega.and.omega<emin)then
00017    grd_separation=expansion*gw_grid_separation 
00018    je=je+1
00019   endif 
00020   !
00021   if(emin<=omega.and.omega<=emax)then
00022    grd_separation=gw_grid_separation 
00023    je=je+1
00024   endif 
00025   !
00026   if(emax<omega)then
00027    grd_separation=expansion*gw_grid_separation 
00028    je=je+1
00029   endif 
00030   !
00031   if(omega>ecmax.and.(mod(je,nproc).eq.0))exit 
00032   !
00033   omega=omega+grd_separation 
00034   !
00035  enddo!ie
00036  ! 
00037  !write(6000,*)'#je=',je  
00038  ! 
00039  nsgm=je 
00040  !
00041  return
00042 end 
00043 !
00044 subroutine make_sgmw(ecmin,emin,emax,gw_grid_separation,nsgm,sgmw)
00045  !
00046  implicit none
00047  real(8)::ecmin,emin,emax,gw_grid_separation
00048  real(8)::omega,grd_separation 
00049  integer::nsgm 
00050  real(8)::sgmw(nsgm) 
00051  integer::ie 
00052  real(8),parameter::expansion=10.0d0!50.0d0  
00053  !
00054  sgmw=0.0d0 
00055  !
00056  grd_separation=expansion*gw_grid_separation 
00057  omega=ecmin 
00058  do ie=1,nsgm 
00059   !
00060   if(ecmin<=omega.and.omega<emin)then
00061    sgmw(ie)=omega
00062    grd_separation=expansion*gw_grid_separation 
00063   endif 
00064   !
00065   if(emin<=omega.and.omega<=emax)then
00066    sgmw(ie)=omega
00067    grd_separation=gw_grid_separation
00068   endif 
00069   !
00070   if(emax<omega)then
00071    sgmw(ie)=omega
00072    grd_separation=expansion*gw_grid_separation 
00073   endif 
00074   !
00075   omega=omega+grd_separation 
00076   !
00077  enddo!ie
00078  !
00079  !do ie=1,nsgm 
00080  ! write(6000,*) ie,sgmw(ie)!*au 
00081  !enddo 
00082  !
00083 return
00084 end 

Generated on 17 Nov 2020 for respack by  doxygen 1.6.1