修改了两处不严谨的地方,gfortran环境下会warning,1:get_non_uniformgrid.f90中,IF判断中IF(SourceLength/GridSize.gt.51)改SourceLength/GridSize为整型SourceGridNum;2:替换旧写法PAUSE语句为READ(*,*)
这个提交包含在:
@@ -30,17 +30,17 @@ SUBROUTINE GET_NON_UNIFORMGRID
|
|||||||
! ----------------------------end of mesh------------------------------------!
|
! ----------------------------end of mesh------------------------------------!
|
||||||
! -------------------------------mesh x----------------------------------------!
|
! -------------------------------mesh x----------------------------------------!
|
||||||
IF(Logi_Sourcelenth) THEN !The number of grids occupied by the source is odd
|
IF(Logi_Sourcelenth) THEN !The number of grids occupied by the source is odd
|
||||||
if(SourceLength/GridSize.gt.51)then
|
if(SourceGridNum.gt.51)then
|
||||||
do ii=nxs-(SourceLength/GridSize-1)/2,nxs+(SourceLength/GridSize-1)/2,1
|
do ii=nxs-(SourceGridNum-1)/2,nxs+(SourceGridNum-1)/2,1
|
||||||
Cdelx(ii)=GridSize
|
Cdelx(ii)=GridSize
|
||||||
end do
|
end do
|
||||||
do ii=nxs-(SourceLength/GridSize-1)/2-1,1,-1
|
do ii=nxs-(SourceGridNum-1)/2-1,1,-1
|
||||||
Cdelx(ii)=Cdelx(ii+1)*scale_par
|
Cdelx(ii)=Cdelx(ii+1)*scale_par
|
||||||
if(Cdelx(ii).gt.GridSize_MAX)then
|
if(Cdelx(ii).gt.GridSize_MAX)then
|
||||||
Cdelx(ii)=GridSize_MAX
|
Cdelx(ii)=GridSize_MAX
|
||||||
end if
|
end if
|
||||||
end do
|
end do
|
||||||
do ii=nxs+(SourceLength/GridSize-1)/2+1,nx,1
|
do ii=nxs+(SourceGridNum-1)/2+1,nx,1
|
||||||
Cdelx(ii)=Cdelx(ii-1)*scale_par
|
Cdelx(ii)=Cdelx(ii-1)*scale_par
|
||||||
if(Cdelx(ii).gt.GridSize_MAX)then
|
if(Cdelx(ii).gt.GridSize_MAX)then
|
||||||
Cdelx(ii)=GridSize_MAX
|
Cdelx(ii)=GridSize_MAX
|
||||||
@@ -64,17 +64,17 @@ SUBROUTINE GET_NON_UNIFORMGRID
|
|||||||
end do
|
end do
|
||||||
ENDIF
|
ENDIF
|
||||||
ELSE !The number of grids occupied by the source is even
|
ELSE !The number of grids occupied by the source is even
|
||||||
if(SourceLength/GridSize.gt.51)then
|
if(SourceGridNum.gt.51)then
|
||||||
do ii=nxs-(SourceLength/GridSize-1)/2,nxs+1+(SourceLength/GridSize-1)/2,1
|
do ii=nxs-(SourceGridNum-1)/2,nxs+1+(SourceGridNum-1)/2,1
|
||||||
Cdelx(ii)=GridSize
|
Cdelx(ii)=GridSize
|
||||||
end do
|
end do
|
||||||
do ii=nxs-(SourceLength/GridSize-1)/2-1,1,-1
|
do ii=nxs-(SourceGridNum-1)/2-1,1,-1
|
||||||
Cdelx(ii)=Cdelx(ii+1)*scale_par
|
Cdelx(ii)=Cdelx(ii+1)*scale_par
|
||||||
if(Cdelx(ii).gt.GridSize_MAX)then
|
if(Cdelx(ii).gt.GridSize_MAX)then
|
||||||
Cdelx(ii)=GridSize_MAX
|
Cdelx(ii)=GridSize_MAX
|
||||||
end if
|
end if
|
||||||
end do
|
end do
|
||||||
do ii=nxs+(SourceLength/GridSize-1)/2+2,nx,1
|
do ii=nxs+(SourceGridNum-1)/2+2,nx,1
|
||||||
Cdelx(ii)=Cdelx(ii-1)*scale_par
|
Cdelx(ii)=Cdelx(ii-1)*scale_par
|
||||||
if(Cdelx(ii).gt.GridSize_MAX)then
|
if(Cdelx(ii).gt.GridSize_MAX)then
|
||||||
Cdelx(ii)=GridSize_MAX
|
Cdelx(ii)=GridSize_MAX
|
||||||
@@ -101,17 +101,17 @@ SUBROUTINE GET_NON_UNIFORMGRID
|
|||||||
! -----------------------------end of mesh------------------------------------!
|
! -----------------------------end of mesh------------------------------------!
|
||||||
! --------------------------------mesh y----------------------------------------!
|
! --------------------------------mesh y----------------------------------------!
|
||||||
IF(Logi_Sourcelenth) THEN !The number of grids occupied by the source is odd
|
IF(Logi_Sourcelenth) THEN !The number of grids occupied by the source is odd
|
||||||
IF(SourceLength/GridSize.gt.51)then
|
IF(SourceGridNum.gt.51)then
|
||||||
do ii=nys-(SourceLength/GridSize-1)/2,nys+(SourceLength/GridSize-1)/2,1
|
do ii=nys-(SourceGridNum-1)/2,nys+(SourceGridNum-1)/2,1
|
||||||
Cdely(ii)=GridSize
|
Cdely(ii)=GridSize
|
||||||
enddo
|
enddo
|
||||||
do ii=nys-(SourceLength/GridSize-1)/2-1,1,-1
|
do ii=nys-(SourceGridNum-1)/2-1,1,-1
|
||||||
Cdely(ii)=Cdely(ii+1)*scale_par
|
Cdely(ii)=Cdely(ii+1)*scale_par
|
||||||
if(Cdely(ii).gt.GridSize_MAX)then
|
if(Cdely(ii).gt.GridSize_MAX)then
|
||||||
Cdely(ii)=GridSize_MAX
|
Cdely(ii)=GridSize_MAX
|
||||||
end if
|
end if
|
||||||
end do
|
end do
|
||||||
do ii=nys+(SourceLength/GridSize-1)/2+1,ny,1
|
do ii=nys+(SourceGridNum-1)/2+1,ny,1
|
||||||
Cdely(ii)=Cdely(ii-1)*scale_par
|
Cdely(ii)=Cdely(ii-1)*scale_par
|
||||||
if(Cdely(ii).gt.GridSize_MAX)then
|
if(Cdely(ii).gt.GridSize_MAX)then
|
||||||
Cdely(ii)=GridSize_MAX
|
Cdely(ii)=GridSize_MAX
|
||||||
@@ -135,17 +135,17 @@ SUBROUTINE GET_NON_UNIFORMGRID
|
|||||||
end do
|
end do
|
||||||
end if
|
end if
|
||||||
ELSE !The number of grids occupied by the source is even
|
ELSE !The number of grids occupied by the source is even
|
||||||
IF(SourceLength/GridSize.gt.51)then
|
IF(SourceGridNum.gt.51)then
|
||||||
do ii=nys-(SourceLength/GridSize-1)/2,nys+1+(SourceLength/GridSize-1)/2,1
|
do ii=nys-(SourceGridNum-1)/2,nys+1+(SourceGridNum-1)/2,1
|
||||||
Cdely(ii)=GridSize
|
Cdely(ii)=GridSize
|
||||||
enddo
|
enddo
|
||||||
do ii=nys-(SourceLength/GridSize-1)/2-1,1,-1
|
do ii=nys-(SourceGridNum-1)/2-1,1,-1
|
||||||
Cdely(ii)=Cdely(ii+1)*scale_par
|
Cdely(ii)=Cdely(ii+1)*scale_par
|
||||||
if(Cdely(ii).gt.GridSize_MAX)then
|
if(Cdely(ii).gt.GridSize_MAX)then
|
||||||
Cdely(ii)=GridSize_MAX
|
Cdely(ii)=GridSize_MAX
|
||||||
end if
|
end if
|
||||||
end do
|
end do
|
||||||
do ii=nys+(SourceLength/GridSize-1)/2+2,ny,1
|
do ii=nys+(SourceGridNum-1)/2+2,ny,1
|
||||||
Cdely(ii)=Cdely(ii-1)*scale_par
|
Cdely(ii)=Cdely(ii-1)*scale_par
|
||||||
if(Cdely(ii).gt.GridSize_MAX)then
|
if(Cdely(ii).gt.GridSize_MAX)then
|
||||||
Cdely(ii)=GridSize_MAX
|
Cdely(ii)=GridSize_MAX
|
||||||
|
|||||||
@@ -62,7 +62,7 @@ SUBROUTINE TIME_SERIOUS
|
|||||||
WRITE(10005,*)'The number of iteration steps exceeds the range given in the input.dat, please change it. now the Nstop value is determined by Max_off_time.'
|
WRITE(10005,*)'The number of iteration steps exceeds the range given in the input.dat, please change it. now the Nstop value is determined by Max_off_time.'
|
||||||
print*,'The number of iteration steps exceeds the range given in the input.dat, please change it. now the Nstop value is determined by Max_off_time.'
|
print*,'The number of iteration steps exceeds the range given in the input.dat, please change it. now the Nstop value is determined by Max_off_time.'
|
||||||
print*,'I give you a pause here, you should decide to continue or to quit'
|
print*,'I give you a pause here, you should decide to continue or to quit'
|
||||||
pause
|
READ(*,*)
|
||||||
Nstop=Nstop_temp
|
Nstop=Nstop_temp
|
||||||
ENDIF
|
ENDIF
|
||||||
RETURN
|
RETURN
|
||||||
|
|||||||
在新工单中引用
屏蔽一个用户