主题:真心求帮忙~求解答~求救信号
刚刚入门,下面这个程序在编译的时候没有错误,但是运行不出来。。。。。应该是数组上下标越界了。
苦啊~请各位大仙们帮忙看看吧~小弟在此不胜感激啊~谢谢各位
这个程序是计算一维非稳态温度的
program main
implicit none
integer,parameter::N=11,K=1000
real,dimension(1000,11)::t
integer i,j
real tf1,tf2,h
real Bi,Fo,e
tf1=10.0
tf2=20.0
h=1000.0
Bi=0.3
Fo=0.08617
e=0.01
do j=1,N
t(1,j)=100.0
end do !设置初始温度
do i=1,k
do j=1,N
if(j==1)then
t(i+1,j)=t(i,j)*(1-2*Fo*Bi-2*Fo)+2*Fo*t(i,j+1)+2*Fo*Bi*tf1 !计算左边节点的温度
else if(j==N)then
t(i+1,j)=t(i,j)*(1-2*Fo*Bi-2*Fo)+2*Fo*t(i,j-1)+2*Fo*Bi*tf2 !计算右边节点的温度
else
t(i+1,j)=Fo*(t(i,j+1)+t(i,j-1))+(1-2*Fo)*t(i,j) !计算中间节点的温
end if
if(abs(t(i+1,j)-t(i,j)).LE.e)exit
end do
end do
write(*,*)t(i,j)
stop
end