趣味で計算流砂水理

趣味で計算流砂水理 Computational Sediment Hydraulics for Fun Learning

数値計算とか河川工学とかプログラミングのことを書いています

MENU

河川流一次元計算における河川横断面形状の簡略化について

スポンサーリンク

モチベーション

  • 横断面平均一次元河川流計算で実河川を対象とする場合、地形条件は河川横断測量データを使用することが一般的である。
  • このデータより、水位に対する河積、川幅、潤辺等を計算するが計算負荷が大きく、特に長期計算を行う場合には計算速度に大きく影響する。
  • この改善方法として、河川横断測量データの簡略化とその影響について検証する。

河川横断データの簡素化

  • 基本の横断図は以下の過去記事のものを使用する。

computational-sediment-hyd.hatenablog.jp

  • 横断面の簡略化には、pythonのモジュールshapelysimplifyメソッドを使います。(手法の詳細は勉強中のため後日まとめます。)
  • 簡略化のパラメータはtoleranceのみ。
  • 簡略化した横断図と測点数は次のとおりとなる。
  • スケールによるが、見た目だけで判断するとtolerance = 1.0および2.0は粗く感じる。tolerance = 0.2や0.5はoriginalとほとんど変わらないように思う。
  • 測点数は、originalの80に対して、tolerance = 0.2でも24と大幅に減少している。
number of points
original 80
tolerance = 0.2 24
tolerance = 0.5 19
tolerance = 1.0 12
tolerance = 2.0 7

簡略化による物理量への影響

  • 河川流の場合は、水位Hと流量Qの関係が重要となるのでこれへの影響を確認する。
  • 等流を仮定して以下のマニングの式により評価する。


Q = \frac{1}{n}i_e^{1/2}R^{2/3}A

  • 右辺の径深R、河積Aは水位Hの関数になるので、H \sim R^{2/3}Aを比較する。
  • Hが17~24の範囲で図化すると次のとおりとなる。
  • tolerance = 2.0でoriginalとの誤差は10%と相対的に大きいが、それ以外では局所を除くと誤差は非常に小さい。

簡略化による計算時間への影響

computational time
original 686 µs ± 11.5 µs
tolerance = 0.2 288 µs ± 5.87 µs
tolerance = 0.5 265 µs ± 12.1 µs
tolerance = 1.0 207 µs ± 7.21 µs
tolerance = 2.0 174 µs ± 2.27 µs

まとめ

  • tolerance = 0.2の場合でも計算時間は十分に高速し、計算精度は保証されるため、河川流計算の前処理として簡略化を行ったほうが合理的である。

  • グラフの作成はHoloviewsを使用

computational-sediment-hyd.hatenablog.jp

  • はてブロへのhtmlグラフの埋め込みは以下を参照

computational-sediment-hyd.hatenablog.jp