淺水方程的的精確黎曼求解器——推導淺水方程(一)
一、淺水方程
二維淺水方程可根據無粘N-S方程沿水深方向積分可得到,主要運用萊布尼茨公式。
運用公式後進行合併,圖中給出三維的合併:
淺水方程的連續方程到此就推出了
將尤拉方程(無粘N-S方程)中的壓力梯度項做出假設:壓強分佈滿足靜水壓強分佈
進一步得到簡化公式:
這裡的s代表水位s=z
將連續方程兩邊乘以u,動量方程乘以h:
合併便可以得到u方向的動量方程:
同理v方向
至此,二維淺水方程已經推出
總結:a、使用到的假設有1、流動二維,忽略z方向;2、摩擦力是體積力,故無粘性項,即尤拉方程;3、壓強符合靜水壓強分佈
b、萊布尼茨公式的運用,僅需對該公式運用即可
c、有時候在論文中會看到如下式子,最簡單的理解是把河道想為矩形斷面,在連續方程同乘以B即可。
該文僅為初學淺水方程數值解的第一步,也是本人初學的第一步,僅以系列文章來作為學習的記錄。
相關推薦
淺水方程的的精確黎曼求解器——推導淺水方程(一)
一、淺水方程 二維淺水方程可根據無粘N-S方程沿水深方向積分可得到,主要運用萊布尼茨公式。 運用公式後進行合併,圖中給出三維的合併: 淺水方程的連續方程到此就推出了 將尤拉方程(無粘N-S方程)中的壓力梯度項做出假設:壓強分佈滿足靜水壓強分佈 進一步得到簡化公式: 這裡的s代表水
博世傳感器調試筆記(一)----加速度傳感器BMA253
cti 帶寬 配置 acc pmu 轉換 氣壓 檢測 dem 公司是bosch的代理商,最近一段時間一直在公司開發的傳感器demo板上調試bosch sensor器件。涉及到的器件有7,8款,類型包括重力加速度、地磁、陀螺儀、溫度、濕度、大氣壓力傳感器等。在調試的過程中做了
曼思數學教育開發進展(一)
別人 有意義 提高 成功 目標 是不是 科學家 我們 事情 2017年10月18日,曼斯數學教育在取得了成功過後,現在即將入駐成都地區,曼思數學教育以小學,初中,高中數學為自己核心業務競爭力,旨在解決各個類型學生在面對數學這門學科時候的煩惱,不管是基礎薄弱的學生,對數學恐懼
高性能服務器開發基礎系列 (一)主線程與工作線程的分工
c++ 服務器 服務器端為了能流暢處理多個客戶端鏈接,一般在某個線程A裏面accept新的客戶端連接並生成新連接的socket fd,然後將這些新連接的socketfd給另外開的數個工作線程B1、B2、B3、B4,這些工作線程處理這些新連接上的網絡IO事件(即收發數據),同時,還處理系統中的另外一些事
SVN服務器搭建和使用(一)
ima 工具 ati HR 控制 語言包安裝 版本庫 接受 自己 Subversion是優秀的版本控制工具,其具體的的優點和詳細介紹,這裏就不再多說. 首先來下載和搭建SVN服務器. 現在Subversion已經遷移到apache網站上了,下載地址: http://subv
Android系統播放器MediaPlayer原始碼分析(一)
前言 對於MediaPlayer播放器的原始碼分析內容相對來說比較多,會從Java->JNI->C/C++慢慢分析,後面會慢慢更新。另外,部落格只作為自己學習記錄的一種方式,對於其他的不過多的評論。 MediaPlayerDemo public class MainA
STM32編碼器模式詳解(一)---理論
編碼器介面模式 選擇編碼器介面模式的方法是:如果計數器只在TI2的邊沿計數,則置TIMx_SMCR暫存器中的SMS=001;如果只在TI1邊沿計數,則置SMS=010;如果計數器同時在TI1和TI2邊沿計數,則置SMS=011。 通過設定TIMx_CCER暫存
Java安全--安全管理器與訪問許可權(一)
1.定義當類被載入到虛擬機器中,校驗器檢查通過,Java平臺的第二種安全機制就會啟動,這個機制就是安全管理器,它是控制具體操作是否允許執行的操作。它的安全策略建立了程式碼來源和訪問許可權集之間的對映關係。jdk8中的許可權類(直接或者間接實現Permission抽象類)下圖顯
Exyons4412音訊驅動----初始化之暫存器讀寫流程(一)
核心載入驅動: module_init(snd_soc_init); 載入完成之後進入:snd_soc_init() 初始化函式 static int __init snd_soc_init(void) { #ifdef CONFIG_DEBUG_FS snd_soc
基於FFmpeg的視訊播放器開發系列教程(一)
前言 在各大部落格,論壇,看到很多人對流媒體音視訊的開發感興趣,可是不知道怎麼入門,對音視訊的瞭解也很少,寫程式碼更不用說了,經過一段時間的整理,我準備在csdn上寫一套ffmpeg音視訊播放器的開發教程,希望對想從事ffmpeg音視訊領域的
Unity編輯器擴充套件學習筆記(一)——新增選單選項
以前一直沒用到編輯器擴充套件這一塊,上一次用還是當初在培訓機構老師教編寫打包工具的時候,那時候剛接觸unity聽不大懂也不知道幹啥用。轉眼就過去了好久。 最近遇到一些情況,有時候需要修改多個GameObject身上的屬性,有時候需要按照規律建立多個GameObject,這些
基於逆波蘭表示式的公式解析器-演算法和思路(一)
背景: 最近專案需要自己完成Excel的公式解析和求值,在Java中可以使用POI解析Excel公式然後求值。但是專案需要JS端和Java後端均需要支援公式解析,所以就需要自己寫一套了。
C++標準模板庫 迭代器 iterator 詳解(一)
[cpp] view plaincopyprint? #include <vector> #include <iostream> #include <list> #include <
VS2013中Nuget程式包管理器控制檯使用入門(一)-準備環境
準備環境: 1.開啟VS2013IDE整合開發環境。 2.新建一個Asp.net Mvc的專案,比如命名為:MvcApplication1 3.開啟 選單"工具"->"庫程式包管理器"->"程式包管理器控制檯",然後在VS工作區域的右
淺析函式裝飾器和閉包(一)
函式裝飾器用於在原始碼中”標記”函式,以某種方式增強函式的行為。這是一項強大的功能,但是若想掌握,必須理解閉包。 裝飾器基礎知識 裝飾器是可呼叫的物件,其引數是另一個函式(被裝飾的函式)。裝飾器可能會處理被裝飾的函式,然後把它返回,或者將其替換成另一個函
設計模式之迭代器與組合模式(一)
很高興,這本書總共13章,這次已經是到第9章了;同時也很遺憾,小編脫離了書本,還是不知道如何描述一個設計模式。就比如迭代器與組合模式,原書篇幅比較長,小編儘量通俗易懂些,不到之處,還請各位小夥伴參考原書,小編也歡迎和大家一起交流。 有許多種方法可以把物件堆起來成為一個集合(collection)。你可以把它們
kubernetes垃圾回收器GarbageCollector原始碼分析(一)
kubernetes版本:1.13.2 背景 由於operator建立的redis叢集,在kubernetes apiserver重啟後,redis叢集被異常刪除(包括redis exporter statefulset、redis statefulset)。刪除後operator將其重建,重新組建叢集,
手眼標定(一):AX = XB方程詳細推導
主要介紹eye_in_hand手眼標定,如下圖,B為機械臂固定基座座標系,E為機械臂末端座標系,C為相機座標系,相機座標系與末端座標系間無相對運動,手眼標定的目標就是要求得相機座標系到末端座標系的變換關係矩陣: Pe = Rce * Pc + Tce , 其中 Pc為相機座標系下的一個座標點
有限元一維變頻寬儲存的剛度方程的LDLT求解用C++實現(一)
在有限元程式中,剛度方程[K]建立完畢,節點力向量F經過了非齊次邊界條件處理、等效節點力處理後,都搞成了已知量。此時,就可以解F=KD方程組,來求節點位移向量D了。 求解F=KD方程組的方法有很多,主要可以分為精確解法和迭代解法兩種。顧名思義,精確解法就是直接解出D向量的精
Z3求解器指南(一)
申明:本文翻譯自rise4fun,翻譯與原文存在一些差異。 z3是由微軟公司開發的一個優秀的SMT求解器(也就定理證明器),它能夠檢查邏輯表示式的可滿足性。 使用方式 z3是一個底層的工具,它最好是作為一個元件應用到其它需要求解邏輯公式的工具中。為了方便使