第五章河网水流计算水文09级计算水力学教学课件长江:潮汐河道里下河:平原河网太湖流域:湖区,河网、堰闸江、河、湖、海联合作用Leilafor水文09版权所有环状河网§3.环状河网水流计算Leilafor水文09版权所有对于环状河网,可以利用显式差分求解,但工程上一般倾向于利用隐式求解。早期针对小型河网,以河道断面的水力要素为基本未知量,采用对所有未知量建立方程组直接求解的一级解法。在这种方法中,方程组系数矩阵过于庞大,难以应用于大型河网。为了适用于大型河网,其后发展了以河道首、末断面的水力要素为基本未知量的二级解法。§3.环状河网水流计算Leilafor水文09版权所有该法是在一级解法的基础上,对河道中间断面未知量形成的子矩阵先行求解,表达为基本未知量的函数,消去中间断面未知量,从而使得方程组的系数矩阵大大降阶,易于求解。为了进一步降低方程组的阶数,有效求解大型河网,对二级解法的基本未知量再进一步消元,形成以节点水位为基本未知量的三级解法,这就是目前最常用的方法。§3.环状河网水流计算离散圣维南方程组离散系数C,D,E,F,G,Φ追赶系数:α,β,ξ,θ,η,γ1mjiiijdZQAdtZi=f(αi,βi,ξi,θi,ηi,γi,Z1,Zn)Qi=g(αi,βi,ξi,θi,ηi,γi,Z1,Zn)Z1,ZnQ1=α1+β1Z1+ξ1ZnQn=θn+ηnZn+γnZ1计算流程Leilafor水文09版权所有环状河网计算示意图§3.环状河网水流计算Leilafor水文09版权所有§3.环状河网水流计算单一河道节点N2节点N1123n-1n2n个未知量,2(n-1)个方程Leilafor水文09版权所有§3.环状河网水流计算—单一河道αn-1βn-1ξn-1αi+1βi+1ξi+1Ci+1,Di+1,Ei+1,Fi+1,Gi+1,Φi+1αiβiξiCi,Di,Ei,Fi,Gi,Φiα1β1ξ1C1,D1,E1,F1,G1,Φ1Q1=α1+β1Z1+ξ1ZnCn-1,Dn-1,En-1,Fn-1,Gn-1,Φn-1Qi=αi+βiZi+ξiZn追赶系数Leilafor水文09版权所有§3.环状河网水流计算—单一河道θ2η2γ2θiηiγiCi-1,Di-1,Ei-1,Fi-1,Gi-1,Φi-1Ci,Di,Ei,Fi,Gi,ΦiCn-1,Dn-1,En-1,Fn-1,Gn-1,Φn-1Qn=θn+ηnZn+γnZ1C1,D1,E1,F1,G1,Φ1θi+1ηi+1γi+1θnηnγnQi=θi+ηiZi+γiZ1追赶系数Leilafor水文09版权所有§3.环状河网水流计算—单一河道节点N2节点N1123n-1n首、末断面流量表达为首、末节点水位的线性组合。环状河网的追赶方程,每个河段有6个需要保存的追赶系数。当首、末断面水位求得后,利用同一断面上的追赶关系可解得水位和流量。Leilafor水文09版权所有§3.环状河网水流计算—单一河道对同一断面上的流量联立求解得Leilafor水文09版权所有§3.环状河网水流计算节点水位方程如何求解节点水位是河网求解的关键问题。求解河网节点水位,必须建立节点水位方程。节点水位方程建立的依据:水量守衡原理,即流进某一节点的水量之和等于该节点蓄水量的变化。Leilafor水文09版权所有把首、末断面流量的节点水位关系式代入节点水量平衡方程,得到与节点i相邻的节点水位为未知变量的线性代数方程:对河网每一个节点,都可建立这样的节点水位方程,形成以河网节点水位为基本未知变量的线性代数方程组:§3.环状河网水流计算—节点水位方程,0iijfZLeilafor水文09版权所有节点水位方程系数矩阵节点水位列阵右端项列阵§3.环状河网水流计算—节点水位方程Leilafor水文09版权所有首先、确定基本河网。第二、对基本河网节点编码。第三、对计算河道编码。第四、计算断面编码。第五、结合边界条件,计算内河道的水位流量追赶方程。§3.环状河网水流计算求解步骤Leilafor水文09版权所有第六、建立节点水位方程。第七、求解节点水位方程组。第八、求得节点水位后,利用追赶关系求解河道各计算断面上的水位和流量。第九、将节点的水位代入外河道的追赶方程,逐步回代求得外河道各断面的水位和流量。§3.环状河网水流计算—求解步骤Leilafor水文09版权所有§3.环状河网水流计算—节点水位方程环状河网计算示意图132546Leilafor水文09版权所有§3.环状河网水流计算—节点水位方程1111(1)(1)(1)(1)(1)(3)5555(1)(1)(1)(1)(1)(5)2222(1)(1)(1)(1)(1)(2)QZZQZZQZZ512(1)(1)(1)0QQQ12515221(1)(1)(1)(1)(1)(2)(1)(3)2155(1)(1)(1)(1)(5)ZZZZ节点(1)水量平衡条件Leilafor水文09版权所有§3.环状河网水流计算—节点水位方程2222(2)(2)(2)(2)(2)(1)6666(2)(2)(2)(2)(2)(6)3333(2)(2)(2)(2)(2)(3)QZZQZZQZZ263(2)(2)(2)0QQQ32622633(2)(1)(2)(2)(2)(2)(2)(3)3266(2)(2)(2)(2)(6)ZZZZ节点(2)水量平衡条件Leilafor水文09版权所有§3.环状河网水流计算—节点水位方程3333(3)(3)(3)(3)(3)(2)4444(3)(3)(3)(3)(3)(4)1111(3)(3)(3)(3)(3)(1)QZZQZZQZZ341(3)(3)(3)0QQQ13413341(3)(1)(3)(2)(3)(3)(3)(3)1344(3)(3)(3)(3)(4)ZZZZ节点(3)水量平衡条件Leilafor水文09版权所有节点水位方程15221(1)(1)(1)(1)(1)(1)22633(2)(2)(2)(2)(2)(2)13341(3)(3)(3)(3)(3)(3)2155(1)(1)(1)(1)(5)3266(2)(2)(2)(2)(6)1344(3)(3)(3)(3)(4)ZZZZZZ§3.环状河网水流计算—节点水位方程132546Leilafor水文09版权所有§3.环状河网水流计算求解各断面的水位、流量Leilafor水文09版权所有一、最优编码解法河网水流的求解最终归结于节点水位方程的求解。节点水位方程的求解效率,决定河网计算的效率。因此,节点水位方程的求解显得相当重要。下面讨论一种常见的求解方法,最优编码解法。§4.最优编码解法Leilafor水文09版权所有河网节点水位方程组的系数矩阵A,当矩阵的阶n较小时,可用任何一种方法求解,如高斯消元法。而随着n的增加,求解方程的工作量正比于n3。可见,当河网节点数较多时,会因为求解方程组的工作量庞大而无法实现。先分析矩阵的性质。§4.最优编码解法Leilafor水文09版权所有环状河网计算示意图§4.最优编码解法Leilafor水文09版权所有最优编码解法Leilafor水文09版权所有系数矩阵特性:(1)非零元素对称分布于主对角线。(2)矩阵为一个稀疏矩阵,矩阵中的大多数元素为零,非零元素的个数相对于元素总数来说很少。(3)矩阵的非零元素集中在以主对角线为中心的斜带形区域。§4.最优编码解法Leilafor水文09版权所有直接求解方程必须解决的问题:(1)排列方程和未知元,使得对角元是一个合适的主元,而且在消元过程中必须保持系数矩阵的稀疏性结构。(2)尽量避免零元素的存贮和运算。(3)存贮矩阵元素时应使矩阵的一行和一列元素能够有效的存取。§4.最优编码解法Leilafor水文09版权所有高斯消元法求解的步骤(1)用第1行的元素,消去第2行到第n行第1列的元素;(2)用第2行的元素,消去第3行到第n行第2列的元素;以此类推,用第i行的元素,消去第i+1行到第n行第i列的元素,直到第n行,使矩阵成为上三角矩阵,解出第n个变量。§4.最优编码解法Leilafor水文09版权所有最后从n-1到1逐个回代求出所有未知变量。这是一般的解法,其求解运算的工作量正比于n3。考虑到矩阵A的性质,其非零元素集中在以主对角线为中心的斜带形区域内,带宽为W。求解运算只需在代形域内进行,域外为零元素,不必参加运算。§4.最优编码解法Leilafor水文09版权所有所以,可以用n×W的矩阵来存贮对应各行的非零元素。求解的带宽为W:§4.最优编码解法Leilafor水文09版权所有用带形存贮的高斯消元法求解方程组的计算工作量正比于n×W2。所以,减小带宽不仅可以节省计算机内存,而且能有效提高计算的速度。对于特定的河网,带宽主要取决于节点编码,随着节点编码的好或坏而减小或增大。因此在求解河网水流时,存在着一个最优节点编码问题,即得到带宽最小的编码方法。§4.最优编码解法Leilafor水文09版权所有编码A(W=7)§4.最优编码解法3Leilafor水文09版权所有编码B(W=7)§4.最优编码解法3Leilafor水文09版权所有编码C(W=11)§4.最优编码解法5Leilafor水文09版权所有编码D(W=11)§4.最优编码解法5Leilafor水文09版权所有(1)带宽由编码决定,取决于同一层的最多节点数。(2)最优编码不是唯一的。(3)最优编码应遵循的原则是:沿着节点数目少的方向顺序编码,即同一层的节点数尽可能的少。最优编码原则§4.最优编码解法Leilafor水文09版权所有天然河网节点分布是非常不规则的,可以采用分层的办法进行优化编码。对结构复杂的河网常常不会导致最优编码,因为每一层中包含的节点数目相差太大。应当进行必要的调整,使每一层包含的节点数尽可能均匀,调整包含的节点数目最多的层次,减少该层所包含的节点数,反复试验,直到带宽无法减小为止。§4.最优编码解法—天然河网编码方法Leilafor水文09版权所有1.数据准备(1)节点编码:根据系数矩阵带宽最小原则,对内节点进行统一编码。(2)河道编码:统一编码,编码顺序可以任意。(3)断面编码:对于内河道,以首节点对应于首断面,末节点对应于末断面,首断面向末断面方向递增,代表河道的计算流向。对于外河道,以外节点向内节点递增为原则。二、编程技巧§4.最优编码解法—编程技巧Leilafor水文09版权所有(4)外河道边界信息:按实际的边界条件类型确定。(5)河道的计算信息:根据(1)的节点编码和(3)的断面编码,确定内河道的首节点和末节点号,确定外河道的末节点号,确定河道的首断面号和末断面号。(6)计算河道的基本地形资料和边界条件资料。§4.最优编码解法—编程技巧Leilafor水文09版权所有2.计算编程(1)计算外河道的边界条件,系数矩阵初始化。(2)对可调蓄节点,将蓄水量的变化表达成流量与水位的线性关系,迭加到相应的节点水位方程。(3)按外河道的顺序计算追赶系数。(4)按内河道的顺序计算追赶系数。(5)用高斯消去法求解节点水位方程。(6)用节点水位回代求出各断面的水位和流量。§4.最优编码解法—编程技巧Leilafor水文09版权所有(3)按外河道的顺序,依次计算外河道的追赶系数。(a)首断面的追赶系数由边界条件确定。(b)按单一河道计算