

こんばんは。
早速ですが、質問させて頂きます。
学校の課題で一次元熱伝導方程式のプログラムを組みなさいという課題が出たのですが、入力、出力のプログラムが上手く書けずに困っています。
自分で何回もやってみたのですが、「ループがベクトル化されました」としか出ず、どこが間違っているのかも分からない状況です。
詳しい方、教えて頂ければ幸いです。
下に自分が作成したプログラムを載せておきます。
program heat
implicit none
integer i, n, nmax
real(8) t0, t1, d, time, a, h, p, q, an0, kn, bn, en
integer, parameter :: id = 100
real(8), parameter :: pi = 3.1415926535d0
real(8), parameter :: lambda = 2.5d-6, rho = 2500.d0, c = 2.35d-7
real(8), parameter :: expmax = 50.d0
real(8) x(0:id), t(0:id)
!
! Data input part (t0,t1,d,a,time,nmax)
!
t0=300.0d0 ! degrees
t1=200.0d0 ! degrees
d =100.0d0 ! m
time=1.0 ! year
time = time *365.0d0*24.0d0 ! year --> hour
nmax=1000
a = 1.0d6 ! Area of rock surface [m^2]
h=d/id
do i=0,id
x(i)=i*h
t(i)=t1
end do
p=0.0d0
q=0.0d0
do n=1,nmax,2
an0=4.0d0/(n*pi)*(t0-t1)
kn=n*pi/d
bn=lambda*kn*kn/(rho*c)
if(bn*time.le.expmax) then
en=exp(-bn*time)
else
en=0.0d0
endif
do i=0,id
t(i)=t(1)+an0*sin(kn*x(i))*en
enddo
p=p+an0*kn*en
q=q+an0*kn/bn*(1.0d0-en)
enddo
p=lambda*a*p
q=lambda*a*q
open(20,file=‘output.dat’)
write(20,*) ‘x(i),t(i),p,q' = ‘, ‘x(i),t(i),p,q'
close(20)
stop
end program heat
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
フローチャートで 変数に代入す...
-
ファイルの開き方
-
あるプログラムのコマンドライ...
-
正しい五十音順について
-
65536は2の何乗なのでしょうか?
-
VBAにてメール作成した際、一部...
-
VBAで仕様書は書きますか?
-
Vba UserFormを前面に出す方法...
-
寿命
-
COBOLでBLOCK CONTAINS句につい...
-
OS入ってる機器のソフト・アプ...
-
変化させるセルが変化しない
-
空elseの有無
-
C++でアボート(Abort)で処理が...
-
自動クエリとはどういうもので...
-
グループを均等に分けるには?...
-
「Outlookが他のプログラムによ...
-
Bluestacks内でダウンロードし...
-
Excelに埋め込んだVBAのプログ...
-
Photoshopで、できますか?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
フローチャートの菱形が狭い。。。
-
フローチャートで 変数に代入す...
-
pythonプログラム
-
フローチャートで。
-
フローチャートが書けません
-
さっぱり分かりません。フロー...
-
二分法(FORTRAN)
-
連立1次方程式を計算するFortra...
-
プログラムのロジックをノート...
-
Delphiで配列をファイルに出力...
-
フローチャートを書きたい
-
学校でフローチャートって教わ...
-
for文のフローチャート
-
サブルーチンのフローチャート...
-
正しい五十音順について
-
ファイルの開き方
-
65536は2の何乗なのでしょうか?
-
VBAで仕様書は書きますか?
-
あるプログラムのコマンドライ...
-
OS入ってる機器のソフト・アプ...
おすすめ情報