|
发表于 2009-12-10 08:33:31
|
显示全部楼层
不懂
程序里有两个u的定义,如下:
c u --- velocity on main cell center
c uf --- velocity on main cell face
这比较奇怪. 既然是交错网格,一个网格存U,另一个网格存P. 为什么U要存在两个网格里呢?
还有这段:
c solving momentum equation on 2nd grid
do i=2,32
aue(i)=amax1(abs(den*u(i)*AA(i)/2.),viscos*aa(i)/dx)
* -den*u(i)*AA(i)/2.
auw(i)=amax1(abs(den*u(i-1)*AA(i-1)/2.),viscos*aa(i-1)/dx)
* +den*u(i-1)*AA(i-1)/2.
su(i)=a(i)*(p(i-1)-p(i))
aup(i)=auw(i)+aue(i)
end do
c write(6,*)aue(10),auw(10),aup(10),su(10),' aue,auw,aup,su'
c small iterations
do i=2,32
uf(i)=(aue(i)*uf(i+1)+auw(i)*uf(i-1)+su(i))/aup(i)
end do
系数是用的u的,解出来的却是uf
最后这个插值:
c interpolation
do i=1,32
u(i)=.5*(uf(i+1)+uf(i))
end do
愣把uf给插回到u, 这是要负负得正的效果么?
我觉得在第2个网格上解动量方程时,是把u表示成已知的第一个网格上p的函数。解出来的还是u. 在第1个网格上解连续方程时,是把p表示成第2个网格上的u的函数.Uf没有用. |
|