{ "cells": [ { "cell_type": "markdown", "metadata": { "hide_input": false }, "source": [ "[LICENSE](https://raw.githubusercontent.com/computational-sediment-hyd/a-rudimentary-knowledge-of-river-bed-variation/master/LICENSE)" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "hide_input": true }, "outputs": [], "source": [ "from IPython.display import IFrame" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "---" ] }, { "cell_type": "markdown", "metadata": { "toc": true }, "source": [ "

Table of Contents

\n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 沖積河川の砂州形成の数値実験" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 支配方程式" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### 流水\n", " - 平面二次元水深平均流モデル\n", " \n", "#### 流砂、河床変動\n", "\n", " - 河床位方程式\n", " - 掃流砂のみ、単一粒径、平衡流砂量式MPM式\n", " - 限界掃流力に局所勾配の影響を考慮する。**砂州の計算では最も重要な要素でこれがないと砂州が計算できない。** [芦田, 江頭, 劉の方法](https://www.jstage.jst.go.jp/article/prohe1990/35/0/35_0_383/_article/-char/ja)を基本に若干の修正を加えた。\n", " - 斜面崩壊の影響を考慮する。後述するCASE3のみに影響する。\n", "崩壊の向き、量の考え方は[関根の方法](https://www.jstage.jst.go.jp/article/prohe1990/47/0/47_0_637/_article/-char/ja/)を基本とするが、崩壊量は流砂量に付加するのではなく、瞬時に崩壊が生じるものとした。" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 計算条件" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "斐伊川下流部をモデルに設定した。初期水深を変えた3ケースの計算を行った。\n", "\n", " - 河床勾配:1/670\n", " \n", " - 河床材料:2mm\n", " \n", " - 川幅:90m\n", " - 延長:1800m\n", " \n", " - 格子サイズ: 5m\n", " \n", " - 境界条件\n", " * 上下流端:周期境界条件\n", " * 左右岸境界:壁境界\n", " \n", " - 初期条件\n", " * 河床:最大値を粒径とした乱数を与える\n", " * 初期水深\n", " - CASE1 : 1.0m\n", " - CASE2 : 0.6m\n", " - CASE3 : 0.3m\n", " * 無次元掃流力:\n", " - CASE1 : 0.452\n", " - CASE2 : 0.271\n", " - CASE3 : 0.136\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " - 計算ケースごとの川幅水深比と無次元掃流力の関係を[黒木, 岸](https://www.jstage.jst.go.jp/article/jscej1969/1984/342/1984_342_87/_article/-char/ja/)\n", "の線形安定化解析に基づく砂州形態の分類図にプロットした。\n", " - CASE1は単列砂州、CASE2、3は複列砂州の領域となる。" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "\n", "
\n", "[21世紀の河川学](http://www.kyoto-up.or.jp/books/9784876987658.html)p.119より引用。一部加筆" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 計算結果と考察\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### 砂州形成開始時の水深、河床変動量の平面空間分布\n", "\n", " - 計算開始から300時間後の計算結果を下図に示す。\n", " - 砂州の列数は、CASE1:1列、CASE2:2列、CASE3:3列以上となっており、卓越する成分が明確に把握できる。\n", " - この状態が上記領域区分の示すところ?(与えた擾乱のうち、どの成分が卓越するか)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "##### CASE1" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "hide_input": true }, "outputs": [ { "data": { "text/html": [ "\n", " \n", " " ], "text/plain": [ "" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "IFrame(\"https://computational-sediment-hyd.github.io/a-rudimentary-knowledge-of-river-bed-variation/figSandbarSimulation/CASE1-300h.html\",width=1000,height=350)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "##### CASE2" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "hide_input": true }, "outputs": [ { "data": { "text/html": [ "\n", " \n", " " ], "text/plain": [ "" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "IFrame(\"https://computational-sediment-hyd.github.io/a-rudimentary-knowledge-of-river-bed-variation/figSandbarSimulation/CASE2-300h.html\",width=1000,height=350)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "##### CASE3" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "hide_input": true }, "outputs": [ { "data": { "text/html": [ "\n", " \n", " " ], "text/plain": [ "" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "IFrame(\"https://computational-sediment-hyd.github.io/a-rudimentary-knowledge-of-river-bed-variation/figSandbarSimulation/CASE3-300h.html\",width=1000,height=350)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### 概ね平衡状態時の水深、河床変動量の平面空間分布\n", "\n", " - 計算開始から2000時間後の計算結果を下図に示す。\n", " - CASE1およびCASE2ともに、砂州の列数が1列となっている。一方、CASE3は周期性を持たない複雑な流路を示す。\n", " - CASE2は初期は列数が2列であったが時間の経過とともに個々の砂州が干渉し、1列の砂州が形成される。\n", " - CASE3では、初期は複数の流路が出現したが、浮州(ドライベッド)の出現をきっかけに流路の変化が複雑化し、最終的には複数の流路が粗発生する。" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "##### CASE1" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "hide_input": true }, "outputs": [ { "data": { "text/html": [ "\n", " \n", " " ], "text/plain": [ "" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "IFrame(\"https://computational-sediment-hyd.github.io/a-rudimentary-knowledge-of-river-bed-variation/figSandbarSimulation/CASE1-2000h.html\",width=1000,height=350)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "##### CASE2" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "hide_input": true }, "outputs": [ { "data": { "text/html": [ "\n", " \n", " " ], "text/plain": [ "" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "IFrame(\"https://computational-sediment-hyd.github.io/a-rudimentary-knowledge-of-river-bed-variation/figSandbarSimulation/CASE2-2000h.html\",width=1000,height=350)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "##### CASE3" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "hide_input": true }, "outputs": [ { "data": { "text/html": [ "\n", " \n", " " ], "text/plain": [ "" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "IFrame(\"https://computational-sediment-hyd.github.io/a-rudimentary-knowledge-of-river-bed-variation/figSandbarSimulation/CASE3-2000h.html\",width=1000,height=350)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### 砂州形成過程:gif動画" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "##### CASE1\n", " - 500時間後には平衡状態に達してそれ以降は周期的な変化を示す。" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "hide_input": true }, "outputs": [ { "data": { "text/html": [ "\n", " \n", " " ], "text/plain": [ "" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "IFrame(\"https://computational-sediment-hyd.github.io/a-rudimentary-knowledge-of-river-bed-variation/figSandbarSimulation/CASE1.gif\",width=1000,height=350)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "##### CASE2\n", " - 1000時間後に状態に達する。CASE1と比べて砂州の移動速度が遅い。\n", " - 2列の砂州が維持できない。なぜ?" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "hide_input": true }, "outputs": [ { "data": { "text/html": [ "\n", " \n", " " ], "text/plain": [ "" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "IFrame(\"https://computational-sediment-hyd.github.io/a-rudimentary-knowledge-of-river-bed-variation/figSandbarSimulation/CASE2.gif\",width=1000,height=350)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "##### CASE3\n", " \n", " - 5700時間後までの計算を実施しているが平衡状態に達していない。周期的な変動ではないため、平衡状態は存在しない可能性がある。\n", " - 流路変動は側岸浸食によって生じるため、その速度は非常に遅い。\n", " - もう少し分析が必要。さらに長期の計算を実施予定。" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "hide_input": true }, "outputs": [ { "data": { "text/html": [ "\n", " \n", " " ], "text/plain": [ "" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "IFrame(\"https://computational-sediment-hyd.github.io/a-rudimentary-knowledge-of-river-bed-variation/figSandbarSimulation/CASE3.gif\",width=1000,height=350)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### まとめと課題\n", " - 任意の条件下における砂州の平衡状態を数値計算によって検証した。\n", " - CASE1は形成条件のとおり、単列砂州が形成される。\n", " - CASE2は複列砂州条件では安定的な複列砂州は形成されず、長期的にはCASE1と同様に単列砂州となる。では、斐伊川のような多列砂州はなぜ維持されるのか?非定常の影響?他の乱れの影響?もう少し検討が必要。\n", " - CASE3は、浮州が出現、つまり砂州高>水深となり、複雑な地形を示す。個人的には、これが流路=河川が形成される機構ではないかと考えている。さらにテスト計算を実施予定。" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "------\n", " - memo" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [], "source": [ "import numpy as np" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([0.45228403, 0.27137042, 0.13568521])" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ib = 1/670\n", "B = 90\n", "\n", "h = np.array( [1.0, 0.6, 0.3] )\n", "d = 2/1000\n", "\n", "tau = h * ib / 1.65/ d\n", "tau" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([24.492186, 40.82031 , 81.64062 ])" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "B*ib**0.2/h" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([ 90., 150., 300.])" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "B/h" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [], "source": [ "from scipy import special" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [], "source": [ "x = (B/d)**(-0.45)*9.34*np.exp( 2.53*special.erf((np.log10(B/h) - 1.22)/0.594)) " ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([0.7705053 , 0.53485284, 0.28135338])" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "x * h" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.10" }, "toc": { "base_numbering": 1, "nav_menu": {}, "number_sections": true, "sideBar": true, "skip_h1_title": false, "title_cell": "Table of Contents", "title_sidebar": "Contents", "toc_cell": true, "toc_position": { "height": "calc(100% - 180px)", "left": "10px", "top": "150px", "width": "176.933px" }, "toc_section_display": true, "toc_window_display": false } }, "nbformat": 4, "nbformat_minor": 4 }