130 likes | 217 Views
■ 陰解法による計算結果. 基礎方程式. x. 第 14 回 プログラミング実習. 2007.07.30. ■ 達成目標と学習・教育目標. v 差分法を用いた初歩的な数値計算について, FORTRAN によるプログラミングができる(目標H). ■ 差分スキームの補足. ▼ Friedrichs-Lax 法. ▼ Fromm 法. ■ プログラムの流れ. 変数の設定,型宣言. 必要な変数は書き出しておく. クーラン数 の設定 初期条件の設定. クーラン数は変更できるように. 差分法による計算. 配列を使って繰り返し計算. 計算結果の出力.
E N D
■ 陰解法による計算結果 基礎方程式 x
第14回 プログラミング実習 2007.07.30
■ 達成目標と学習・教育目標 v差分法を用いた初歩的な数値計算について, FORTRANによるプログラミングができる(目標H)
■ 差分スキームの補足 ▼ Friedrichs-Lax 法 ▼ Fromm 法
■ プログラムの流れ 変数の設定,型宣言 必要な変数は書き出しておく クーラン数の設定 初期条件の設定 クーラン数は変更できるように 差分法による計算 配列を使って繰り返し計算 計算結果の出力 まずは最終結果を!
■ 課題の提出について • プログラムリスト • 結果のグラフ • 課題に対する解答 • 以上をまとめてファイルで提出 • ※ファイル名:半角英数字で学籍番号 • ※提 出 先:計算力学のシェアフォルダ • ※期日までに提出されたレポートのみ受け取る
■ 風上差分法のプログラム n:時間ステップ, j:空間刻み, v:クーラン数 として, do 10 n=1, nmax do 20 j=1, jmax f(j,n+1)=f(j,n)-v*(f(j,n)-f(j-1,n)) 20 continue 10 continue このプログラムで正しく計算できるか?
■ 境界条件について ex. 風上差分 j=1 j=1 j=1 j=0 計算領域の左端(x軸上の最初の格子点)における f の値 は計算しない. → 境界条件として与えてしまう. ※初期分布として設定した f1の値を使えばよい.
■ 風上差分法のプログラム(改良版) n:時間ステップ, j:空間刻み, v:クーラン数 として, do 10 n=1, nmax do 20 j=2, jmax f(j,n+1)=f(j,n)-v*(f(j,n)-f(j-1,n)) 20 continue 10 continue ※ 境界条件(j = 1)を考慮する
■ ファイル出力 2次元の配列 :f(j,n),j=1~5,n=1~3 について,その値をファイル出力する場合 open(1,file=’out.dat’,status=’new’) do 10 n=1, 3 write(1,100)( f(j,n),j=1,5 ) 10 continue close(1) 100 format( 5(f6.2) )
■ ファイル出力 j=1 j=2 j=3 j=4 j=5 n=1 f(1,1) f(2,1) f(3,1) f(4,1) f(5,1) n=2 f(1,2) f(2,2) f(3,2) f(4,2) f(5,2) n=3 f(1,3) f(2,3) f(3,3) f(4,3) f(5,3) format( 5(f6.2) ) f6.2 : xxx.xx 5f6.2 :xxx.xxxxx.xxxxx.xxxxx.xxxxx.xx
■ 期末試験について(8月6日実施) • 試験範囲 第11回までの授業範囲.プリントの演習問題, 提出した課題を中心に復習しておくこと • 注意事項 1.参考書,プリント等の参照は禁止 2.英和辞典 使用不可 3.計算機 使用不可 4.携帯電話 使用禁止 5.学習チェックシートを持参すること (試験終了後に回収します)