【浅水流方程式】ダム崩壊問題におけるDry bedとWet bedの違い 三次元図付き
【浅水流方程式】サイトマップ(ここから関連記事が探せます)
今回は、前に作った浅水流方程式におけるダム崩壊問題(dam break problem)の解析解を計算するコードを用いて、Dry bedの場合とWet bedの場合それぞれの水深の時間変化の三次元図を作りました。
Shock-Capturing Methods for Free-Surface Shallow Flows
- 作者: Eleuterio F. Toro
- 出版社/メーカー: Wiley
- 発売日: 2001/03/23
- メディア: ハードカバー
- この商品を含むブログを見る
z軸が水深、x軸(手前に伸びている軸)が空間方向、y軸(右に伸びている軸)が時間方向です。
まず、Dry bedです。Dry bedの場合は膨張波のみが形成されることがわかります。
次にWet bedです。一方、Wet bedの場合は、膨張波と衝撃波がそれぞれ逆向きに形成されることがわかります。
Dry bedとWet bedにおけるダム崩壊問題は、このように定性的にまったく異なる解を持っていることがわかります。特に、波の先端の波速も異なります。気を付けて下さい!
こちらもどうぞ
【語学リンク】「2漢字は「形声」が7割」のリンク
漢字の成り立ちに関してわかりやすく説明してくれます。新しい漢字がどのように作られているかがわかります。
【浅水流方程式】ダム崩壊問題の解析解全パターン!動画付き!
【浅水流方程式】サイトマップ(ここから関連記事が探せます)
前に作った、浅水流方程式におけるダム崩壊問題(dam break problem)の解析解を計算するコードを用いて、水深と流速がどうなるか動画にしていきたいと思います!こういうのは動画のほうがわかりやすいです。Toroの"Shock-Capturing Methods for Free-Surface Shallow Flows"が非常に参考になります。
Shock-Capturing Methods for Free-Surface Shallow Flows
- 作者: Eleuterio F. Toro
- 出版社/メーカー: Wiley
- 発売日: 2001/03/23
- メディア: ハードカバー
- この商品を含むブログを見る
ダム崩壊問題(dam break problem)には7パターンの解があります。すなわち、
1. 左側衝撃波、右側衝撃波
2. 左側膨張波、右側衝撃波
3. 左側衝撃波、右側膨張波
4. 左側膨張波、右側膨張波
5. 右側dry bed
6. 左側dry bed
7. dry bedが後から出現
です。さらに、これらはWet bedとDry bedに分けられます。1~4はWet bedで、5~7がDry bedです。Wet bedとは、水深が常に0より大きい場合のことを、Dry bedとは、水深が0になることがある場合のことを言います。
問題設定は「領域の真ん中 にダムがあり、時刻 に取り去られる」となっています。
わかりやすくなるように、以下では水深は青のグラフ、流速は赤のグラフで表示します。
Wet bed
1. 左側衝撃波、右側衝撃波
・初期条件
、、、
・時間
まで
・結果
"hstar 0.882855
ustar 0
left shock with shock speed -1.95896
right shock with shock speed 1.95896"
2. 左側膨張波、右側衝撃波
・初期条件
、、、
・時間
まで
・結果
"hstar 0.396175
ustar 2.32017
left rarefaction with head speed -3.1305 and tail speed 0.349762
right shock with shock speed 3.10355"
3. 左側衝撃波、右側膨張波
・初期条件
、、、
・時間
まで
・結果
"hstar 0.396175
ustar -2.32017
left shock with shock speed -3.10355
right rarefaction with head speed 3.1305 and tail speed -0.349762"
4. 左側膨張波、右側膨張波
・初期条件
、、、
・時間
まで
・結果
"hstar 0.00587508
ustar 0
left rarefaction with head speed -2.48995 and tail speed -0.239949
right rarefaction with head speed 2.48995 and tail speed 0.239949"
Dry bed
5. 右側dry bed
・初期条件
、、、
・時間
まで
・結果
"left rarefaction dry bed with head speed -3.1305 and tail speed 6.26099"
6. 左側dry bed
・初期条件
、、、
・時間
まで
・結果
"right rarefaction dry bed with head speed 3.1305 and tail speed -6.26099"
7. dry bedが後から出現
・初期条件
、、、
・時間
まで
・結果
"generation of dry bed
left rarefaction dry bed with head speed -3.98995 and tail speed -1.0201
right rarefaction dry bed with head speed 3.98995 and tail speed 1.0201"
こちらもどうぞ
おまけ
使用したスクリプト
//left and right dry bed h// set terminal gif animate delay 5 optimize size 640,480 set output 'h.gif' do for [j = 0:79 ] { plot [-5.5:5.5][-0.05:1.05] sprintf("gnuplot_h_%d.txt", j) using 2:3 with lines lw 1.5 lc rgb "blue" } set out set terminal wxt enhanced //right dry bed u// set terminal gif animate delay 5 optimize size 640,480 set output 'u.gif' do for [j = 0:79 ] { plot [-5.5:5.5][-0.05:6.5] sprintf("gnuplot_u_%d.txt", j) using 2:3 with lines lw 1.5 lc rgb "red" } set out set terminal wxt enhanced //left dry bed u// set terminal gif animate delay 5 optimize size 640,480 set output 'u.gif' do for [j = 0:79 ] { plot [-5.5:5.5][-6.5:0.05] sprintf("gnuplot_u_%d.txt", j) using 2:3 with lines lw 1.5 lc rgb "red" } set out set terminal wxt enhanced //generation of dry bed h// set terminal gif animate delay 5 optimize size 640,480 set output 'h.gif' do for [j = 0:79 ] { plot [-5.5:5.5][-0.01:0.11] sprintf("gnuplot_h_%d.txt", j) using 2:3 with lines lw 1.5 lc rgb "blue" } set out set terminal wxt enhanced //generation of dry bed u// set terminal gif animate delay 5 optimize size 640,480 set output 'u.gif' do for [j = 0:79 ] { plot [-5.5:5.5][-3.2:3.2] sprintf("gnuplot_u_%d.txt", j) using 2:3 with lines lw 1.5 lc rgb "red" } set out set terminal wxt enhanced
【浅水流方程式】リーマン不変量と一般化リーマン不変量の違い(数式なしで)
【浅水流方程式】サイトマップ(ここから関連記事が探せます)
今回は数式なしで説明します。
リーマン不変量(Riemann Invariants)は、特性曲線に沿って一定の値をとります。一方、一般化リーマン不変量(Generalized Riemann Invariants)は、単純波をまたぐ際に使えるもので、m個の保存則に対してm-1個の常微分方程式が成り立つことを言います。
似ているので気を付けてください。特に、一般化リーマン不変量は、ダムブレイク問題の解析解の導出などで使う便利な式です。Vincent Guinot, "Wave Propagation in Fluids: Models and Numerical Techniques"にわかりやすく載っていました。是非一読下さい。
参考
Vincent Guinot, "Wave Propagation in Fluids: Models and Numerical Techniques", 2.1.3 Characteristic form – Riemann invariants, pp.57-59, 3.3.2 Generalized Riemann invariants, pp.143-144.
Wave Propagation in Fluids: Models and Numerical Techniques
- 作者: Vincent Guinot
- 出版社/メーカー: Wiley-ISTE
- 発売日: 2010/10/18
- メディア: ハードカバー
- この商品を含むブログを見る
【フランス語単語】rusé
rusé:抜け目のない、ずるい
Pour reproduire cette sécheresse, les scientifiques ont rusé.
【フランス語】子供向けフランス語ニュースサイト
子供向けフランス語ニュースサイトのリンクです。文体はかなり明快ですが、語彙の点や多読の観点から勉強におすすめです。大人が読んでも興味深い記事がたくさんあります。
下に点々が出ている単語にカーソルを合わせると、フランス語でその単語の意味を見ることができます。