【MIKE水动力】MIKE11基本原理

Mike11软件包由水动力、对流~扩散、水质、降雨~径流、洪水预报等模块组成,核心模块为水动力模块。Mike11水动力模块采用6点Abbott~Ionescu有限差分格式对圣维南方程组求解。

一、圣维南方程组

1、基本要素与假设条件

Mike11模型基于以下三个要素:反映有关物理定律的微分方程组;对微分方程组进行线性化的有限差分格式;求解线性方程组的算法。并基于以下几个假定:流体为不可压缩、均质流体;一维流态; 坡降小、纵向断面变化幅度小;符合静水压力假设。

2、圣维南方程组

{ ∂ Q ∂ x + ∂ A ∂ t = q ∂ Q ∂ t + ∂ ( α Q 2 A ) δ x + g A δ h δ x + g Q ∣ Q ∣ C 2 A R = 0 \left\{\begin{array}{l} \frac{\partial Q}{\partial x}+\frac{\partial A}{\partial t}=q \\ \frac{\partial Q}{\partial t}+\frac{\partial\left(\alpha \frac{Q^{2}}{A}\right)}{\delta x}+g A \frac{\delta h}{\delta x}+\frac{g Q|Q|}{C^{2} A R}=0 \end{array}\right. xQ+tA=qtQ+δx(αAQ2)+gAδxδh+C2ARgQQ=0
式中:Q为流量,m³/s;q为侧向入流,m³/s;A为过水面积,m²;h为水位,m;R为水力半径,m;C为谢才系数;a为动量修正系数。

在这里插入图片描述
关于圣维南方程的方程的简洁推导可以参考:一个简洁的圣维南方程组推导过程,根据《水文学原理》,描述洪水波在河道中传播规律的物理途径主要有两类:一是利用圣维南方程组描述河道洪水波运动;二是利用河段水量平衡方程式和槽蓄方程式描述河道洪水波运动。基于前一种途径的洪水演算方法称为水力学法。基于后一种途径的洪水演算方法称为水文学法。

3、公式推导

在这里插入图片描述
令水的密度为 ρ \rho ρ ;重力加速度为 g g g h ( x , t ) h(x, t) h(x,t)为水在时间 t t t位置 x x x的深 (高) 度; v ( x , t ) v(x, t) v(x,t) 为在时间 t t t,位置 x x x上水体的流速,q为t时间流入水体的侧向流,默认右为正方向。

连续性方程

考虑x轴上的一个固定区间上的水体,则对水体的高度h对x进行积分,可以求得这一单位宽度水体的质量为
∫ x 0 x 1 ρ h ( x , t ) d x \int_{x_0}^{x_1}\rho h(x,t)dx x0x1ρh(x,t)dx水体流动过程中,单位区间 [ x 0 , x 1 ] [x_0,x_1] [x0,x1]内的水体质量会发生变化,单位时间变化量可以通过水体质量对 t t t的导数求得,即
d d t ∫ x 0 x 1 ρ h ( x , t ) d x \frac {d}{dt} \int_{x_0}^{x_1}\rho h(x,t)dx dtdx0x1ρh(x,t)dx即,
∫ x 0 x 1 ∂ h ( x , t ) ∂ t d x \int_{x_0}^{x_1} \frac {\partial h(x,t)}{\partial t} dx x0x1th(x,t)dx由于水体流入、流出、以及侧向流q,单位区间 [ x 0 , x 1 ] [x_0,x_1] [x0,x1]内的水体质量才发生变化,故水体质量的变化还可以表示为
ρ ( v ( x 0 , t ) h ( x 0 , t ) − v ( x 1 , t ) h ( x 1 , t ) + q ( x 1 − x 0 ) ) d t / d t \rho (v(x_0,t)h(x_0,t)-v(x_1,t)h(x_1,t)+q(x_1-x_0))dt/dt ρ(v(x0,t)h(x0,t)v(x1,t)h(x1,t)+q(x1x0))dt/dt
ρ \rho ρ为常量,故,
∫ x 0 x 1 ∂ h ( x , t ) ∂ t d x = v ( x 0 , t ) h ( x 0 , t ) − v ( x 1 , t ) h ( x 1 , t ) + q ( x 1 − x 0 ) \int_{x_0}^{x_1} \frac {\partial h(x,t)}{\partial t} dx=v(x_0,t)h(x_0,t)-v(x_1,t)h(x_1,t)+q(x_1-x_0) x0x1th(x,t)dx=v(x0,t)h(x0,t)v(x1,t)h(x1,t)+q(x1x0)
右边使用反向运用牛顿-莱布尼兹公式,并将时间导数移至积分号内部,即
∫ x 0 x 1 f ( x , t ) = F ( x 0 , t ) − F ( x 1 , t ) \int_{x_0}^{x_1}f(x,t) = F(x_0,t)-F(x_1,t) x0x1f(x,t)=F(x0,t)F(x1,t) v ( x 0 , t ) h ( x 0 , t ) − v ( x 1 , t ) h ( x 1 , t ) = − ∫ x 0 x 1 ∂ ∂ x v ( x , t ) h ( x , t ) d x + ∫ x 0 x 1 q d x v(x_0,t)h(x_0,t)-v(x_1,t)h(x_1,t) = -\int_{x_0}^{x_1}\frac{\partial}{\partial x}v(x,t)h(x,t)dx+\int_{x_0}^{x_1}q dx v(x0,t)h(x0,t)v(x1,t)h(x1,t)=x0x1xv(x,t)h(x,t)dx+x0x1qdx故,

∫ x 0 x 1 ∂ h ( x , t ) ∂ t d x + ∫ x 0 x 1 ( ∂ ∂ x v ( x , t ) h ( x , t ) − q ) d x = 0 \int_{x_0}^{x_1} \frac {\partial h(x,t)}{\partial t} dx+ \int_{x_0}^{x_1}(\frac{\partial}{\partial x}v(x,t)h(x,t)-q)dx=0 x0x1th(x,t)dx+x0x1(xv(x,t)h(x,t)q)dx=0故,
∫ x 0 x 1 ( ∂ h ( x , t ) ∂ t + ∂ ∂ x v ( x , t ) h ( x , t ) − q ) d x = 0 \int_{x_0}^{x_1} (\frac {\partial h(x,t)}{\partial t} + \frac{\partial}{\partial x}v(x,t)h(x,t)-q)dx=0 x0x1(th(x,t)+xv(x,t)h(x,t)q)dx=0即,
∫ x 0 x 1 ( δ Q δ x + δ A δ t − q ) d x = 0 \int_{x_0}^{x_1}(\frac{\delta Q}{\delta x}+\frac{\delta A}{\delta t}-q)dx=0 x0x1(δxδQ+δtδAq)dx=0故,
δ Q δ x + δ A δ t = q \frac{\delta Q}{\delta x}+\frac{\delta A}{\delta t}=q δxδQ+δtδA=q

动量方程

根据物质守恒定律要求,在任意给定的时间间隔内,物质的数量必须是定值。因此,对于任意的位置, ρ u A \rho u A ρuA 的变化量必须与该位置的流量相等。流量定义为 ρ u 2 A \rho u^{2} A ρu2A。因此,我们有:

d m d t = ∂ ( ρ u A ) ∂ t + ∂ ( ρ u 2 A ) ∂ x \frac{dm}{dt} = \frac{\partial (\rho u A)}{\partial t} + \frac{\partial (\rho u^{2} A)}{\partial x} dtdm=t(ρuA)+x(ρu2A)

其中 ∂ ( ρ u A ) ∂ t \frac{\partial (\rho u A)}{\partial t} t(ρuA) 表示该位置的物质变化量, ∂ ( ρ u 2 A ) ∂ x \frac{\partial (\rho u^{2} A)}{\partial x} x(ρu2A) 表示该位置的流量。

首先,我们假设流体的速度为 u u u,流体的体积为 A A A,河床的高度为 h h h

对于流体的任意一小部分,其动量可以表示为: m = ρ u A m = \rho u A m=ρuA,其中 ρ \rho ρ 是流体的密度。

因此,当河流在某一时刻流动,我们可以表示为:

d m d t = ∂ ( ρ u A ) ∂ t + ∂ ( ρ u 2 A ) ∂ x \frac{dm}{dt} = \frac{\partial (\rho u A)}{\partial t} + \frac{\partial (\rho u^{2} A)}{\partial x} dtdm=t(ρuA)+x(ρu2A)

将这个式子代入动量守恒原理,即:

∂ ( ρ u A ) ∂ t + ∂ ( ρ u 2 A ) ∂ x = − ∂ ( ρ g A h ) ∂ x − ∂ F ∂ x \frac{\partial (\rho u A)}{\partial t} + \frac{\partial (\rho u^{2} A)}{\partial x} = -\frac{\partial (\rho g A h)}{\partial x} - \frac{\partial F}{\partial x} t(ρuA)+x(ρu2A)=x(ρgAh)xF

其中 g g g 是重力加速度, F F F 表示阻力。

u 2 u^{2} u2 改写为 Q 2 A 2 \frac{Q^{2}}{A^2} A2Q2,即:

∂ ( ρ u A ) ∂ t + ∂ ( ρ Q 2 A 2 A ) ∂ x = − ∂ ( ρ g A h ) ∂ x − ∂ F ∂ x \frac{\partial (\rho u A)}{\partial t} + \frac{\partial (\rho \frac{Q^{2}}{A^2} A)}{\partial x} = -\frac{\partial (\rho g A h)}{\partial x} - \frac{\partial F}{\partial x} t(ρuA)+x(ρA2Q2A)=x(ρgAh)xF

化简,得到:

∂ Q ∂ t + ∂ ( ρ Q 2 A ) ∂ x + ρ g A ∂ h ∂ x + ∂ F ∂ x = 0 \frac{\partial Q}{\partial t} + \frac{\partial (\rho \frac{Q^{2}}{A})}{\partial x} + \rho g A \frac{\partial h}{\partial x} + \frac{\partial F}{\partial x} = 0 tQ+x(ρAQ2)+ρgAxh+xF=0

在一般情况下, F F F 可以被模拟为 g Q ∣ Q ∣ C 2 A R g Q \frac{|Q|}{C^{2} A R} gQC2ARQ,其中 C C C 是河流的波速, R R R 是河流的半径。

最后,可以得到:
δ Q δ t + δ ( α Q 2 A ) δ x + g A δ h δ x + g Q ∣ Q ∣ C 2 A R = 0 \frac{\delta Q}{\delta t}+\frac{\delta\left(\alpha \frac{Q^{2}}{A}\right)}{\delta x}+g A \frac{\delta h}{\delta x}+\frac{g Q|Q|}{C^{2} A R}=0 δtδQ+δxδ(αAQ2)+gAδxδh+C2ARgQQ=0
动量方程中的第一项 δ Q δ t \frac{\delta Q}{\delta t} δtδQ 表示流速 Q Q Q 关于时间的变化; 第二项 δ ( α Q 2 A ) δ x \frac{\delta\left(\alpha \frac{Q^{2}}{A}\right)}{\delta x} δxδ(αAQ2) 表示流速 Q Q Q关于空间的变化; 第三项 g A δ h δ x g A \frac{\delta h}{\delta x} gAδxδh 表示水位 h h h 关于空间的变化; 第四项 g Q ∣ Q ∣ C 2 A R \frac{g Q|Q|}{C^{2} A R} C2ARgQQ 表示河流的动力阻力关于流速的影响。

二、方程离散

圣维南方程中的连续性方程和动量方程通过有限差分法进行离散,计算网格由流量点和水位点组成,其中流量点和水位点在同一时间步长下分别进行 计算,见图。计算网格由模型自动生成,水位点是横断面所在的位置,相邻水位点之间的距离可能不同,流量点位于两个相邻的水位点之间。计算网格点的分布遵循以下规则:①河段上下游端点为计算水位点;②支流入流点为计算水位点;③实测断面资料点为计算水位点;④模型根据max△r值自动插入的点为计算水位点;⑤建筑物点为计算水位点;⑥两个水位点之间只存在一个计算流量点。
在这里插入图片描述

1. 连续方程

在连续方程中,引入蓄存宽度 b s b_{s} bs
∂ A ∂ t = b s ∂ h ∂ t (1) \frac{\partial A}{\partial t}=b_{s}\frac{\partial h}{\partial t}\tag{1} tA=bsth(1)
从而连续方程转变为:
∂ Q ∂ x + b s ∂ h ∂ t = q (2) \frac{\partial Q}{\partial x}+b_{s}\frac{\partial h}{\partial t}=q\tag{2} xQ+bsth=q(2)
由公式可以看出仅流量Q与x有关,方程很容易得到以h点为中心的6点隐式格式见图。
在这里插入图片描述
应用该离散格式,则连续方程变为:
∂ Q ∂ x ≈ Q j + 1 n + 1 + Q J + 1 n 2 − Q j − 1 n + 1 + Q j − 1 n 2 Δ 2 x j (3) \frac{\partial Q}{\partial x} \approx \frac{\frac{Q_{j+1}^{n+1}+Q_{J+1}^{n}}{2}-\frac{Q_{j-1}^{n+1}+Q_{j-1}^{n}}{2}}{\Delta 2 x_{j}}\tag{3} xQΔ2xj2Qj+1n+1+QJ+1n2Qj1n+1+Qj1n(3) ∂ h ∂ t ≈ h j n + 1 − h j n Δ t (4) \frac{\partial h}{\partial t} \approx \frac{h_{j}^{n+1}-h_{j}^{n}}{\Delta t}\tag{4} thΔthjn+1hjn(4) b s ≈ A e , j + A e , j + 1 Δ 2 x j (5) b_{s} \approx\frac{A_{e, j}+A_{e, j+1}}{\Delta 2 x_{j}}\tag{5} bsΔ2xjAe,j+Ae,j+1(5)式中: A e , j A_{e, j} Ae,j为网格点 j-1 与 j 之间的水面面积; A o , j + 1 A_{o, j+1} Ao,j+1为网格点 j 与 j+1 之间的水面面积; Δ 2 x j \Delta 2 x_{j} Δ2xj 为网格点 j-1 与 j+1 之间的距离。
将式(3)、式(4)代入方程(2) 变为:
Q j + 1 n + 1 + Q j + 1 n 2 − Q j − 1 n + 1 + Q j − 1 n 2 △ 2 x j + b s ( h j n + 1 − h j n ) △ t = q j \frac {\frac{Q_ {j+1}^ {n+1}+Q_ {j+1}^ {n}}{2}-\frac {Q_ {j-1}^ {n+1}+Q_ {j-1}^ {n}}{2}}{\triangle 2x_{j}}+b_ {s} \frac {(h_ {j}^ {n+1}-h_{j}^ {n})}{\triangle t} =q_{j} △2xj2Qj+1n+1+Qj+1n2Qj1n+1+Qj1n+bst(hjn+1hjn)=qj
− 1 2 △ 2 x j Q j − 1 n + 1 + b s △ t h j n + 1 + 1 2 △ 2 x j Q j + 1 n + 1 + ( − 1 2 △ 2 x j Q j − 1 n − b s △ t h j n + 1 2 △ 2 x j Q j + 1 n ) = q j -\frac {1}{2\triangle 2x_{j}}Q_ {j-1}^ {n+1}+ \frac {b_ {s}}{\triangle t}h_ {j}^ {n+1}+\frac {1}{2\triangle 2x_{j}}Q_ {j+1}^ {n+1} +(-\frac {1}{2\triangle 2x_{j}}Q_ {j-1}^ {n}-\frac {b_ {s}}{\triangle t}h_ {j}^ {n}+\frac {1}{2\triangle 2x_{j}}Q_ {j+1}^ {n} )=q_{j} 2△2xj1Qj1n+1+tbshjn+1+2△2xj1Qj+1n+1+(2△2xj1Qj1ntbshjn+2△2xj1Qj+1n)=qj
− 1 2 △ 2 x j Q j − 1 n + 1 + b s △ t h j n + 1 + 1 2 △ 2 x j Q j + 1 n + 1 = q j + 1 2 △ 2 x j Q j − 1 n + b s △ t h j n − 1 2 △ 2 x j Q j + 1 n -\frac {1}{2\triangle 2x_{j}}Q_ {j-1}^ {n+1}+ \frac {b_ {s}}{\triangle t}h_ {j}^ {n+1}+\frac {1}{2\triangle 2x_{j}}Q_ {j+1}^ {n+1} =q_{j}+\frac {1}{2\triangle 2x_{j}}Q_ {j-1}^ {n}+\frac {b_ {s}}{\triangle t}h_ {j}^ {n}-\frac {1}{2\triangle 2x_{j}}Q_ {j+1}^ {n} 2△2xj1Qj1n+1+tbshjn+1+2△2xj1Qj+1n+1=qj+2△2xj1Qj1n+tbshjn2△2xj1Qj+1n
该方程可以简化为:
α j Q j − 1 n + 1 + β j h j n + 1 + γ j Q j + 1 n + 1 = q j − α j Q j − 1 n + β j h j n − γ j Q j + 1 n \alpha_{j}Q_{j-1}^{n+1}+\beta_{j}h_{j}^{n+1}+\gamma_{j}Q_{j+1}^{n+1}=q_{j}-\alpha_{j}Q_{j-1}^{n}+\beta_{j}h_{j}^{n}-\gamma_{j}Q_{j+1}^{n} αjQj1n+1+βjhjn+1+γjQj+1n+1=qjαjQj1n+βjhjnγjQj+1n
α j Q j − 1 n + 1 + β j h j n + 1 + γ j Q j + 1 n + 1 = δ j (6) \alpha_{j}Q_{j-1}^{n+1}+\beta_{j}h_{j}^{n+1}+\gamma_{j}Q_{j+1}^{n+1}=\delta_{j}\tag{6} αjQj1n+1+βjhjn+1+γjQj+1n+1=δj(6)式中:a、β、γ为b和δ的函数,其值决定于h点在时间n处及Q点在时间n+1/2处的值。

注:这一步简化还没理解,参考chatGPT回答,揣测了一下
其中,
α j = − 1 2 △ 2 x j \alpha_{j} = -\frac {1}{2\triangle 2x_{j}} αj=2△2xj1 β j = b s △ t \beta_{j} = \frac {b_ {s}}{\triangle t} βj=tbs γ j = 1 2 △ 2 x j \gamma_{j} =\frac {1}{2\triangle 2x_{j}} γj=2△2xj1 δ j = q j − α j Q j − 1 n + β j h j n − γ j Q j + 1 n \delta_{j} =q_{j}-\alpha_{j}Q_{j-1}^{n}+\beta_{j}h_{j}^{n}-\gamma_{j}Q_{j+1}^{n} δj=qjαjQj1n+βjhjnγjQj+1n

2. 动量方程

动量方程集中在流量点,其网格形式为以Q点为中心点的差分格式见图3。
在这里插入图片描述
依据6点中心Abbott - Ionescu差分法,动量方程可以表示如下:
∂ Q ∂ t ≈ Q j n + 1 − Q j n △ t (7) \frac{\partial Q}{\partial t}\approx \frac{Q_{j}^{n+1}-Q_{j}^{n}}{\triangle t}\tag{7} tQtQjn+1Qjn(7) ∂ ( α Q 2 A ) ∂ x ≈ [ α Q 2 A ] j + 1 n + 1 / 2 − [ α Q 2 A ] j − 1 n + 1 / 2 △ 2 x i (8) \frac {\partial (\alpha \frac {Q^2}{A})}{\partial x}\approx \frac{[\alpha \frac{Q^2}{A}]_{j+1}^{n+1/2}-[\alpha \frac{Q^2}{A}]_{j-1}^{n+1/2}}{\triangle 2xi}\tag{8} x(αAQ2)△2xi[αAQ2]j+1n+1/2[αAQ2]j1n+1/2(8) ∂ h ∂ x = h j + 1 n + 1 + h j + 1 n 2 − h j − 1 n + 1 + h j − 1 n 2 △ 2 x j (9) \frac {\partial h}{\partial x}=\frac{\frac{h_{j+1}^{n+1}+h_{j+1}^{n}}{2}-\frac{h_{j-1}^{n+1}+h_{j-1}^{n}}{2}}{\triangle 2x_{j}}\tag{9} xh=△2xj2hj+1n+1+hj+1n2hj1n+1+hj1n(9)
对公式(8)中的二次项,引入以下公式:
Q 2 ≈ θ Q j n + 1 Q j n − ( θ − 1 ) Q j n Q j n (10) Q^2\approx \theta Q_{j}^{n+1}Q_{j}^{n}-(\theta -1)Q_{j}^{n}Q_{j}^{n}\tag{10} Q2θQjn+1Qjn(θ1)QjnQjn(10)式 中 : θ 角的值通过HD参数文件“默认值”中的“THETA”系数来给定,默认值为1。
由上,动量方程可以表达为:
α j h j − 1 n + 1 + β j Q j n + 1 + γ j h j + 1 n + 1 = δ j (11) \alpha _{j}h_{j-1}^{n+1}+\beta _{j}Q_{j}^{n+1}+\gamma _{j}h_{j+1}^{n+1}=\delta _{j}\tag{11} αjhj1n+1+βjQjn+1+γjhj+1n+1=δj(11)其中 α j = f ( A ) \alpha _j=f(A) αj=f(A)
β j = f ( Q j n , Δ t , Δ x , C , A , R ) \beta _j=f(Q_{j}^{n},\Delta t,\Delta x,C,A,R) βj=f(Qjn,Δt,Δx,C,A,R) γ j = f ( A ) \gamma _j=f(A) γj=f(A) δ j = f ( A , Δ x , Δ t , α , q , v , θ , h j − 1 n , Q j − 1 n + 1 / 2 , Q j n , h j + 1 n , Q j + 1 n + 1 / 2 ) \delta _j=f(A,\Delta x,\Delta t,\alpha,q,v,\theta,h _{j-1}^{n},Q _{j-1}^{n+1/2},Q _{j}^{n},h _{j+1}^{n},Q _{j+1}^{n+1/2}) δj=f(A,Δx,Δt,α,q,v,θ,hj1n,Qj1n+1/2,Qjn,hj+1n,Qj+1n+1/2)
在默认的条件下,软件在一个时间步长里用两次迭代来对这些方程进行求解。初次迭代起始于第 一个时间步长,第二次迭代采用第一次计算值的中心差值来进行计算。迭代次数可以通过NoITER系数来进行修改。

三. 离散方程求解

方程求解采用追赶法(双扫描法)。

1.河道方程

根据水流连续方程和运动方程整理后的最终形式[式(6)和式(11)],河道内某一 水力变量Z,(水位h,或流量Q,)与相邻差分格点的水力参数的关系可以表示为一线性方程:
α j Z j − 1 n + 1 + β j Z j n + 1 + γ j Z j + 1 n + 1 = δ j (12) \alpha _{j}Z _{j-1}^{n+1}+\beta _{j}Z _{j}^{n+1}+\gamma _{j}Z _{j+1}^{n+1}=\delta _{j}\tag{12} αjZj1n+1+βjZjn+1+γjZj+1n+1=δj(12)
假设某河道由n个差分格点离散化,由于河道首末计算断面均为水位点,所以n为奇数。对于河道的所有差分格点写出式(12),可以得到n个线性方程:
α 1 H u s n + 1 + β 1 h 1 n + 1 + γ 1 Q 2 n + 1 = δ 1 \alpha _{1}H _{us}^{n+1}+\beta _{1}h_{1}^{n+1}+\gamma _{1}Q _{2}^{n+1}=\delta _{1} α1Husn+1+β1h1n+1+γ1Q2n+1=δ1 α 2 h 1 n + 1 + β 2 Q 2 n + 1 + γ 2 h 3 n + 1 = δ 2 \alpha _{2}h _{1}^{n+1}+\beta _{2}Q_{2}^{n+1}+\gamma _{2}h _{3}^{n+1}=\delta _{2} α2h1n+1+β2Q2n+1+γ2h3n+1=δ2 α 3 Q 2 n + 1 + β 3 h 3 n + 1 + γ 3 Q 4 n + 1 = δ 3 \alpha _{3}Q _{2}^{n+1}+\beta _{3}h_{3}^{n+1}+\gamma _{3}Q _{4}^{n+1}=\delta _{3} α3Q2n+1+β3h3n+1+γ3Q4n+1=δ3 α 4 h 3 n + 1 + β 4 Q 4 n + 1 + γ 4 h 5 n + 1 = δ 4 \alpha _{4}h _{3}^{n+1}+\beta _{4}Q_{4}^{n+1}+\gamma _{4}h _{5}^{n+1}=\delta _{4} α4h3n+1+β4Q4n+1+γ4h5n+1=δ4 α 5 Q 4 n + 1 + β 5 h 5 n + 1 + γ 5 Q 6 n + 1 = δ 5 (13) \alpha _{5}Q _{4}^{n+1}+\beta _{5}h_{5}^{n+1}+\gamma _{5}Q _{6}^{n+1}=\delta _{5}\tag{13} α5Q4n+1+β5h5n+1+γ5Q6n+1=δ5(13) . . . ... ... α n − 2 Q n − 3 n + 1 + β n − 2 h n − 2 n + 1 + γ n − 2 Q n − 1 n + 1 = δ n − 2 \alpha _{n-2}Q _{n-3}^{n+1}+\beta _{n-2}h_{n-2}^{n+1}+\gamma _{n-2}Q _{n-1}^{n+1}=\delta _{n-2} αn2Qn3n+1+βn2hn2n+1+γn2Qn1n+1=δn2 α n − 1 h n − 2 n + 1 + β n − 1 Q n − 1 n + 1 + γ n − 1 h n n + 1 = δ n − 1 \alpha _{n-1}h _{n-2}^{n+1}+\beta _{n-1}Q_{n-1}^{n+1}+\gamma _{n-1}h _{n}^{n+1}=\delta _{n-1} αn1hn2n+1+βn1Qn1n+1+γn1hnn+1=δn1 α n Q n − 1 n + 1 + β n h n n + 1 + γ n H d s n + 1 = δ n \alpha _{n}Q _{n-1}^{n+1}+\beta _{n}h_{n}^{n+1}+\gamma _{n}H _{ds}^{n+1}=\delta _{n} αnQn1n+1+βnhnn+1+γnHdsn+1=δn
这样方程就多出2个未知量。第一个方程中的 H u s H_{us} Hus和最后一个方程中的 H d s H_{ds} Hds分别代表上下游节点的水位。某一河道第一个网格点的水位等于与之相连河段上游节点的水位: h 1 = H u s h_{1}=H_{us} h1=Hus,即: α 1 = − 1 , β 1 = 1 , γ 1 = 0 , δ 1 = 0 \alpha _{1}=-1, \beta _{1}=1,\gamma _{1}=0,\delta _{1}=0 α1=1,β1=1,γ1=0,δ1=0。同样, h n = H d s h_{n}=H_{ds} hn=Hds, 即: α n = 0 , β n = 1 , γ n = − 1 , δ 1 = 0 \alpha _{n}=0, \beta _{n}=1,\gamma _{n}=-1,\delta _{1}=0 αn=0,βn=1,γn=1,δ1=0
对于单一河道,只要给出上下游水位边界,即 H u s H_{us} Hus H d s H_{ds} Hds为已知,就可用消元法求解方程组 (13)了。
对于河网,方程组(13)用矩阵的形式表示为:
[ α 1 β 1 γ 1 δ 1 α 2 β 2 γ 2 δ 2 α 3 β 3 γ 3 δ 3 α 4 β 4 γ 4 δ 4 α 5 β 5 γ 5 δ 5 . . . . . . α n − 2 β n − 2 γ n − 2 δ n − 2 α n − 1 β n − 1 γ n − 1 δ n − 1 α n β n γ n δ n ] \begin{bmatrix} \alpha _{1}&\beta _{1}&\gamma _{1}& & & & & & & & & &\delta _{1} \\ & \alpha _{2}&\beta _{2}&\gamma _{2}& & & & & & & & &\delta _{2} \\ & & \alpha _{3}&\beta _{3}&\gamma _{3}& & & & & & & &\delta _{3} \\ & & & \alpha _{4}&\beta _{4}&\gamma _{4}& & & & & & &\delta _{4} \\ & & & & \alpha _{5}&\beta _{5}&\gamma _{5}& & & & & &\delta _{5}\\ & & & & & .& .& .& & && \\ & & & & & & .& . & . && & \\ & & & & & & & \alpha _{n-2}&\beta _{n-2}&\gamma _{n-2}& & &\delta _{n-2}\\ & & & & & & & & \alpha _{n-1}&\beta _{n-1}&\gamma _{n-1}& &\delta _{n-1}\\ & & & & & & & & & \alpha _{n}&\beta _{n}&\gamma _{n}&\delta _{n} \end{bmatrix} α1β1α2γ1β2α3γ2β3α4γ3β4α5γ4β5.γ5....αn2.βn2αn1γn2βn1αnγn1βnγnδ1δ2δ3δ4δ5δn2δn1δn
用消元法变成了
[ a 1 1 b 1 c 1 a 2 1 b 2 c 2 a 3 1 b 3 c 3 a 4 1 b 4 c 4 a 5 1 b 5 c 5 . . . . . . . . a n − 2 1 b n − 2 c n − 2 a n − 1 1 b n − 1 c n − 1 a n 1 b n c n ] \begin{bmatrix} a _{1}&1& & & & & & & & & &b _{1}&c _{1}\\ a _{2}& &1& & & & & & & & &b _{2}&c _{2}\\ a _{3}& & &1& & & & & & & &b _{3}&c _{3}\\ a _{4}& & & &1& & & & & & &b _{4}&c _{4}\\ a _{5}& & & & &1& & & & & &b _{5}&c _{5}\\ .& & & & & &.& & & & &.&.\\ .& & & & & & &.& & & &.&.\\ a _{n-2}& & & & & & & &1& & &b _{n-2}&c _{n-2}\\ a _{n-1}& & & & & & & & &1& &b _{n-1}&c _{n-1}\\ a _{n}& & & & & & & & & &1&b _{n}&c _{n} \end{bmatrix} a1a2a3a4a5..an2an1an11111..111b1b2b3b4b5..bn2bn1bnc1c2c3c4c5..cn2cn1cn
由此便能将河道内任意点的水力变量 Z j Z_{j} Zj(水位或流量)表示为上下游节点的水位函数:
Z j n + 1 = c j − a j H u s n + 1 − b j H d s n + 1 (14) Z _{j}^{n+1} = c_{j}-a_{j}H_{us}^{n+1}-b_{j}H_{ds}^{n+1}\tag{14} Zjn+1=cjajHusn+1bjHdsn+1(14)在求解过程中首先求出河道中各节点的水位值,之后便可应用式(14)求解任一河段,任一差分格点的水力参数。

2.节点方程

在这里插入图片描述
如图所示,绕节点的控制体连续性方程为:
H n + 1 − H n Δ t A f l = 1 2 ( Q A , n − 1 n + Q B , n − 1 n − Q C , 2 n ) + 1 2 ( Q A , n − 1 n + 1 + Q B , n − 1 n + 1 − Q C , 2 n + 1 ) \frac{H^{n+1}-H^{n}}{\Delta t} A_{fl}=\frac{1}{2}\left(Q_{A, n-1}^{n}+Q_{B, n-1}^{n}-Q_{C, 2}^{n}\right)+\frac{1}{2}\left(Q_{A, n-1}^{n+1}+Q_{B, n-1}^{n+1}-Q_{C, 2}^{n+1}\right) ΔtHn+1HnAfl=21(QA,n1n+QB,n1nQC,2n)+21(QA,n1n+1+QB,n1n+1QC,2n+1)
将上述方程中右边第2式的3项分别以式(14)替代,可以得到:
H n + 1 − H n Δ t A f = 1 2 ( Q A n + Q B n − Q C n ) + 1 2 ( c A , n − 1 − a A , n − 1 H A , u s n + 1 − b A , n − 1 H n + 1 ) + c B , n − 1 − a B , n − 1 H B , u s n + 1 − b B , n − 1 H n + 1 + c C , 2 − a C , 2 H n + 1 − b C , 2 H C , d s n + 1 (15) \frac{H^{n+1}-H^{n}}{\Delta t} A_{f}=\frac{1}{2}\left(Q_{A}^{n}+Q_{B}^{n}-Q_{C}^{n}\right)+\frac{1}{2}\left(c_{A, n-1}-a_{A, n-1} H_{A, us}^{n+1}-b_{A, n-1} H^{n+1}\right)+\\ c_{B, n-1} -a_{B, n-1} H_{B, us}^{n+1}-b_{B, n-1} H^{n+1}+c_{C, 2}-a_{C, 2} H^{n+1}-b_{C, 2} H_{C, ds}^{n+1} \tag{15} ΔtHn+1HnAf=21(QAn+QBnQCn)+21(cA,n1aA,n1HA,usn+1bA,n1Hn+1)+cB,n1aB,n1HB,usn+1bB,n1Hn+1+cC,2aC,2Hn+1bC,2HC,dsn+1(15)

式中: H H H为该节点的水位, H A , u s H_{A,us} HA,us H B , u s H_{B,us} HB,us分别为支流A,B上游端节点水位, H C , d s H_{C,ds} HC,ds为支流C下游端节 点水位。
在式(15)中,将某个节点的水位表示为与之直接相连的河道节点水位的线性函数。同样,对于河网所有节点(假设为N个),可以得到N个类似的方程(节点方程组)。在边界水位或流量为已知的情况下,可以利用高斯消元法直接求解节点方程组,得到各个节点的水位,进而回代式(15)求解任意河道任意网格点的水位或流量。
原则上节点可以任意编码,但对于大型复杂河网,这样得到的节点方程组的系数矩阵将是一个阶数很高的稀疏矩阵,存贮量大,运算非常耗时。大型稀疏矩阵求解计算时间主要取决于矩阵主对角线非零元素的宽度。可以通过对河网节点进行优化编码的方法来降低节点方程组系数矩阵的带宽,使之成为主对角线元素占优的矩阵,从而方便方程组的求解,并大大减少计算耗时。

3.边界条件

若在河道边界节点上给出水位的时间变化过程: h = h ( t ) h=h(t) h=h(t)。此时,边界上的节点方程为(假设边界所在河道编号为 j j j):
h j , 1 n + 1 = H u s n + 1 ,或 h j , n n + 1 = H d s n + 1 h_{j,1}^{n+1}=H_{us}^{n+1},或h_{j,n}^{n+1}=H_{ds}^{n+1} hj,1n+1=Husn+1,或hj,nn+1=Hdsn+1
若在河道边界节点上给出流量的时间变化过程: Q = Q ( t ) Q=Q(t) Q=Q(t)。对控制体应用连续方程可以得到:
H n + 1 − H n Δ t A f l = 1 2 ( Q b n − Q 2 n ) + 1 2 ( Q b n + 1 − Q 2 n + 1 ) \frac {H^{n+1}-H^{n}}{\Delta t}{A_{fl}} = \frac {1}{2}(Q _{b}^{n}-Q_{2}^{n})+ \frac {1}{2}(Q _{b}^{n+1}-Q_{2}^{n+1}) ΔtHn+1HnAfl=21(QbnQ2n)+21(Qbn+1Q2n+1)根据(14)将上式中的 Q 2 n + 1 Q_{2}^{n+1} Q2n+1代入,可以得到
H n + 1 − H n Δ t A f l = 1 2 ( Q b n − Q 2 n ) + 1 2 ( Q b n + 1 − c 2 + a 2 H n + 1 + b 2 H d s n + 1 ) (16) \frac {H^{n+1}-H^{n}}{\Delta t}{A_{fl}} = \frac {1}{2}(Q _{b}^{n}-Q_{2}^{n})+ \frac {1}{2}(Q _{b}^{n+1}-c_{2}+a_{2}H^{n+1}+b_{2}H_{ds}^{n+1})\tag{16} ΔtHn+1HnAfl=21(QbnQ2n)+21(Qbn+1c2+a2Hn+1+b2Hdsn+1)(16)

在这里插入图片描述
若在河道边界节点上给出流量的时间变化过程: Q = Q ( h ) Q=Q(h) Q=Q(h),其处理方法同流量边界,得到与式子(16)类似的方程,只是方程中的 Q b n Q_{b}^{n} Qbn Q b n + 1 Q_{b}^{n+1} Qbn+1由流量水位关系得到。

参考文献

  • 《DHI MIKE FLOOD 洪水模拟技术应用与研究》,衣秀勇等编著
  • https://zhuanlan.zhihu.com/p/372837854
  • chatGPT

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/21342.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ChatGPT 上线联网和插件功能,Plus 用户下周可使用

OpenAI 宣布将在下周向所有 ChatGPT Plus 用户推出联网和插件功能。OpenAI 表示,位于 Alpha 和 Beta 通道的 ChatGPT Plus 用户都能使用联网功能以及 70 多个已上线的插件。 OpenAI CEO Sam Altman 转发这一推文并表示:"希望你们喜欢"。 此次更…

70多种插件加持,联网版ChatGPT值得拥有

自 ChatGPT 推出以来,大语言模型充斥着新闻版面。很多公司都在试图追赶 OpenAI,但作为先行者,ChatGPT 显得一骑绝尘。 上周六,OpenAI CEO 奥特曼宣布 ChatGPT 的联网和插件功能上线在即,所有买了基于 GPT-4 的 ChatGP…

70多种插件加持,联网版ChatGPT评测来了

来源 | 机器之心 编辑 | 泽南、陈萍 【导读】说不上无所不能,但也可以说是上天入地。 自 ChatGPT 推出以来,大语言模型充斥着新闻版面。很多公司都在试图追赶 OpenAI,但作为先行者,ChatGPT 显得一骑绝尘。 上周六&#xff0c…

Wolfram 接入 GPT点燃了普罗米修斯之火

今天读到了这个新闻,心情非常兴奋、复杂。ChatGPT全宇宙大爆炸!开启联网解除封印,无敌插件彻底颠覆体验 作为一个见证人类技术发展的工程师,我感到非常兴奋。而考虑到我们在基础软件领域全面的短板,在未来的发展中&am…

研究报告 | 把握新变量与新机会,2023年KOL营销七大趋势预测

还记得去年年初有张同学的爆火,有靠着 “毽子操”刷新抖音平台涨粉最快纪录的刘畊宏;年中,我们与东方甄选双向奔赴,感受从诗词歌赋到人生哲学的直播间魅力;紧接着,“消失”109天的李佳琦低调回归&#xff0…

OpenAI官方的AutoGPT要来了!实测效果很优秀

点击上方“Java基基”,选择“设为星标” 做积极的人,而不是积极废人! 每天 14:00 更新文章,每天掉亿点点头发... 源码精品专栏 原创 | Java 2021 超神之路,很肝~中文详细注释的开源项目RPC 框架 Dubbo 源码解析网络应…

成功转行Python工程师,年薪30W+,经验总结都在这!

这是给转行做Python的小白的参考,无论是从零开始,或者是转行的朋友来说,这都是值得一看的,也是可以作为一种借鉴。 而且我决定转行IT(互联网)行业(已转好几年),其实理由…

完全免费白嫖 GPT-4 的终极方案!

GPT-4 目前是世界上最强的多模态大模型,能力甩 GPT-3.5 好几条街。 大家都希望早日用上 GPT-4,不过目前体验 GPT-4 的渠道非常有限,要么就是开通 ChatGPT 尊贵的 Plus 会员,即使你开了会员,也是有限制的,每…

玩“爬虫”可能触犯的三宗罪

最近网上流传一个顺口溜:爬虫玩得好,监狱进得早。数据玩得溜,牢饭吃个够。 自2019年9月以来,多家知名公司相关人员被抓或被调查,这些机构均涉及大数据风控业务和爬虫技术的应用。由此,大数据业务的合规合法…

偷偷曝光下国内软件外包公司!(2023 最新版,很全!)

点击关注公众号,Java干货及时送达 推荐阅读: 学习 Spring Cloud 微服务的正确姿势! 用上 ChatGPT 啦,强的离谱! 欢迎大家加入《ChatGPT 小密圈》知识星球,现在加入,免费送一个手工注册的 ChatGP…

孙子漏洞!ChatGPT又百依百顺了;程序员的LLM世界生存技巧;UI+MJ入门必读手册;吴恩达LangChain实践课 | ShowMeAI日报

👀日报&周刊合集 | 🎡生产力工具与行业应用大全 | 🧡 点赞关注评论拜托啦! 🤖 继「奶奶漏洞」之后再现「孙子漏洞」,装成孩子让 ChatGPT 千依百顺 前几天,网友发现了 ChatGPT 的新鲜玩法&am…

使用Python实现微信自动回复,操作简单,小白也会使用!秒回女朋友消息 泰裤辣!

文章目录 一、安装itchat库二、登录微信三、实现自动回复四、实现关键词回复五、实现图灵机器人回复总结 Python精品助学大礼包 一、安装itchat库 首先,我们需要安装itchat库,它是一个用于微信个人号的微信Python API,可以用于实现微信自动回…

超火的chartGPT到底是什么?没有账号我能使用吗

什么是OpenAI? OpenAl是一家人工智能研究公司,成立于2015年,总部位于美国加利福尼亚州旧金山。公司的目标是建立一种通用人工智能技术,并将其让普通人能够轻松使用。OpenAl的研究领域包括机器学习、自然语言处理和强化学习等。其中,GPT-3是OpenAl开发的一种大型语言…

ChatGPT外挂,Link Reader 快速阅读网页、PDF内容还能翻译

在现今什么都讲求快速的时代里,很多人都没有耐心一字一句阅读落落长的文章了,所以今天我们就要跟大家分享一个好用的ChatGPT Plugins 外挂,可以帮你阅读网站的内容,并且告诉你文章到底在讲什么。 先要拥有 ChatGPT Plus 帐号&…

史上最小 x86 Linux 模拟器「GitHub 热点速览 v.22.50」

作者:HelloGitHub-小鱼干 本周 GitHub Trending 略显冷清,大概是国内的人们开始在养病,而国外的人们开始过圣诞、元旦双节。热度不减的 ChatGPT 依旧占据了本周大半的 GitHub 热点项目,不过本周的特推和周榜并未重复收录这些。不过…

德勤:2023技术趋势报告(附下载链接)

省时查报告-专业、及时、全面的行研报告库 省时查方案-专业、及时、全面的营销策划方案库 【免费下载】2023年1月份热门报告盘点 罗振宇2023年跨年演讲PPT原稿 吴晓波2022年年终秀演讲PPT原稿 《底层逻辑》高清配图 华为2021数字化转型:从战略到执行.pdf华为项目管理…

图解NLP模型发展:从RNN到Transformer

图解NLP模型发展:从RNN到Transformer 自然语言处理 (NLP) 是深度学习中一个颇具挑战的问题,与图像识别和计算机视觉问题不同,自然语言本身没有良好的向量或矩阵结构,且原始单词的含义也不像像素值那么确定和容易表示。一般我们需…

一图看懂 openai 模块:ChatGPT的API python库, 资料整理+笔记(大全)

本文由 大侠(AhcaoZhu)原创,转载请声明。 链接: https://blog.csdn.net/Ahcao2008 一图看懂 openai 模块:ChatGPT的API python库, 资料整理笔记(大全) 摘要模块图类关系图结束 摘要 全文介绍系统内置 openai ——ChatGPT的API pyt…

chatgpt赋能python:Python在量化交易中的应用

Python在量化交易中的应用 Python是一个高级的、动态类型的解释型编程语言,是量化金融领域中最常用的编程语言。Python语言易读易写、易学易用,丰富的第三方库支持使得Python在量化交易领域中有着广泛的应用和深远的影响。本文将介绍Python在量化交易中…

chatgpt赋能python:入门Python编程指南

入门Python编程指南 Python作为一门流行的编程语言,不仅在科学计算和数据分析方面非常有用,同时也是Web开发、人工智能和机器学习的热门选择。对于初学者来说,了解如何入门Python编程至关重要。在这篇文章中,我们将探讨如何入门P…