2 Star 10 Fork 2

李诗尧 / WENO-2D

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
time_iteration.f90 1.50 KB
一键复制 编辑 原始数据 按行查看 历史
李诗尧 提交于 2020-09-30 16:25 . 时间迭代
subroutine time_iteration(irk)
use commondata
implicit none
integer :: irk
vtemp = v1
if(irk==1) then
do j = 0, jn
do i = 0, im
v1(:,i,j) = v0(:,i,j) - dt/dx*( fx(:,i,j)-fx(:,i-1,j) ) &
- dt/dy*( fy(:,i,j)-fy(:,i,j-1) )
if(FLG_prob==1) then
v1(3,i,j) = v1(3,i,j) + dt*vtemp(1,i,j)
v1(4,i,j) = v1(4,i,j) + dt*vtemp(3,i,j)
end if
end do
end do
else if(irk==2) then
do j = 0, jn
do i = 0, im
v1(:,i,j) = 0.25d0*( 3.d0*v0(:,i,j) + v1(:,i,j) &
- dt/dx*( fx(:,i,j)-fx(:,i-1,j) ) - dt/dy*( fy(:,i,j)-fy(:,i,j-1) ) )
if(FLG_prob==1) then
v1(3,i,j) = v1(3,i,j) + 0.25d0*dt*vtemp(1,i,j)
v1(4,i,j) = v1(4,i,j) + 0.25d0*dt*vtemp(3,i,j)
end if
end do
end do
else if(irk==3) then
do j = 0, jn
do i = 0, im
v1(:,i,j) = 1.d0/3.d0*( v0(:,i,j) + 2.d0*v1(:,i,j) &
- 2.d0*dt/dx*( fx(:,i,j)-fx(:,i-1,j) ) - 2.d0*dt/dy*( fy(:,i,j)-fy(:,i,j-1) ) )
if(FLG_prob==1) then
v1(3,i,j) = v1(3,i,j) + 2.d0/3.d0*dt*vtemp(1,i,j)
v1(4,i,j) = v1(4,i,j) + 2.d0/3.d0*dt*vtemp(3,i,j)
end if
end do
end do
end if
end subroutine time_iteration
FORTRAN
1
https://gitee.com/humbert_611/weno-2-d.git
git@gitee.com:humbert_611/weno-2-d.git
humbert_611
weno-2-d
WENO-2D
master

搜索帮助