iRIC/River2D:とりあえず水を流してみよう

アイキャッチ, iRIC入門 River2D

まず難しいことは後回しにして、水を流してみましょう。極限まで単純な水路を作ってみます。

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

iRICを起動し、River2Dソルバーを選ぶ

iRICを起動し、River2Dソルバーを選ぶと、下図のような状態になっているはずです。

River2Dソルバのプリプロセッサウインドウ
River2Dソルバのプリプロセッサウインドウ

まずは川底をつくる

下図左のようにオブジェクトブラウザー内の「Elevation」で右ボタンクリックし、「追加」ー「ポリゴンデータ」を選びます。すると、下図右のようにクリックで定義し、ダブルクリックか改行で完了と操作方法を教えてくれます。

地理情報のElevationをポリゴンで作成する
地理情報のElevationをポリゴンで作成する

とりあえず4点クリックして四角形を作りましょう。だいたい下図のように見えれば大丈夫です。ダブルクリックか改行すると「ポリゴンの値を入力してください」と言われます。最初から0が入っていると思いますので、そのままOKします。四角形は緑になりましたね?これで標高0mの平たい川底ができました。(ちなみに、これは川を上から見た状態です。横から見た状態ではありませんのでお間違いなきよう。)

ポリゴンを描き、Elevationを入力する
ポリゴンを描き、Elevationを入力する

川底の寸法を整える

ポリゴン上で右ボタンクリックして「座標の編集」メニューを選びます。すると下図中央の「ポリゴンの頂点座標」が現れますので、下図右のように数字を入れましょう。入れ終わったらOKします。もし右ボタンクリックしても「座標の編集」が現れないときは、ポリゴンが選択されていないかもしれません。オブジェクトブラウザーでElevationの下にあるポリゴンデータ1が選択されていることを確認しましょう。

川底の寸法を整える
川底の寸法を整える

たぶんポリゴンの大きさが変わって画面に収まらなくなったと思いますので、ツールバーの①「フィット」ボタンを押してください。下図のようになるはずです。川底(河床)が平らな幅10m、長さ100mぐらいの水路を作るつもりなのですが、計算したい範囲全体に確実に標高値がないとエラーになるので、少し大きめの川底を準備したのです。

川底の作成結果
川底の作成結果

川底の粗さを決める

水が流れる速さを決める要素として、川底の傾き(勾配)と川底の粗さ(粗度)があることは簡単に想像できるでしょう?川底が粗いと流れはゆっくりになり、川底がツルツルだと流れは速くなります。その粗さを決めるために、オブジェクトブラウザー内の「Roughness」を右ボタンクリックします。Elevationの時とまったく同じように、Elevationのポリゴンを囲うように四角形を作ります。(囲ってあれば形は歪んでいてもかまいません。)ダブルクリックするとRoughnessの値を入れるように言われますが、おそらく0.003と表示されていると思いますのでそのままOKします。これは、川底が3mmの砂で覆われている状態と思ってもらえれば結構です。

Roughnessの定義
Roughnessの定義

Roughnessはこれで定義されました。今後の作業に邪魔なので、オブジェクトブラウザー内のRoughnessのチェックを外して非表示にしておいてください。

水を流す範囲を決める

下図左のように格子生成条件を右ボタンクリックし、「格子生成アルゴリズムの選択」を選ぶと、下図右の「格子生成アルゴリズムの選択」が現れます。River2Dの場合、アルゴリズムは「ポリゴン形状から生成」の1つしかありませんので、これを選択してOKします。

格子生成アルゴリズムの選択
格子生成アルゴリズムの選択

すると、ElevationやRoughnessと同じようにポリゴンを描く画面になりますので、川底の内部に四角形を描きます。さらにElevationの時と同様に描いたポリゴンが選択されていることを確認してから右ボタンクリックで「座標の編集」を選び、下図右の数字を入力してOKしましょう。これで、幅10m、長さ100m、川底は標高0mで真っ平、3mmの砂が敷き詰められた水路ができました。

計算領域を描く
計算領域を描く

計算格子をつくる

水深と流速を計算する場所を決めます。(なぜそうしなければならないかは別の場所で説明します。)格子生成条件を右ボタンクリックして、「格子生成」を選びます。

格子生成
格子生成

すると、セル(River2Dの場合3角形)頂点の最小角度とセルの最大面積を入力するダイアログが現れますので、最大面積にチェックをつけ、8と入力してOKします。「地理情報の格子属性へのマッピングを実行しますか?」には「はい」を選びます。

三角要素の頂点の再昇格と最大面積を決めて格子を作成し、格子属性に地理情報をマッピングする
三角要素の頂点の再昇格と最大面積を決めて格子を作成し、格子属性に地理情報をマッピングする

この三角形のすべての頂点の水位と流量が計算されることになります。

水が流れ込む場所と流れ込む量を決める

水が流れるためには、どこかから水が流れ込まなければなりません。この例では、水路の右端から水が流れ込むことにしましょう。マウス操作で右端を拡大し、オブジェクトブラウザー内の「境界条件設定」を右ボタンクリックして「Inflow conditionの追加」を選びます。するとカーソルが十字形になるので、下図のように右端の辺の格子点をすべて囲み、ダブルクリックすると下図右の「境界条件」ダイアログが現れるので、「Fixed Discharge」に10と入力してOKします。これは、10m3/secの流量で右端から水を流れ込ませるということです。

