shock tube::衝撃波管

  • このエントリーをはてなブックマークに追加
  • LINEで送る

飛行ロボット大会も大きな大きな悔しさを残しながら終わったので(24日の日記参照)、shocktubeのプログラムを書くことにした。昨日の飲み会前に終わらせたいなと思っていたのに歯医者とかあって終わらず、結局今日になって書くのは終わった。結果を表示させてみたらやっぱりどう考えてもおかしい。これからバグ取り無間地獄。

1次元shocktubeをYee 2nd-order upwind TVD schemeで解いた。コードは以下の通り。計算は一瞬で終わった。ubuntuでtimeコマンドで時間測ってみたらだいたい0.3秒くらい。一回一回速度違うんだなと思った。コンパイラはg95。なんでgfortranじゃないかっていうとgfortranはVistaにインストールできなかったから。

  • base.f90

References   [ + ]

1. <span class="synIdentifier">gamma</span><span class="synStatement">-</span><span class="synConstant">1</span>)<span class="synStatement">*</span>(h_av(i)<span class="synStatement">-</span><span class="synConstant">0.5</span><span class="synStatement">*</span>u_av(i)<span class="synStatement">**</span><span class="synConstant">2</span>
2. u_av(i)<span class="synStatement">-</span>c_av(i
3. u_av(i)<span class="synStatement">+</span>c_av(i
4. e(<span class="synConstant">1</span>:<span class="synConstant">3</span>,i<span class="synStatement">+</span><span class="synConstant">1</span>)<span class="synStatement">+</span>e(<span class="synConstant">1</span>:<span class="synConstant">3</span>,i
  • このエントリーをはてなブックマークに追加
  • LINEで送る

SNSでもご購読できます。

コメントを残す

*