版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
河网水流数学模型分析目录TOC\o"1-3"\h\u5371河网水流数学模型分析 水流运动方程: (2.2)式中,、、分别表示断面的水位、流量及断面平均流速;表示水面的总宽度;表示由于降水、引水等引起的单位长度源汇流量强度;、、分别是水力半径、重力加速度及谢才系数;和分别是位置和时间上的单位坐标。上述水力要素有如下的关系:,,,,(N为糙率)式中为断面过水面积,我们以水位和流量作为基本的未知量,则方程(2.1)可以化为如下形式: (2.3)式中,表示糙率,表示固定对求偏导数。2.1.2汊点衔接方程汊点衔接方程主要包含两类,分别是流量衔接方程和动力衔接方程。流量衔接方程遵循汊点处流入与流出的流量总和与该点处实际水量增减率相等。动力衔接方程则要求与汊点相连的各汊道断面上的诸如水位、流量等水力要素与汊点平均水位满足实际的动力衔接要求[38]。若所求河网中的汊点能够概化为一个几何点,流入流出该汊点的水流缓慢,不存在水位突变,那汊点所连接的各汊道断面水位则相等,共同等于汊点的平均水位。汊点衔接方程的表达式为:流量衔接方程: (2.4)式中,表示与汊点相连接的各汊道断面编号,表示通过断面进入或流出汊点的流量,表示汊点的蓄水量。如果将该汊点概化为一个几何点,则。动力衔接方程: (2.5)水流模型求解2.2.1方程离散对水流模型的求解,即是对以上方程组的求解。首先对圣维南方程组进行求解,本文采用有限差分法来求解完整的圣维南方程。有限差分方法按照差分格式的不同可分为显式和隐式两种方法,显示差分的主要过程是由已知时间层的变量推求下一时间层的变量,该方法原理清晰且易于编程实现,但其计算结果波动大,稳定性受时间和空间步长的限制[52]。隐式差分法的求解过程中隐含着下一时间层的未知变量,需整体求解线性方程组,该方法计算上更为复杂,但具有无条件稳定的特性。本文综合对比各种方法,采用Preissmann四点偏心隐格式方法,将圣维南方程组离散为可求解的线性方程组。Preissmann隐式差分法的离散格式如图2.1所示。普列斯曼四点差分格式示意图在空间坐标点中点,时间坐标点的分点上离散,即在点上的差分形式为 (2.6) (2.7) (2.8)式中,为权数。也即为: 采用以上格式对式2.1、式2.3进行差分离散,得到:将上述方程组化简后可以得到四点加权形式的圣维南差分方程组: (2.9) (2.10)其中,的表达式中,表示在断面中,水位等于时对应的过水面积,具有同一形式的其他量以此类推。2.2.2稀疏矩阵直解法当方程组采用Preissmann四点隐式格式时,可以得到两个表示上下游断面水位和流量之间关系的方程组,即式2.9、式2.10,该方程组可以概化成以下的统一形式[36]: (2.11) (2.12)其中,是下一时刻()的未知数,而系数及右端是未知数的函数。式2.11,2.12分别消去流量和水位项,可以得到 (2.13) (2.14)式2.13、2.14反映了直河段两个相邻断面之间水流的运动规律,称为内断面方程。假设河网的有个断面,条河段数,个汊点数,边点数;则该河网含有个微段,需要求解的未知数是各断面上的水位和流量共2个,相应需要为2个独立的计算方程。由2.13、2.14我们可以为每个微段建立内断面方程,共可建立2个方程,加上每条河段上下游两个边界条件,共组成2个独立方程,求解该方程组则可得到该方程组的所有未知量值。系数,,,及右端,均依赖于未知数,在求解时,先将系数及右端中的换成前一时刻的量,然后采用稀疏矩阵直接求解法求解未知量,进行迭代判读,最后求得下一时刻()精确的。为简洁明了的介绍稀疏矩阵解法,本文以一个二汊点的河网为例,用以说明普列斯曼四点隐格式的稀疏矩阵直接求解方法。图2.2是一个具有5条河段,2个汉口,设有14个断面的二汊点河网,其中4个是给定边界条件的边界断面。二汊点河网稀疏矩阵直接求解方法过程如下:(1)断面编号。对河段进行编号,如图2.2中的Ⅰ、Ⅱ、Ⅲ、Ⅳ、Ⅴ;对汊口进行编号,如图2.2中的㈠、㈡;对边界进行编号,如图2.2中的①、②、③、④,并规定河网的流向,流向也可以与实际流向不符,不过此时流量与实际流量相差一个负号;依直河段的顺序及流向对大断面编号,如图2.2中的1、2、3…、14。(2)汉口假定。采用斯托克斯假定,即汊口水位相等且汇流流量等于分流流量之和。以图2.2中二汊点河网为例,第㈠汊口有如下关系: (水位方程) (2.15) (流量方程) (2.16)式中,分别是汉口断面的外向单位法和河段流向单位矢量。(3)方程和未知数排列。第断面的水位和流量分别以和表示,未知数的排列次序是。方程的排列次序为:(a)将河段编号按照从小到大的顺序进行排列;(b)对于每一个直河段,按照断面号的大小顺序,依次排列内断面方程2.13,2.14,内断面方程排列好之后再排列边界方程,边界方程先排上游边界方程,再排下游边界方程;(c)对于边界方程来说,可分为两类,一类是给定的边界条件,另一类是汊点方程。对于给定的边界条件,可以直接写入,对于汊点方程,按照以下规则进行:当本河段是所属汊点中编号最小时,写流量方程2.16,否则写水位方程2.15。(4)方程组的系数矩阵经过以上的处理之后,可形成与未知数总数相等的完备代数方程组。同时系数矩阵还存在一定的规律,被称为系数矩阵,具有如下的特点:(a)高阶。当河网内断面很多且汊点过多时,形成的系数矩阵可达上千阶。(b)零系数极为稀疏,矩阵的稀疏率(非零元素在系数矩阵中所占的百分比)随着网河范围的增大而不断减少。(c)内断面方程的非零系数都位于稀疏矩阵主对角线的右边,且非零系数的列标由该内断面方程的序号所确定。例如,第个方程是内断面方程,令则第个方程的非零系数在系数矩阵中的列标为,,,且第列(主对角线)元素为1。(d)边界方程的非零系数在系数矩阵中比较分散,没有带状的性质。(5)稀疏矩阵求解。稀疏矩阵的系数中含有下一时刻的未知量,需要进行迭代计算,通常将前一时刻的变量代替稀疏矩阵中下一时刻的变量,然后进行迭代求解,直到两次迭代的误差在允许误差范围内,下一时刻的计算结束程序优化从1977年学者李岳生提出的河网非恒定流隐式方程组稀疏矩阵解法,到分级解法、有限元法、松弛迭代法等求解方式的提出,无不是用各种巧妙的方式为求解方程降阶,使之既能尽量减少对计算机内存的占用,又能提高精度,加快计算速度。随着科技的进展,计算机存储量大大提高,由1977年的64KB到如今的数十GB,内存已不再是限制河网程序运行的阻碍。本文利用Python编程中的丰富成熟的开源代码库,对实验室一维河网非恒定流数值模拟程序重新编写,对其中的一些步骤进行简化优化。程序运行流程如下图2-3。代码运行流程图程序优化如下:(1)数据输入方式修改。将原程序中模型录入文件格式由.txt转变Excel的.xls文件,使得模型文件在搭建时清晰明了,一目了然。在对Excel文件进行读取时,使用Pandas软件包实现对Excel文件的行列数据精确读取,使用Numpy软件包作为存储和处理维度较大矩阵的工具,将模型中需要的数值按照规定存入矩阵的对应位置中,留作后续计算时使用。(2)断面概化方法修改。在计算过水面积时,将断面按照所给大断面数据沿着X方向划分成一个个梯形,通过梯形面积的累加得到该断面的过水面积。由于断面坐标点稀疏不一,难免会有断面数据较少,河道断面十分粗糙的情况。尤其是枯水季节,水位本来就十分低,断面面积误差所带来的影响占比更重。针对此种情况,为了尽量降低断面概化造成的误差,在水面与断面边壁的交界处,我们按照相似三角形原理,取水面线以下相邻两坐标点连线以上之间的三角形面积,下图2-3为断面概化示意图。断面概化图(3)稀疏矩阵求解步骤的简化。原程序沿用李岳生稀疏矩阵求解方法,采用仅存储非零系数的直接全主元消元法对稀疏矩阵进行求解。基本思想为:将行列式进行初等变换,使得系数矩阵变为下三角矩阵,即主对角线系数为1,主对角线以下系数全为零,随后层层回带,即求得全部未知数。方程组中内断面方程已符合条件,此时只需要将边界方程的系数进行消元。对边界方程消元时,先对上边界方程消元,再对下边界方程消元。在对某个边界方程进行消元时,首先确定一个数组,它的下边界是该边界方程所在的行序号,它的上边界是消元前边界方程第1个非零系数所对应的列序号。将该数组单独提取出来进行列主元素消元,再将消元后的数组回代回原稀疏矩阵中,整个稀疏矩阵的解不变。随后将消元后对的稀疏矩阵直接回代,即可求得未知数。此求解方式编写过程十分复杂易错,且削弱代码可读性。本文基于python程序对多元数组操作的便利性,对求得的每一个系数精准安置在矩阵中。若所求解的为大型河网,系数矩阵十分庞大,可以使用Scipy软件包对高维度的矩阵进行处理。传统的系数矩阵表示方法形如数学中的矩阵,对于个断面数的系数矩阵,通常需要通过的数据空间对该矩阵进行表示,然而这个矩阵是个以0元素居多的稀疏矩阵,这意味着其中有许多元素在计算时不起作用,导致在计算时存在许多无意义的计算与存储空间。为了解决这个问题,学者们研究出二级联解、三级联解等方法,通过建立微段方程进行消元,直到得到河段方程。但是该方法在编程方面存在较大的难度,且进行消元后,需要进行回代得到最后的方程解,计算量也较大。本文中使用一种新的简化方法,使用Scipy软件包对大规模的系数矩阵进行矩阵稀疏化,将的系数矩阵简化为维度的矩阵,其中m表示系数矩阵中非0元素的个数。在该矩阵中,每一列表示一个元素在原始矩阵中的实际位置与数值大小,第一行表示该元素在原始矩阵中的行序号,第二行表示列序号,第三行表示数值,通过这种方式对原始矩阵中的每一个非0元素进行唯一标识,虽然改变了矩阵形态,但是两种方式所表示的矩阵是同一个矩阵,不影响求解结果。随后对稀疏化后的矩阵进行求解。(4)对代码进行错误信息交互处理。原程序存在程序因运行错误而停止的情况,但是这些错误并未提示错误原因,需要从模型入手,逐步倒回寻找错误,费时费力。本文基于Python的异常处理机制,针对各种可能出现的错误情况以及导致错误的原因,输出程序中出现错误的位置与解决方法,可以精准定位问题断面,以便对模型进行修改。(5)增加分流比计算模块。在原有水位、流量、流速输出的基础上,增加了各支分流计算,并将结果独立输出。在模拟工况下,不同水位流量下的分流情况可以帮助我们直观地展现各个水力要素对尾闾段各支分流的影响。小结本章介绍了河网水流的基本方程和求解方法,河网水流模型的基本方程为圣维南方程组,对圣维南方程组的求解采用Preissmann四点偏心隐格式方法,对汊点衔接方程与离散后的圣维南方程所构成的稀疏矩阵,采用直接消元求解方法进行求解。利用代码运行流程图展示了河网数值模拟程序的运行过程,对实验室中一维河网数值模拟程序进行数据输入方式、断面概化方法、稀疏矩阵求解步骤、部分
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年测试出轨的心理测试题及答案
- 2026年舞蹈理论测试题及答案
- 2026年苏教版弹力测试题及答案
- 2026年情侣间性格相投测试题及答案
- 2026年服务岗位测试题及答案
- 2026年客服人员测试题及答案
- 2026年面试考核测试题及答案
- 2026年初中重力测试题及答案
- 方城县2025-2026学年四年级数学第二学期期末质量检测模拟试题(含答案解析)
- 2026年上海公安文职行测试题及答案
- 《廉颇蔺相如列传》教案 公开课 全国赛课一等奖 教学设计
- 2026重庆市合川区渭沱镇招聘农村基层本土人才13人考试备考题库及答案解析
- 2025上交所技术有限责任公司校园招聘20人笔试历年参考题库附带答案详解
- 高中学考英语作文基本模板
- 2026广西南宁市良庆区良庆镇人民政府招聘工作人员21人笔试参考试题及答案解析
- 2026年光伏建筑一体化(BIPV)行业分析报告及未来发展趋势报告
- 项目部消防应急预案
- 2025年山东青岛市八年级地理生物会考真题试卷(含答案)
- 2026年形势与政策期末测试题及答案
- 广东省广州市七区2021-2022学年高二下学期期末地理试题
- 2026贵州贵旅集团第十四届贵州人才博览会招聘71人笔试备考题库及答案详解
评论
0/150
提交评论