猿代码 — 科研/AI模型/高性能计算
0

多重网格:Prolongation operator,粗网格往细网格上插值,c2f

摘要: 1)!---------------------------------------------------------------------------!!Prolongation operator,粗网格往细网格上插值,c2f!bilinear interpolation!----------------------------------------------- ...
1)
!---------------------------------------------------------------------------!
!Prolongation operator,粗网格往细网格上插值,c2f
!bilinear interpolation
!---------------------------------------------------------------------------!
SUBROUTINE prol(nxh,nyh,nxf,nyf,u,p)
implicit none
integer::nxf,nyf,nxh,nyh
real*8, dimension(0:nxf,0:nyf)::p !on higher grid
real*8, dimension(0:nxh,0:nyh)::u !on lower grid
integer::i,j


do i=0,nxh-1
do j=0,nyh-1
p(2*i,2*j)    = u(i,j)
p(2*i+1,2*j)  = 1.0d0/2.0d0*(u(i,j)+u(i+1,j))
p(2*i,2*j+1)  = 1.0d0/2.0d0*(u(i,j)+u(i,j+1))
p(2*i+1,2*j+1)= 1.0d0/4.0d0*(u(i,j)+u(i,j+1)+u(i+1,j)+u(i+1,j+1))
end do
end do

!还要处理一下边界
do j=0,nyh
p(nxf,2*j)    = u(nxh,j)
end do
do i=0,nxh
p(2*i,nyf)    = u(i,nyh)
end do

return
end

注意,还得重新处理一下边界。

说点什么...

已有0条评论

最新评论...

本文作者
2024-2-22 17:31
  • 0
    粉丝
  • 479
    阅读
  • 0
    回复
资讯幻灯片
热门评论
热门专题
排行榜
Copyright   ©2015-2023   猿代码-超算人才智造局 高性能计算|并行计算|人工智能      ( 京ICP备2021026424号-2 )