iRIC:River2Dの格子生成のコツ

アイキャッチ, grid River2D

格子生成はほとんどボタン一発でできてしまうので、初心者の方はデフォルトのまま先に進んでしまいがちですが、実は大変奥が深いです。できるだけノウハウを伝えますが、経験がものを言うところでもあります。じっくり取り組んでください。

iRICはフリーの河川数値シミュレーションプラットフォームです。

まずは「ボタン一発」で格子生成してみよう

河床地形の作成」の続きの作業になります。「格子生成条件」を右ボタンクリックして「格子生成アルゴリズムの選択」を選び、一つしかない「ポリゴン形状から生成」を選びます。そして、格子生成領域をポリゴンで定義します。格子生成領域は完全に地形サーフェス内に含まれている必要がありますので、本稿ではフリーハンドではなく、一旦フリーハンドでポリゴンを描いた後、「座標の編集」で地形サーフェスの50cm内側に描きました。自然河川などはフリーハンドで描くことの方が多いです。

格子生成領域を描く
格子生成領域を描く

次に、同じく右ボタンメニューから「格子生成」を選び、「セルの頂点の最小角度」と「セルの最大面積」を指定します。計算格子はできるだけ正三角形に近い方が数値計算上の補間の精度が高くなります。最小角度を60度にすれば理屈の上ではかならず正三角形になりますが、急勾配の部分などで細長い三角形なら格子数が少なくて済むところが、多数の小さな正三角形を配置しなければならなくなり、計算が大変になります。精度と計算時間のトレードオフなので、試行錯誤で決めてください。SKラボは30度にすることが多いです。「セルの最大面積」は、三角要素の大きさを決めます。水路の横断方向に少なくとも4セルぐらいは並んだ方が良いと思います。SKラボはここは大き目にしておいて、あとで述べる分割線を使って調整することが多いです。

セルの頂点の最小角度とセルの最大面積を設定する
セルの頂点の最小角度とセルの最大面積を設定する

これでOKすればもう格子が生成されます。地理情報の格子属性へのマッピングを実行してください。

生成された格子
生成された格子

「ボタン一発」でうまくいくほど甘くないですよ

以上の操作で、下図のように標高で色分けされた図ができあがります。なんとなく高低差がありそうな色もついているし、このまま先に進んでも良さそうにも見えますが、ちょっと待ってください。下図では、格子の下に、地形の作成の時につくったTINや分割線も見えていますが、せっかく苦労して作った護岸や水制の形が、ギザギザになってしまっています。色がボンヤリしているのでギザギザに見えないかもしれませんが、想像力を働かせてみてください。図の上辺あたりは標高が高い赤っぽい色になっていて、河床に近付くと水色っぽくなっていきますが、その赤から水色に遷移する部分が、凸凹していますよね。同じように、水制回りの黄緑色も、もともとのカッチリした水制基部のラインを越えてボンヤリ広がってしまっています。

格子TIN内部の標高は、三角形の頂点からなる平面で決まります。三角形の頂点の標高は、頂点の位置の地形TINの標高で決まります。三角形の頂点が護岸頂部から河床の中央部に向かって長く伸びている場所では、護岸頂部の標高の影響が河床中央に長く及びます。こうして、三角形が不ぞろいなら地形も凸凹になるのです。これでは地形作成の苦労も水の泡です。この図を見て、水際が凸凹に見えてきたらiRIC/River2Dマスターも近いですよ!

生成された格子の地形再現度が悪い
生成された格子の地形再現度が悪い

そもそもなぜ、地形作成の時にも三角形のTINを使って地形を表現したのに、計算のために別のTINを作成しないといけないのでしょう。それは、実際の地形を正確に表すTINと、計算しやすいTINが違うからです。計算しやすいTINは、先にもいったようにできるだけ正三角形に近い、形も大きさも揃ったセルを敷き詰めたものです。しかしそれでは、細部の地形を再現することは難しいです。格子生成とは、大事な地形とそうでもない地形を取捨選択し、地形再現性と計算効率や計算安定性のバランスをとっていく、大変難しく、またやりがいのある作業なのです。

格子をブラッシュアップしていく

格子生成に使用するツールは、オブジェクトブラウザーで「格子生成条件」を選択すると、ツールバーと、プリプロセッサ―の右ボタンメニューに現れます。「障害物領域の追加」は、橋脚など水が流れない場所をポリゴンで指定できます。「再分割領域の追加」は、全体のセルの最大面積とは違うサイズのセルを生成する領域をポリゴンで指定します。主に精密に計算したい場所だけセルを小さくするために使用します。しかし、SKラボが高頻度で使用するのは「分割線の追加」です。分割線をセルサイズを小さくするために使ったりもします。

格子をブラッシュアップするためのツール群
格子をブラッシュアップするためのツール群

例として、護岸基部と河床の接続部や、水制の頂部・基部に分割線を配置したのが下図です。下図上は地形作成時の分割線とTINも見えています。下図下は、地理情報のチェックを外して格子と格子用の分割線だけを表示させたものです。主に地形作成で作った分割線をトレースするような形で、格子用の分割線を作成していますが、実際はほんの少しだけ水路中央側に寄せています。護岸の影響を排除して、平らになった河床の形を確実に表現するためです。また、分割線は交差してはいけないので、水制の基部は護岸基部との間にセルサイズぐらいの間隔を空けています。一番難しいのは水制の頂部で、地形自体が頂部を一本の分割線で表現しているので、格子の分割線を地形の分割線にピッタリ重ねないと水制の高さが変わったり傾いたりしてしまいます。地形を作る時に水制頂部を台形にしておいた方が良かったですね。点群ではなくポリゴンを使った方が簡単で効率的だったかもしれません。

分割線を配置する
分割線を配置する

地形の作成では、分割線は点群データを結ぶようにして作成しましたが、格子生成の分割線は点群データや地理情報の分割線には縛られず、フリーに描くことができます。例えば実際の地形が直立護岸だったとしても、River2Dは2次元の計算なので、直立護岸の地形は再現できません。そのような時は、わざと護岸天端の分割線を外側にずらしたりして、傾斜をつけた地形にします。そのようなフリーハンドの手加減ができるようになっているわけです。

最終的に、下図のような格子を作成しました。一般に、分割線は少なくとも護岸上下、水際、澪筋(流量が少ない時に水が流れる一番深いライン)に入れるのが良いとされていますが、ここでは横断方向のセル数を確実に4つ以上にするために、多めに分割線を入れてみました。工数を減らすためには、セルの最大面積で調節しても良かったかもしれません。

分割線配置終了
分割線配置終了

水がちゃんと流れるまでには、まだまだ調整が必要でした

上図の格子で楽勝で水が流れるはずと思っていたのですが、そうはいきませんでした。地形を作った時、うかつにも1/100(100m上流で1m高くなる)という急勾配にしていたため、部分的に射流が発生してしまい、流入部、流出部や水制回りで計算が不安定になってしまいました。最終的に下図のように問題のある場所周辺にさらに分割線を追加して、ようやく安定な結果を得ました。別の稿で、上下流端は常流部に作れと自分で書いていたことが、期せずして証明された格好です。SKラボ自身の経験値UPにもつながりましたよ! Have fun!

最終的に水を流すことができた格子
最終的に水を流すことができた格子
iRIC/River2Dまとめ:河川の流れを計算する
無料の流況シミュレーションソフトウェアiRICが河川の流況計算を誰でも手の届くものにしてくれました。iRICの数あるソルバーの中でも生物生息場評価に適したRiver2Dを中心に説明します。

コメント

タイトルとURLをコピーしました