一种高效模拟大型天然气管网流动传热的方法

文档序号:28602567发布日期:2022-01-22 11:35阅读:201来源:国知局
一种高效模拟大型天然气管网流动传热的方法

1.本发明涉及天然气管网数值模拟领域,具体为一种高效模拟大型天然气管网流动传热的方法。


背景技术:

2.油气领域关系着我国的军民生活,随着经济的快速发展,我国对石油天然气类能源的需求越来越大,因此安全可靠的天然气管网建设更是关系着我国能源转型的关键因素之一。而建设安全可靠的天然气管网建设离不开准确高效的模拟气体在管网内的流动状态,如压力、流量、温度等。目前的管网模拟算法存在计算量大(牛顿迭代法或线性化方法等,需要计算雅可比矩阵,导致计算量过大)、离散系数矩阵求解速度慢(离散系数矩阵为大型不规则稀疏矩阵,通过迭代法求解)等因素,导致整体模拟速度慢,无法应用于大型天然气管网的模拟需求。


技术实现要素:

3.本发明的目的是提出一种高效模拟大型天然气管网流动传热的的方法,本方法结合离散矩阵的稀疏性与管网结构特点,利用循环三对角矩阵求解算法与开源向量库,构建了管网中管道节点分开模拟的方法,从而加快了计算速度。
4.为达到上述目的,本发明采用以下技术方案:
5.一种高效模拟大型天然气管网流动传热的方法,包括以下步骤:
6.获取天然气管网的管网参数,该管网参数包括时间、管道轴向长度、管道直径、管道倾角、流入或流出管道的流体质量源、以及流体与环境之间的总换热系数;
7.建立天然气管网的一维控制方程,包括连续方程、动量方程和能量方程,并利用高斯定理将控制方程转换为积分形式;
8.根据管道的轴向长度,通过构建主网格和交错网格对天然气管网的所有管道进行离散;
9.对离散后的管道采用一阶迎风格式,将积分形式的控制方程在每个网格上进行离散,包括动量方程在交错网格上离散,连续方程和能量方程在主网格上离散;
10.将所有网格上的离散的控制方程中的系数根据网格顺序排列,得到一个类三对角的系数矩阵;
11.将天然气管网中的所有管道所对应的系数矩阵进行分块,每条管道所对应的系数矩阵分为一个块;
12.按照块提取每条管道所对应的系数矩阵,得到类循环三对角矩阵;并基于该类循环三对角矩阵进行快速求解,得到管道的两个端点和内部点的函数变化解;
13.利用函数变化解删除分块的系数矩阵中所有普通三对角矩阵元素,得到不规则稀疏矩阵;并采用稳定双共轭梯度法来求解该不规则稀疏矩阵,得到每条管道的端点值;
14.将每条管道的端点值代入到所述函数变化解中,得到每条管道的内部点值,由每
条管道的端点值和内部点值构成天然气管网的解,实现对天然气管网流动传热模拟。
15.进一步地,构建主网格和交错网格的方法为:从每条管道的起点开始,以一预设长度为单位对整条管道进行划分,则划分出来的网格即为主网格;以两个相邻的主网格的中点为两边界,将该两边界内的区域作为一个交错网格。
16.进一步地,当在管道交汇处构建主网格和交错网格时,主网格设置在管道交汇处,交错网格设置在管道内部并与主网格错开半个网格。
17.进一步地,基于向量化函数库,迭代计算流体与管道之间的摩阻系数。
18.进一步地,利用simple算法,通过时间推进方法求解管网中流体速度、流体压力、流体速度、流体内能、流体焓以及流体温度参数随时间的变化数据。
19.本发明方法通过采用分离算法求解天然气管网控制方程,避免了耦合算法需要计算雅可比矩阵导致的计算量过大问题。再结合管网离散方程的特点,利用循环三对角矩阵快速求解算法将管网中的节点与管道解耦,在可以充分利用追赶法快速求解的特性的基础上,保证了管网中管道之间的正确联系。最后再利用开源向量化工具,加快非四则运算的速度,从而进一步加快求解速度。通过以上方法,形成了高效快速的大型天然气管网模拟方法。实验结果表明,本方法可以大幅提高模拟速度,其模拟速度是商业软件sps的5-40倍,能够满足现场的需求。可应用于大型天然气管网的瞬态计算,服务于工业中的工艺设计、生产效率改进及节能降耗等方面。
附图说明
20.图1是使用交错网格对管网中管道进行离散图。
21.图2是管网节点采用离散网格图。
22.图3是类三对角的稀疏矩阵图。
23.图4是将稀疏矩阵进行分块图。
24.图5是类循环三对角矩阵图。
25.图6是管网拓扑结构图。
26.图7是管网入口流量变化趋势对比图。
27.图8是不同网格下的商业软件sps耗时与本发明模拟的耗时比图。
具体实施方式
28.为使本发明的技术方案能更明显易懂,特举实施例并结合附图详细说明如下。
29.由于管道在轴向长度远大于管道直径,因此建立一维控制方程,包括连续方程、动量方程与能量方程:
30.连续方程为:动量方程为:能量方程为:其中t表示时间,x表示管道轴向长度,ρ表示流体密度,u表示流体速度,表示流入或流出管道的流体质量源,p表示流体压力,g表示重力加速度,θ表示管道倾角,λ表示流体与管道之间的摩阻系数,d表示管道直径,e表示流体内能,h表示流体焓,k表示流体与环境之间的总换热系数,te表示环境温度,t表示流体温度,a表示
管道横截面积。
31.流体与管道之间的摩阻系数λ采用柯列勃洛克公式:
[0032][0033]
其中ke为管道绝对粗糙度,re为雷诺数。
[0034]
利用高斯定理,将控制方程转换为积分形式,即利用高斯定理,将控制方程转换为积分形式,即以及以及其中v表示管道体积,a表示管道横截面积。
[0035]
根据管道轴向长度,构建图1所示的主网格和交错网格对管网中所有管道进行离散,图1中,p表示当前节点,w表示西边节点,e表示东边节点,w表示西边界面,e表示东边界面。构建网格的方法为:从管道起点开始,采用一预设长度例如100~1000m为单位对整个管道进行划分,得到覆盖整条管道的虚拟网格,即为主网格(图1中相邻两条实线之间为一个主网格);将主网格中的中点(例如p点)为边界,则每两个相邻中点表示一个交错网格。
[0036]
管网节点离散采用如图2所示离散网格。将主网格设置在管道交汇处,交错网格设置在管道内部(即不设置在管道交汇处),来避免速度在节点处出现多于两个方向的问题,即只有向前或向后的两个流动方向。图2中,实线框表示主网格,虚线框表示交错网格,数字表示网格界面,字母表示主网格中心。
[0037]
在管道离散的基础上,采用一阶迎风格式(网格界面处需要但不在界面处而在节点处的量,采用来流方向上游节点处的值来代替)将积分形式的控制方程在每个网格上进行离散。其中动量方程在交错网格(见图1实线网格)上离散;将连续方程与能量方程在主网格(见图1虚线网格)上离散。
[0038]
将所有网格上的离散的控制方程中的系数根据网格顺序排列,可得到一个类三对角的系数矩阵,如图3所示。
[0039]
根据每条管道将图3所示的系数矩阵进行分块,即将管网中的每条管道对应的方程系数分为一块,如图4所示。
[0040]
提取某条管道对应的系数矩阵(如图4中的某个虚线框),可得如图5所示的类循环三对角矩阵(标准三对角矩阵中基础上,第一行与最后一行有非零元素在非三对角上),其特征是除两个端点外,剩余矩阵为普通三对角矩阵。因此基于类循环三对角矩阵的快速求解算法,将两个端点(起点和终点)作为未知量,求解出管道两个端点(起点和终点)与内部点(除起点和终点以外的点)的函数变化解。求解过程如下:设某条管道的某个解用[x1,x2,

,x
n-1
,xn]来表示,且x1、xn为两个端点的解,则通过基于类循环三对角矩阵求解(求解内部三对角方程)可得到内部点的解为:x2=s2+a2x1+b2xn,

