河川の流況を計算する際、分岐した水路ごとに色々な条件下での流量変化を計算したいなど、一部分の流量を求めたいことがあります。iRICとExcelだけで効率よく流量を求める方法を紹介します。特に格子点が整列しないRiver2Dなどの非構造格子ソルバーに便利です。
iRICはフリーの河川数値シミュレーションプラットフォームです。
iRICの計算格子の配置をあらかじめ工夫しておく
計算格子がどのように並んでいても、計算結果をQGIS上でラスタデータに変換すればどのようにでも料理できますが、工数がかかります。計算格子が流量計算しやすいように配置されていれば、iRICとExcelだけで素早く簡単に精度よく流量を計算できます。特に計算格子がランダムに配置されてしまう非構造格子ソルバーを使用する場合、ひと工夫で大幅に手間が減ります。
例えば、下図の計算例のように、中央で水路が3本に分かれていて、そのそれぞれにどれだけ流量が分配されているか知りたいとします。この例は非構造格子のRiver2Dソルバーを使っていますので、基本的には格子点がランダムに配置されており、普通に計算すると流量を計算したい横断面上に格子点が並びません。
そこを一工夫することで、下図のように格子点が直線状に並んだ流量計算断面をあらかじめ作成します。
格子点を並べるだけなら話は簡単で、iRICの非構造格子作成機能でも一度生成した格子点を手動で動かすことができますので、手で並べれば良いだけです。しかしiRIC/River2Dで流況計算をしたことのある方ならわかると思いますが、良い流況計算結果を得るためには地形を修正して繰り返し格子生成を実行していくため、そのたびに格子の位置が動いてしまうのです。
この問題を避けるためには分割線を活用します。分割線は、生成される格子がその線を跨がないように制御する働きします。そのため一般に、左右護岸下部、水際、澪筋に最低限入れるべきと言われていますが、iRICの非構造格子生成アルゴリズムを使う場合、格子の配置や密度を制御するために積極的に使っていきます。下図の場合、太線が分割線で、太い赤丸で囲った点を含む分割線はiRIC上で選択してノードが見えるようにしてあります。この例のように、澪筋以外にも多くの分割線を想定される流線に沿って配置し、流量を測定したい断面ではかならずクリックしてノードを作っておきます。River2Dの格子全体の生成条件である三角要素の面積を分割線間に生成できる正三角形より十分大きく設定しておけば、かならず分割線の間には三角要素が一列だけ生成され、ノードには頂点が作られますので、格子生成を実行するとかならず流量計測断面に格子点が並ぶのです。
断面を構成する格子のインデックスを確認する
オブジェクトブラウザで格子形状のプロパティを開き、格子インデックスを表示します。あまり大きな範囲を表示した状態で格子インデックスを表示すると、iRICの動作が重くなりますので、あらかじめ必要な部分を拡大してから表示するのがコツです。格子インデックスをメモするか、Excelに打ち込んでおきます。
iRICの流況計算結果をCSVファイルに出力する
ここではRiver2Dソルバーを例に説明しますので、各自の使用するソルバーについては出力内容などについて適当に読み替えてください。メニューから「ファイル」-「エクスポート」-「計算結果」で「計算結果のエクスポート」ダイアログを開きます。「形式」をCSVにし、「時刻」は必要なもの(ここでは最終結果のみ)を選びます。「OK」で計算結果が出力されます。
CSVをエクセルで開き流量を簡単に求める
以下はRiver2Dソルバーのものですが、他のソルバーでも類似の形式だと思います。左端のIカラムは、先に確認した格子インデックス-1の値が入っています。このデータには手を加えずにxlsx形式に変更して保存します。
次に、計算用のシートを追加します。そこに、あらかじめメモしておいた流量計算断面の格子インデックスを転記します。そして、下図上段のような式を入力していきます。難しそうですが、どれも最上段だけ作れば下にコピーするだけです。X, Y, Depth, Velocity (magnitude)カラムは、Result_1シートのデータをIでvlookupして対応する格子点のデータを読み出すだけで、図中赤丸部分の数字が違うだけ(X:2, Y:3, Depth:6, Velocity:11)、あとは簡単な計算です。下図上段は数式表示したもの、下図下段は通常表示したもので、流量は3.472m3/sとなりました。
計算条件を変更しても次々に流量を求めることができる
この方法の良いところは、全体の流量を変更するなど、格子インデックスに影響しないような条件変更ならResult_1シートのデータをコピペで置き換えるだけであっという間に流量が計算できることです。(格子インデックスが変わるような変更(他の場所の地形や格子形状を変化させて格子の数が変わったなど)を行った場合は、格子インデックスの確認を行う必要はあります。)
複数断面の流量計算などにも簡単に対応できますので工夫してください。Have fun!
コメント