流入端の境界条件を設定する
流入端の境界条件を設定する

格子点を囲むとき、決して外部に面していない格子点(下図の赤丸)を囲まないようにしてください。

内部の格子点を境界条件として囲んではいけない
内部の格子点を境界条件として囲んではいけない

水が流れ出す場所と、その場所の水面の高さを決める

川の水面の高さ(水位)はどのようにして決まるのか、これは大学で学ぶ水理学の一大テーマです。しかしここでは単純に、水が流れ出す場所に1mぐらいの堰があると考えましょう。堰があれば水がたまることはわかりますね?そして溜まった水の水面が標高1mになったと考えましょう。水路の左端を拡大表示し、境界条件設定を右ボタンクリックし、「Outflow Conditionの追加」を選びます。ポリゴンを描いたら、表示された「境界条件」のFixed Elevationに「1」と入力します。(最初からそうなっていると思いますので確認してください。)そしてOKしましょう。

流出端の境界条件の設定
流出端の境界条件の設定

上流の流量と下流の水位のことを、計算区間内と区間外の境界の条件という意味で「境界条件」と呼びます。

格子に属性をマッピングする

メニュー「格子」ー「属性のマッピング」ー「実行」を選びます。表示された「属性のマッピング」ウインドウで、「全てチェック」をクリックし、OKします。この操作は、生成した格子に、それぞれの格子の場所に設定された河床の標高や粗度、流入・流出境界条件の値を代入(マッピング)します。

格子属性のマッピング
格子属性のマッピング

以上でプリプロセッサ―の準備は終了です。

計算条件を設定する

メニューから「計算条件」ー「設定」を選びます。「計算条件」ウインドウが開くので、左側のInitial Conditionsタブをクリックし、「Upstream Water Surface Elevation」に1と入力します。これは、計算を始める前、水が流れ込む部分の水位が1mですよ、と決めているのです。こうすることで、計算開始前、この水路全体が1mの水位(川底の標高はゼロメートルなので、深さ(水深)は1m)で水が溜まっている状態になります。またこの時、水は流れていません(流速ゼロ)。

初期条件の設定
初期条件の設定

このステップは、実はその他のパラメータも全部理解して設定しなければならない難しい部分なのですが、今回は難しいことは先送りにして、「保存して閉じる」をクリックします。

これで計算の準備はすべて整いました。

プロジェクトを保存する

それでは、プロジェクトを保存しましょう。メニューの「ファイル」をクリックすると、

  • 名前を付けてファイルに保存(*.ipro)…
  • 名前をつけてプロジェクトに保存

の2つの保存があります。

前者はすべてのデータが.iproという一つのファイルとして保存されるので、他の人とデータをやりとりするとき便利なのですが、対応していないソルバーがあります。後者は、新しいフォルダを作ってその中にいろいろなデータを収めます。SKラボは、.iproを使わないことを強くお勧めします。.iproを使っていて動作がおかしいときは、まずここを疑いましょう。

また、ファイルを保存する場所にも注意が必要です。日本語やスペースが混じったフォルダ名に対応していないソルバーがあります。SKラボは、C:\iricというフォルダを作って、その中に個々のプロジェクトのフォルダを保存することを強くお勧めします

さて、「名前をつけてプロジェクトに保存」を選ぶと、フォルダを選択する画面になりますので、C:¥iricの中に新しい空のフォルダを作ります。下図ではC:\iric\test01を作成してあります。フォルダを選んだら「フォルダーの選択」をクリックします。これでプロジェクトが保存されました。

プロジェクトに保存
プロジェクトに保存

いよいよ計算開始!

それでは、「実行」ボタンをクリックしてみましょう。すると、プロジェクトを保存せよと言われますが、もう保存したので「いいえ」で構いません。保存していないなら「はい」で保存しましょう。たちまち計算は終わるはずです。

実行してみよう
実行してみよう

可視化ウインドウ(2D)を開いてみよう

画面右上の「新しい可視化ウインドウ(2D)を開く」ボタンが虹色に変わっているはずです。クリックすると可視化ウインドウが開きますが、格子が描かれているだけです。

可視化ウインドウを開く
可視化ウインドウを開く

何を表示するかは、可視化ウインドウ左端のオブジェクトブラウザーにチェックを入れて選択します。下図では、流速(Velocity)、水深(Depth)、水深とベクトル形式の流速を表示させています。幅10m、深さ1mの水路に10m3/sの流量が流れるわけですから、流速は10m3/s÷幅10m÷深さ1m=1m/sになるはずですが、確かにそうなっています。少し誤差があるように見えるのは、右側の水位が少し高いからです。左端の水位は1mに固定されており、川底は水平なのですから、右側の水位が少し高くならないと水が流れません。その結果、右側の水深が少し深くなるので、流速は少し小さくなるはずです。計算結果を見ると、確かにそのようになっていますね。

計算結果の可視化
計算結果の可視化

可視化ウインドウはいろいろな表示ができますので、ヘルプからマニュアルを開いてご自身で試してみてください。

いかがだったでしょうか。難しかったですか?それとも思ったより簡単だったでしょうか?難しかった方も、すぐに慣れますから恐れないでください。興味を持って楽しんでいただけたら幸いです。Have fun!

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

コメント

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