- 137 名前:デフォルトの名無しさん [2006/12/28(木) 04:22:27 ]
- fortran77を使用して、cos(pi*x)を初期値とした熱方程式の時間発展を計算したいと思います。
範囲は0≦x≦1です。 これで作られたdatファイル('C:\out.dat')が(exp((-(pi)**2)*0.05))*cos(pi*x) とぴったり重なる様な結果を得たいのですが、ずれてしまいます。 改善点をご指摘いただければ幸いです。よろしくお願いします。 program heat equation implicit none integer i,j,nstep,n,ndim parameter (ndim=5001) double precision flam,f,h,u,c1,c2,fi,t,tmax,dt double precision a,b,c dimension a(ndim),b(ndim),c(ndim),u(ndim) n=10 dt=0.005d0 tmax=0.05d0 h=1.0d0/float(n) flam=dt/(h**2.0d0) c1=1.0d0-2.0d0*flam c2=flam do 1 i=1,n-1 a(i)=c2 b(i)=c1 c(i)=c2 1 continue do 2 i=1,n+1 fi=i-1 u(i)=f(fi*h) 2 continue OPEN(11,FILE='C:\out.dat') nstep=0.0
|

|