发明名称 一种含梯级水电站河流水动力条件并行化数值模拟方法
摘要 本发明涉及一种含梯级水电站河流水动力条件并行化数值模拟方法,它通过给定河道结构物上侧水位或流量-水位关系作为上游河段的下边界条件,假设结构物下侧水位作为下游河段的上边界条件,为每一河段建立一封闭的方程组,且每一方程组中只含同一河段的变量,使采用隐式差分法离散而成的系数矩阵仍然保持带状特征,物理上相互联系的河段在数值上相对独立,从而能够运用带状矩阵求解出河段变量,并通过迭代校正结构物下侧水位实现结构物两侧流量相等。本发明与传统的单一河道求解河流水动力条件的方法相比,无需大范围地修改原顺序求解河流水动力条件程序,就可以实现多级河道河流水动力条件的快速并行求解,运算过程耗时短,效率高。
申请公布号 CN102722611B 申请公布日期 2014.09.10
申请号 CN201210172062.1 申请日期 2012.05.29
申请人 清华大学 发明人 陈永灿;军;俞茜;刘昭伟
分类号 G06F17/50(2006.01)I 主分类号 G06F17/50(2006.01)I
代理机构 北京纪凯知识产权代理有限公司 11245 代理人 徐宁;关畅
主权项 一种含梯级水电站河流水动力条件并行化数值模拟方法,适用于流量只跟上游水位有关的结构物,它包括以下步骤:1)设定河道中梯级水电站的每一级水电站的上游边界节点G<sub>i</sub>和下游边界节点H<sub>i</sub>,下标i用于表征水电站,i=0,1,2,3......;2)给定每一级水电站上游边界节点G<sub>i</sub>的水位Z<sub>Gi</sub>,给每一级水电站下游边界节点H<sub>i</sub>的水位Z<sub>Hi</sub>赋予初始值Z<sub>Hi</sub>=Z<sub>Hi</sub><sup>0</sup>;3)采用Saint‑Venant双曲方程组为整条河道建模,所述Saint‑Venant双曲方程组包括以下一连续方程和一动量方程:<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><mo>&PartialD;</mo><mi>A</mi><mo>/</mo><mo>&PartialD;</mo><mi>t</mi><mo>+</mo><mo>&PartialD;</mo><mi>Q</mi><mo>/</mo><mo>&PartialD;</mo><mi>x</mi><mo>-</mo><mi>q</mi><mo>=</mo><mn>0</mn><mo>,</mo></mrow>]]></math><img file="FDA0000541037980000011.GIF" wi="539" he="66" /></maths><maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><mo>&PartialD;</mo><mi>Q</mi><mo>/</mo><mo>&PartialD;</mo><mi>t</mi><mo>+</mo><mo>&PartialD;</mo><mrow><mo>(</mo><msup><mi>Q</mi><mn>2</mn></msup><mo>/</mo><mi>A</mi><mo>)</mo></mrow><mo>/</mo><mo>&PartialD;</mo><mi>x</mi><mo>+</mo><mi>gA</mi><mo>&PartialD;</mo><mi>Z</mi><mo>/</mo><mo>&PartialD;</mo><mi>x</mi><mo>+</mo><mi>gA</mi><msub><mi>S</mi><mi>f</mi></msub><mo>=</mo><mn>0</mn><mo>,</mo></mrow>]]></math><img file="FDA0000541037980000012.GIF" wi="940" he="78" /></maths>上式中,A为过水面积,Q为水流流量,Z是水位,t是时间坐标,x是空间坐标,q是单位河长侧向入流量,g是重力加速度,S<sub>f</sub>是摩阻坡度,用曼宁公式确定;4)采用Preissmann隐式差分格式离散步骤3)的方程,并通过Newton‑Raphson迭代法获得以下线性离散方程组:<maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><msub><mi>a</mi><mrow><mn>2</mn><mi>j</mi><mo>-</mo><mn>1,1</mn></mrow></msub><msub><mi>&Delta;Q</mi><mi>j</mi></msub><mo>+</mo><msub><mi>a</mi><mrow><mn>2</mn><mi>j</mi><mo>-</mo><mn>1,2</mn></mrow></msub><msub><mi>&Delta;A</mi><mi>j</mi></msub><mo>+</mo><msub><mi>a</mi><mrow><mn>2</mn><mi>j</mi><mo>-</mo><mn>1,3</mn></mrow></msub><msub><mi>&Delta;Q</mi><mrow><mi>j</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>+</mo><msub><mi>a</mi><mrow><mn>2</mn><mi>j</mi><mo>-</mo><mn>1,4</mn></mrow></msub><msub><mi>&Delta;A</mi><mrow><mi>j</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>+</mo><mi>R</mi><mrow><mo>(</mo><msubsup><mi>F</mi><mi>j</mi><mi>C</mi></msubsup><mo>)</mo></mrow><mo>=</mo><mn>0</mn><mo>,</mo></mrow>]]></math><img file="FDA0000541037980000013.GIF" wi="1067" he="73" /></maths><maths num="0004" id="cmaths0004"><math><![CDATA[<mrow><msub><mi>a</mi><mrow><mn>2</mn><mi>j</mi><mo>,</mo><mn>1</mn></mrow></msub><msub><mi>&Delta;Q</mi><mi>j</mi></msub><mo>+</mo><msub><mi>a</mi><mrow><mn>2</mn><mi>j</mi><mo>,</mo><mn>2</mn></mrow></msub><msub><mi>&Delta;A</mi><mi>j</mi></msub><mo>+</mo><msub><mi>a</mi><mrow><mn>2</mn><mi>j</mi><mo>,</mo><mn>3</mn></mrow></msub><msub><mi>&Delta;Q</mi><mrow><mi>j</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>+</mo><msub><mi>a</mi><mrow><mn>2</mn><mi>j</mi><mo>,</mo><mn>4</mn></mrow></msub><msub><mi>&Delta;A</mi><mrow><mi>j</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>+</mo><mi>R</mi><mrow><mo>(</mo><msubsup><mi>F</mi><mi>j</mi><mi>M</mi></msubsup><mo>)</mo></mrow><mo>=</mo><mn>0</mn><mo>,</mo></mrow>]]></math><img file="FDA0000541037980000014.GIF" wi="981" he="71" /></maths>上式中,<maths num="0005" id="cmaths0005"><math><![CDATA[<mrow><msub><mi>a</mi><mrow><mn>2</mn><mi>j</mi><mo>-</mo><mn>1,1</mn></mrow></msub><mo>=</mo><mo>&PartialD;</mo><msubsup><mi>F</mi><mi>j</mi><mi>C</mi></msubsup><mo>/</mo><mo>&PartialD;</mo><msub><mi>Q</mi><mi>j</mi></msub><mo>,</mo><msub><mi>a</mi><mrow><mn>2</mn><mi>j</mi><mo>-</mo><mn>1,2</mn></mrow></msub><mo>=</mo><mo>&PartialD;</mo><msubsup><mi>F</mi><mi>j</mi><mi>C</mi></msubsup><mo>/</mo><mo>&PartialD;</mo><msub><mi>A</mi><mi>j</mi></msub><mo>,</mo><msub><mi>a</mi><mrow><mn>2</mn><mi>j</mi><mo>-</mo><mn>1,3</mn></mrow></msub><mo>=</mo><mo>&PartialD;</mo><msubsup><mi>F</mi><mi>j</mi><mi>C</mi></msubsup><mo>/</mo><mo>&PartialD;</mo><msub><mi>Q</mi><mrow><mi>j</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>,</mo><msub><mi>a</mi><mrow><mn>2</mn><mi>j</mi><mo>-</mo><mn>1,4</mn></mrow></msub><mo>=</mo><mo>&PartialD;</mo><msubsup><mi>F</mi><mi>j</mi><mi>C</mi></msubsup><mo>/</mo><mo>&PartialD;</mo><msub><mi>A</mi><mrow><mi>j</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>,</mo></mrow>]]></math><img file="FDA0000541037980000015.GIF" wi="1585" he="78" /></maths><maths num="0006" id="cmaths0006"><math><![CDATA[<mrow><msub><mi>a</mi><mrow><mn>2</mn><mi>j</mi><mo>,</mo><mn>1</mn></mrow></msub><mo>=</mo><mo>&PartialD;</mo><msubsup><mi>F</mi><mi>j</mi><mi>M</mi></msubsup><mo>/</mo><mo>&PartialD;</mo><msub><mi>Q</mi><mi>j</mi></msub><mo>,</mo><msub><mi>a</mi><mrow><mn>2</mn><mi>j</mi><mo>,</mo><mn>2</mn></mrow></msub><mo>=</mo><mo>&PartialD;</mo><msubsup><mi>F</mi><mi>j</mi><mi>M</mi></msubsup><mo>/</mo><mo>&PartialD;</mo><msub><mi>A</mi><mi>j</mi></msub><mo>,</mo><msub><mi>a</mi><mrow><mn>2</mn><mi>j</mi><mo>,</mo><mn>3</mn></mrow></msub><mo>=</mo><mo>&PartialD;</mo><msubsup><mi>F</mi><mi>j</mi><mi>M</mi></msubsup><mo>/</mo><mo>&PartialD;</mo><msub><mi>Q</mi><mrow><mi>j</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>,</mo><msub><mi>a</mi><mrow><mn>2</mn><mi>j</mi><mo>,</mo><mn>4</mn></mrow></msub><mo>=</mo><mo>&PartialD;</mo><msubsup><mi>F</mi><mi>j</mi><mi>M</mi></msubsup><mo>/</mo><mo>&PartialD;</mo><msub><mi>A</mi><mrow><mi>j</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>,</mo></mrow>]]></math><img file="FDA0000541037980000016.GIF" wi="1560" he="78" /></maths>F<sup>C</sup>和F<sup>M</sup>分别表示连续方程和动量方程,<img file="FDA00005410379800000110.GIF" wi="125" he="69" />表示<img file="FDA0000541037980000019.GIF" wi="63" he="69" />余量,<img file="FDA0000541037980000017.GIF" wi="134" he="69" />表示<img file="FDA0000541037980000018.GIF" wi="62" he="59" />余量,下标j是断面编号,Δ表示两个连续Newton‑Raphson迭代步间的增量;5)将当前每一级水电站上游边界节点G<sub>i</sub>的水位Z<sub>Gi</sub>作为其上游河段的下边界条件,将当前每一级水电站下游边界节点H<sub>i</sub>的水位Z<sub>Hi</sub>作为其下游河段的上边界条件,根据步骤4)的线性离散方程组的系数矩阵对河道中所有水电站的上下游变量进行同步求解,求解出每一级水电站的与上游边界节点G<sub>i</sub>水位Z<sub>Gi</sub>对应的上游流量g<sub>1</sub>(Z<sub>Gi</sub>),以及与下游边界节点H<sub>i</sub>当前水位Z<sub>Hi</sub>对应的下游流量g<sub>2</sub>(Z<sub>Hi</sub>);6)将每一级水电站的上游流量g<sub>1</sub>(Z<sub>Gi</sub>)和下游流量g<sub>2</sub>(Z<sub>Hi</sub>)代入下式计算其相应的流量偏差ΔQ<sub>i</sub>:ΔQ<sub>i</sub>=g<sub>2</sub>(Z<sub>Hi</sub>)‑g<sub>1</sub>(Z<sub>Gi</sub>);7)检查每一级水电站的流量偏差是否满足ΔQ<sub>i</sub>=0:如果所有水电站的流量偏差均满足ΔQ<sub>i</sub>=0,进入步骤12);如果有水电站的流量偏差未满足ΔQ<sub>i</sub>=0,进入步骤8);8)计算每一级水电站的流量相对误差|ΔQ<sub>i</sub>/g<sub>1</sub>(Z<sub>Gi</sub>)|;9)将每一级水电站流量相对误差|ΔQ<sub>i</sub>/g<sub>1</sub>(Z<sub>Gi</sub>)|分别与给定误差范围进行比较:如果所有水电站的流量相对误差|ΔQ<sub>i</sub>/g<sub>1</sub>(Z<sub>Gi</sub>)|均小于等于给定误差范围,进入步骤12);如果有水电站的流量相对误差|ΔQ<sub>i</sub>/g<sub>1</sub>(Z<sub>Gi</sub>)|大于给定误差范围,进入步骤10);10)对于流量相对误差|ΔQ<sub>i</sub>/g<sub>1</sub>(Z<sub>Gi</sub>)|大于给定误差范围的水电站,其下游边界节点H<sub>i</sub>的当前水位Z<sub>Hi</sub>通过下式进行校正:Z<sub>Hi</sub>=Z<sub>Hi</sub>+ΔZ<sub>Hi</sub>上式中,ΔZ<sub>Hi</sub>与ΔQ<sub>i</sub>成线性关系;11)对于流量相对误差|ΔQ<sub>i</sub>/g<sub>1</sub>(Z<sub>Gi</sub>)|小于等于给定误差范围的水电站,其下游边界节点H<sub>i</sub>的当前水位Z<sub>Hi</sub>保持不变,返回步骤5);12)河道中梯级水电站的所有水电站下游流量与上游流量相同,结束。
地址 100084 北京市海淀区清华园1号清华大学水利系