1. Introduction

1.1. Objectives of this text

_images/2dh_animation.gif

Figure 1.1 : The first objective of this text is to explain how to [calculate two-dimensional shallow flow in the Python].

In the summer of 2021, when the pandemic forced us to stay home,

  1. I began to think of summarizing what I’ve done.

  2. Then, I heard from iRIC Project staff Dr. Kazutake Asahi that future flow-calculation codes should be written in the Python. This made me decide to develop a river flow-calculation model with the Python.

  3. So, I thought why not also write manuals that include basic formulas and difference equations. I started to draft parts of ideas for a text from scratch.

  4. Then, I made up my mind to produce a Reiwa version of Hydraulics for Practitioners, a great hydraulic publication from the Showa Era!

For my first step, I began summarizing a method for developing a non-stationary two-dimensional model of open channels, such as Figure 1.1, using the Python code. This example is a model for calculating free surface flow in an open channel with obstacles. This means… the theories and techniques adopted for iRIC’s Nays2DH and Nays2DFlood are made completely open. I wondered if this would be published as a hardcopy book, or as an E-book. Either way, I wanted to publish it as free material. Now, it’s finally available on a free-access website. The website is easy to modify, update and expand whenever I want. And when any errors are pointed out, I can correct them immediately. Nays2DH and Nays2dFlood models use boundary-fitted coordinate systems or generalized coordinate systems, because these allow the boundary conditions of actual riverbanks and embankments to be modeled easily. But I’ve adopted an orthogonal \((x,y)\) coordinate system as the first step, in order to make the explanations easily understandable even for beginners.

1.2. The second objective of this text

_images/meander_animation.gif

Figure 1.2 : The second objective of this text is to explain how to [calculate 2D riverbed deformation].

When I made plans to explain two-dimensional flow-calculation models by using examples, I got even more fired up. My desire….. “The next step is riverbed deformation!” As you know… “riverbed deformation” involves a wide range of scales, from the grain-sized scale of riverbed materials, such as for sand ripples, to scales as large as a few tens of kilometers, such as for the large meanders of the Amazon River. Related topics include the wide range of variations, such as resistances, sediment transport, riverbed configurations, and difference calculations. It’s crazy. I couldn’t think of where to start. But some unseeable power has driven me onward. So, as the second objective, I decided to summarize the minimum basic knowledge required to calculate riverbed deformation, so that readers would be able to write a program by themselves for 1D or 2D riverbed deformation calculations. Such calculations are commonly used for actual river control works. So, my second objective is to provide knowledge that will allow readers to write programs for riverbed deformation by themselves.

Thus, the second objective is to provide the know-how for writing such code for 2D riverbed deformation, as shown by Figure 1.2. (This example includes calculations of flow and sandbar deformation in a meandering water channel.) The second objective includes providing knowledge of the research achievements on sediment hydraulics made by our predecessors as background for the reproduction of riverbed deformation phenomena. I’m not sure how much I can achieve during my lifetime, but I’m determined to go as far as I can. For those who are interested in my long-term plan, please go ahead with me, side by side. I really expect that someday, the next generation of iRIC developers will rise from the ranks of those who engage in this project.

Originally, I hadn’t planned to include basic knowledge about sediment transport and riverbed dynamics as Basic knowledge on the alluvial river hydraulics. However, as I began writing, I realized that at least the very fundamental aspects of riverbed dynamics calculations might be necessary. As I continued, it expanded significantly in volume. I’ve also included drone movies taken by myself above rivers in Japan, so even just this part should be enjoyable. If you’ve already graduated from “flow calculations” or if you think, “I don’t need to study writing computational code, but I want to study mobile-bed hydraulics,” starting from Basic knowledge on the alluvial river hydraulics is totally fine.

Note

This text and the open code aren’t perfect. If you find any errors or have any ideas for improvement, please let me know. I’m a beginner at coding in the Python, and there are many better ways of writing code. I’d appreciate your diverse opinions. For those who have trouble understanding only by reading text and who’d prefer a lecture, I’d be happy to deliver a lecture to individuals, offices or other groups. The lecture can be in-person, or virtual. Also, I can deliver 【Lecture on this text】+【iRIC Workshop】. If you’re interested, please don’t hesitate to contact me at yasu@i-ric.org.

1.3. Acknowledgments

Note

Dr. Kazutake ASAHI, the president of the RiverLink Co., Ltd. provided me with great support for programing in Python in this text and for developing an operational environment, showing figures and movies, and making the work public under GitHub. Thank you, Kazutake!

_images/yasu.png
_images/iric.jpg