,x
n-1
=s
n-1
+a
n-1
x1+b
n-1
xn,其中s表示x1=0、xn=0的解、a表示x1=1、xn=0的解、b表示x1=0、xn=1的解。
[0041]
随后,删除图4所示的所有普通三对角矩阵元素,得到矩阵阶数大幅降低从而使得矩阵条件数也大幅降低的不规则稀疏矩阵,并采用稳定双共轭梯度法(bicgstab)来求解此不规则稀疏矩阵,最终得到每条管道的端点值。然后代入上一步得到的管道两个端点与内部点的函数变化解x2=s2+a2x1+b2xn,

,x
n-1
=s
n-1
+a
n-1
x1+b
n-1
xn中,得到内部点的值,最终得
到整个管网的解。
[0042]
由于在计算动量方程中的摩阻系数λ(摩阻项)时用到了隐式方程柯列勃洛克公式需要用到迭代法来求解,且该方程中又含有对数、开方等耗时操作,再结合在计算过程中,存在大量相同的操作,因此在计算摩阻时,利用基于硬件加速的开源向量化函数库(如python中的numpy等)来进一步加速求解速度,例如引入相应的向量化函数库,并将需要对数、开方的所有数据组成一个新数组并传入向量化函数库对应的函数来计算所需数据的对数、开方。
[0043]
利用simple算法,通过时间推进方法求解管网中流体速度、流体压力、流体速度、流体内能、流体焓、流体温度等参数随时间的变化数据。
[0044]
下面通过某管网算例来说明本发明的提速效果:图6为管网拓扑结构图,图7为模拟结果对比图,可以看出模拟结果基本相同,误差在可接受范围内;图8为加速比,可以看出加速效果非常显著,在5~40倍左右。结合现场实际应用时网格步长可取500m(500m对应图8中的第一个点)可知,本发明比商业软件快40倍左右,完全可以满足工业需求。
[0045]
以上实施例仅用以说明本发明的技术方案而非对其进行限制,本领域的普通技术人员可以对本发明的技术方案进行修改或者等同替换,本发明的保护范围以权利要求所述为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1