第二法則について数値解析を行い、
フォートランによって
dt=1.0
dx=1e-4
d=2e-12
a=d*dt/(dx)**2
do 300 j=0,3600
c(j,0)=0.0
c(j,20)=2.0
do 400 i=1,19
c(j+1,i)=c(j,i)+a*(c(j,i+1)-2.0*c(j,i)+c(j,i-1))
400 continue
300 continue
として一秒ごとに計算し、一時間後までの各時間、各位置の濃度を求めています。
(jは時間、iは位置を表しています。)
このとき、刻み時間t=1として計算しているのですが、これを0.1秒で計算したいとき、
do 300 j=0,3600 を do 300 j=0,3600,0.1
c(j+1,i) は c(j+0.1,i)
としなくてはいけないのでしょうか?
それとも1のままでよいのでしょうか。
どなたか、どうか教えてください。
ちなみに、上のようにかえてもプログラムが通らないことはわかっています。
聞きたいのは、「刻み時間を変えると濃度計算の中身と計算のステップも変えなくてはいけないのか」ということです。
わかりにくくて申し訳ありません。
どうかお願い致します。
No.3ベストアンサー
- 回答日時:
ANo.2 です。
例えば、物体の速度 v [m/sec] を例にして考えてみます。
物体の位置を l(t) とすると、
l(t) = l(t-dt) + (v * dt)
(ただし、dt は単位時間(微小時間))
と書くことができますよね。
dt = 1 のときのプログラムの式を、
==== code 1 ====
l(0) = 0
do j = 0, 100
l(j+1) = l(j) + (v * dt)
continue
==== end of code 1 ====
とすると(インデックスが +1 で時間は +1)、dt = 0.1 のとき(0.1秒刻みで位置を算出するとき)のプログラムの式は、
==== code 2 ====
l(0) = 0
do j = 0, 100, dt
l(j/dt+1) = l(j/dt) + (v * dt)
continue
==== end of code 2 ====
となります(インデックスが +1 で時間は +0.1)。
ただ、これでは j/dt が整数にならないとエラーになってしまいますので、以下のように
書き換えるべきではないかと思います。
==== code 3 ====
l(0) = 0
do j = 0, 100/dt
l(j+1) = l(j) + (v * dt)
continue
==== end of code 3 ====
"code 2" と "code 3" でやっていることは同じなのですが、イメージとしては、
・"code 2" は dt を元の値の 1/10 にした。
・"code 3" は dt はそのままで速度を 1/10 にした。
という感じです。
私は、"code 3" のように考えるようにしているので、単位が必要と思ったのです。
(あまり必要なかったですが)
う~ん、かえって回りくどい書き方になってしまったかな。。。
早速回答頂き、どうも有難う御座います。
おぉ!
このプログラムのほうが、私が書いたものよりスッキリしていていいですね!
えぇっと、お書き頂いたプログラムを見る限り、回答としては「時間の刻み幅を変えた場合、濃度計算の時間幅とステップも変えなくてはいけない、ということでよろしいでしょうか・・・?
No.2
- 回答日時:
>a=d*dt/(dx)**2
この式の各変数の単位(例えば、dt なら [sec])がわかれば、
自ずと決まってくると思います。
もしわからないようでしたら、補足で単位を書き出してみてくれませんか?
回答いただき、ありがとうございます。
単位ですか・・・。
おそらく、
dは定数で、dxはメートル、dtは秒
です。
どうして単位から決まってくるのでしょうか・・・?
もしよろしければその理由もお教え下さると幸いです。
No.1
- 回答日時:
c(*)というのは配列ですよね?
配列の番号に入れるのは整数なので、dtを0.1にしたのならjは1刻みのまま、36000回ループさせるしかありません。
この回答への補足
申し訳ありません、{お礼}に書いたプログラムは少し間違っていたので・・・。
do 400 i=1,19
ではなく
do 400 i=1,n
の間違いでした。
これでフィックの法則を用いる材料の位置を表しています。
下手な質問でお恥ずかしい限りです・・・。
どうかもう一度お力添えをよろしくお願いします・・・。
解答ありがとうございます。
はい、dtを0.1にすると、ご指摘の通り、このプログラムでは上手くいきません。
その問題の解決方法としては、read文でdtを読みとり、if文で、dt=0.1ならばdt=1として36000回ループを行おうと思っておりました。
質問の説明が足りなかったようです。
申し訳ありません・・・。
時間の刻み幅は0.1、1、10の三種類設定しようと思っています。
刻み配列子の番号が整数、という問題は上記の方法でいいとして、ここで問題なのは
「刻み時間を変えると濃度計算の中身と計算のステップも変えなくてはいけないのか」
ということです。
つまり、
read(*,*)dt
read(*,*)n
if(dt.eq.(0.1)) then
k=10
dt=1
else
k=1
end if
do 300 j=0,3600*k,dt
もしくは
do 300 j=0,3600*k
c(j,0)=0.0
c(j,20)=2.0
do 400 i=1,19
c(j+dt,i)=c(j,i)+a*(c(j,i+1)-2.0*c(j,i)+c(j,i-1))
もしくは
c(j+1,i)=c(j,i)+a*(c(j,i+1)-2.0*c(j,i)+c(j,i-1))
400 continue
300 continue
上に二通りのdo文と、二通りの濃度計算がありますが、どちらの計算でやるのか、と言うことです。
回りくどい説明で誠に恐縮なのですが、もう一度お教えいただけたら幸いです。
どうかよろしくお願い致します・・・。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 物理学 二つの光時計 2 2022/06/02 16:32
- Excel(エクセル) エクセルの関数に関しての質問です。 5 2022/10/07 11:17
- その他(Microsoft Office) 勤務表のエクセル作成で数式を教えてください。 1 2023/01/17 03:27
- 数学 x=r・cosθの2回微分 θ=ωtとすると? 5 2022/05/10 23:53
- 数学 高校時代電離平衡の計算に関しての質問です。 問題集で、 酢酸は水溶液中で一部が電離し、次のような電離 2 2022/10/22 18:59
- 化学 [例題①]プロパンのOHとの反応速度定数を k=1.0×10⁻¹²cm³s⁻¹、 [OH]=1.0× 0 2023/05/28 13:12
- 労働相談 タイムカードを通す機械(何という機械か分かりません)のモニターには現在時刻が何時何分何秒まで表示され 6 2022/08/28 16:56
- その他(ソフトウェア) F-BASICで計算中の実行が中途で勝手に止まり、大変困っています。 2 2023/03/02 16:15
- 物理学 (1)秒針の角速度の大きさω(ω>0)を計算しなさい 単位はrad/s、πはそのまま残すこと (2) 3 2023/05/01 12:58
- 小学校 5年 速さを求める 3 2023/02/16 17:14
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
v^2-v0^2=2ax 今日この式を習っ...
-
物理で微積をつかう。
-
質量流量の記号「・ の読み方を...
-
d^2r/dt^2の意味
-
d/dx=dt/dx * d/dt =d/dt * dt/...
-
dx/dt=√(1-x^2)の一般解の求め...
-
微分積分のdの意味
-
力学について質問です。 1.棒の...
-
Debug.Printで表示される内容を...
-
減衰運動
-
最後のdv/dtは何でしょうか。
-
運動方程式からエネルギー保存...
-
物理における微分について 参考...
-
地動加速度が単位インパルスの...
-
解析力学(一般化座標の独立性...
-
物理の問題
-
微分記号“d”について
-
加速度 a=dv/dt = (d^2 x) /dt^2
-
EXCEL上の数字を自動で振り分け...
-
エネルギー積分の意味
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
電磁気学でわからないところが...
-
Debug.Printで表示される内容を...
-
d^2r/dt^2の意味
-
質量流量の記号「・ の読み方を...
-
EXCEL上の数字を自動で振り分け...
-
電流の時間微分、電圧の時間微分
-
微分積分のdの意味
-
ポテンシャルエネルギーから力...
-
雨滴の運動質量が変化する落体...
-
物理で微積をつかう。
-
力学について質問です。 1.棒の...
-
交流電圧の時間変化が正弦波の...
-
伝達関数を求めることができる...
-
加速度 a=dv/dt = (d^2 x) /dt^2
-
電磁気学の質問です。 逆起電力...
-
運動方程式を求めてください
-
蒸発速度
-
高校物理 授業でこういうのをや...
-
エネルギー積分の意味
-
解析力学(一般化座標の独立性...
おすすめ情報