发明内容
本发明的目的是提供一种考虑煤层各向异性的单组分气体在各向异性煤层中流动过程的计算方法。
本发明的目的是通过以下技术方案实现的:
本发明的单组分气体在各向异性煤层中流动过程的计算方法,其特征在于,包括:
煤中气体流动控制方程的模型表达式为:
式中:
由上述本发明提供的技术方案可以看出,本发明实施例提供的单组分气体在各向异性煤层中流动过程的计算方法,由于充分考虑煤层的各向异性,实现了单组分气体在各向异性煤层中流动过程的数值模拟。
具体实施方式
下面将对本发明实施例作进一步地详细描述。
本发明的单组分气体在各向异性煤层中流动过程的计算方法,其较佳的具体实施方式是:
包括:
煤中气体流动控制方程的模型表达式为:
式中:
忽略式4.73中的无穷小项可得:
在任意时间步内,求解式4.90的Gauss-Seidel迭代格式为:
式中i是第i个迭代步。
按以下基本假设:
煤中包含双重孔隙,分别是具有较大尺寸的节理和较小尺寸的孔隙,气体在节理中进行层流运动,其运动规律符合Darcy定律,气体在煤基质中进行扩散运动,其运动规律符合Fick定律;
煤中只含有单组分气体,其在节理和孔隙中以游离态存在,在节理和孔隙表面以吸附态存在;
节理中的气体为牛顿流体,其运动规律符合牛顿粘性定律;
气体在煤中进行的所有物理过程,包括层流、扩散、吸附和解吸,均是等温过程;
气体在煤中的吸附和解吸符合Langmuir等温吸附方程,且吸附和解吸是可逆过程;
煤的固体骨架固定不动,其变形速度为零;
不考虑Klinkenberg效应的影响。
本发明的单组分气体在各向异性煤层中流动过程的计算方法,模拟单组分气体在各向异性煤层中的流动过程。
具体实施例:
基本假设:
煤中包含双重孔隙,分别是具有较大尺寸的节理和较小尺寸的孔隙。气体在节理中进行层流运动,其运动规律符合Darcy定律。气体在煤基质中进行扩散运动,其运动规律符合Fick定律。
煤中只含有单组分气体,其在节理和孔隙中以游离态存在,在节理和孔隙表面以吸附态存在。
节理中的气体为牛顿流体,其运动规律符合牛顿粘性定律。
气体在煤中进行的所有物理过程(包括层流、扩散、吸附和解吸)均是等温过程。
气体在煤中的吸附和解吸符合Langmuir等温吸附方程,且吸附和解吸是可逆过程。
煤的固体骨架固定不动,其变形速度为零。
不考虑Klinkenberg效应的影响。
煤中气体流动控制方程:
单组分气体在煤中流动的连续性方程可表示为:
式中,mtotal是煤中气体的总质量,ρg是节理中游离态气体的密度,V是气体在节理中流动的Darcy速度矢量。
对于吸附性气体,其在煤中以游离态和吸附态两种状态存在,所以气体总质量mtotal可由下式表示
mtotal=ρgφbulk+msor=ρgφbulk+(1-MC-AC)ρcoalρstaVsor(4.2)
式中,msor是单位体积煤中的可燃基吸附的气体质量,MC(MoistureContent)是煤中水分的含量,AC(AshContent)是煤中灰分的含量,ρcoal是煤的真密度,ρsta是标准状态下气体的密度,Vsor是标准状态下单位体积可燃基吸附的气体体积。
Darcy速度矢量可由Darcy定律表示:
式中,μ是气体的动力粘度,K是渗透率张量,可由下式表示:
将式(2.22)代入式(4.2),再将式(4.4)代入式(4.3),然后将得到的两个表达式代入式(4.1)并整理得
节理中游离态气体的密度可由真实气体状态方程计算:
式中,Mg是气体的分子量,R是普适气体常数,z是压力p和温度T下气体的压缩因子(CompressibilityFactor)。
若假设煤基质与煤体相比不可压缩,则面孔隙率可由如下公式表示:
将式(4.6)-(4.9)代入式(4.5)并进一步整理得
式(4.10)即为单组分气体在煤中流动的控制方程,式中:
P=p2(4.11)
εeV=εex+εey+εez是有效应力变化引起的煤体的体积应变,在不同边界条件下,εeV可由不同的表达式计算。
单轴应变边界条件
在单轴应变边界条件下,由式(2.49)-(2.51)可知
则有效应力变化引起的煤体体积应变为:
恒定围压边界条件:
在恒定围压边界条件下,由式(2.56)可知
则有效应力变化引起的煤体体积应变为
恒定有效应力边界条件:
在恒定有效应力边界条件下,由式(2.59)可知
εex=εey=εez=0(4.22)
则有效应力变化引起的煤体体积应变为
εeV=0(4.23)
恒定孔隙压力边界条件
在恒定孔隙压力边界条件下,由式(2.62)可知
则有效应力变化引起的煤体体积应变为
流动控制方程的三维非均匀网格有限差分方程:
差分方程的建立:
取一尺寸为X×Y×Z的长方体表示煤层,在时间域(0,T)内,煤中单组分气体流动可表示为如下方程组的初边值问题
p|t=0=p0(x,y,z)∈Ω(4.44)
将时间域划分成均匀的H段,每一段时间用时间步Δt表示,则有
将空间域沿x、y、z轴方向分划分成L、M、N段,其中在同一坐标轴方向的空间步非均匀分布。在x轴方向,第l个空间步用Δxl表示,在y轴方向,第m个空间步用Δym表示,在z轴方向,第n个空间步用Δzn表示。则有
Δxl=xl-xl-10<l≤L(4.50)
Δym=ym-ym-10<m≤M(4.51)
Δzn=zn-zn-10<n≤N(4.52)
式中,xl是模型在x轴方向第l+1个网格节点的坐标,ym是模型在y轴方向第m+1个网格节点的坐标,zn是模型在z轴方向第n+1个网格节点的坐标。
在(h+1/2)Δt时刻,在(xl,ym,zn)处对式(4.43)进行时间和空间离散化可得
式(4.53)中仍包含偏微分项,无法直接求解,需将其继续离散化成可求解的代数方程。
二次偏微分项的空间离散化:
对于二次偏微分项的空间离散化,根据Taylor级数有
式中i表示x、y或z,j表示l、m或n。
式(4.54)减式(4.55)并进一步整理得
式中,Δi=max0≤j≤J-1(Δij,Δij+1)
将式(4.56)代入式(4.53)并进一步整理得
一次偏微分项的空间离散化:
对于一次偏微分项的空间离散化,根据Taylor级数有
式(4.58)减(4.59)并进一步整理得
将式(4.60)代入式(4.57)并进一步整理得
非偏微分项的空间离散化:
对于非偏微分项的空间离散化,根据Taylor级数有
式(4.62)加式(4.63)并进一步整理得
将式(4.64)代入式(4.61)并进一步整理得
偏微分项的时间离散化:
对于偏微分项的时间离散化,根据Taylor级数有
式(4.66)减式(4.67)并进一步得
同理可得
将式(4.68)-(4.70)代入式(4.65)并进一步整理得
非偏微分项的时间离散化:
式(4.58)加式(4.59)并进一步整理得
式中,U表示P、CP、kx、ky、kz、p和z等未知量。
将式(4.72)代入式(4.71)并进一步整理得
式中
忽略式(4.73)中的无穷小项可得
式(4.90)即为单组分气体在煤中流动控制方程(4.43)的三维非均匀网格有限差分方程,该差分方程的精度为O[(Δt)2+(Δx)2+(Δy)2+(Δz)2],说明差分方程在时间和空间都具有二阶精度。在式(4.90)中 和称为系数矩阵(CoefficienttMatrix)。
气体在煤基质中的扩散:
式(4.88)中,未知,该项代表了吸附态气体在煤基质中的扩散。本文假设气体在煤基质中的扩散符合准静态扩散模型[191](Quasi-SteadyDiffusionModel),该模型可由下式表示
式中,τ是扩散时间,Veq是煤基质吸附的气体体积,可由Langmuir等温吸附方程计算。
假设在一个时间步内,吸附平衡状态下煤基质吸附的气体体积不变,则对式(4.91)积分可得
进一步整理式(4.92)可得
由式(4.72)可知
将式(4.94)代入式(4.93)并进一步整理得
将式(4.95)代入式(4.88)并进一步整理得
差分方程的数值解法:
式(4.90)是隐式差分方程,因此无法直接求解,只能通过迭代法求解。求解差分方程常用的迭代方法有Jacobi迭代法和Gauss-Seidel迭代法,其中Gauss-Seidel迭代法的收敛速度比Jacobi法快[234],因此本文应用Gauss-Seidel迭代法求解煤中气体流动控制方程的有限差分方程。
在任意时间步内,求解式(4.90)的Gauss-Seidel迭代格式为
式中i是第i个迭代步。
SGFC程序功能介绍:
SGFC的全称是SimulatorforGasFlowinCoal,该程序以本文中建立的单组分气体在煤中流动的三维有限差分数值模型为基础,专为模拟单组分气体在煤中的流动而开发。SGFC是由C++开发的WIN32控制台程序,通过命令方式控制参数赋值、初始条件与边界条件设置、算法选择和结果输出等功能。在SGFC中,气体在煤基质中的扩散由准静态扩散模型计算,压缩因子由Peng-Robinson状态方程计算SGFC可用于模拟单组分气体的稳态法渗透率实验、瞬态法渗透率实验以及煤层气干气开采过程。
SGFC中设置了单轴应变和恒定围压两种力学边界条件,其中单轴应变边界条件适用于模拟煤层气干气开采过程,恒定围压边界条件适用于模拟单组分气体的煤渗透率实验。
为了提高计算效率并满足不同的计算需求,SGFC内置了隐式和显式两种算法。隐式算法是指在计算过程中,在每一个迭代步后重新计算应变、面孔隙率、渗透率和压缩因子,并重新计算系数矩阵,显式算法是在每一个时间步结束后才重新计算应变、面孔隙率、渗透率和压缩因子以及系数矩阵。隐式算法的计算时间长,计算效率低,但对时间步长的容忍度大,在时间步长较大时仍能保证计算结果收敛,计算结果对时间步的依赖性也较小。显式算法的计算时间短,计算效率较高,但是在大时间步长时计算结果容易不收敛。
SGFC中可设置观测点和观测面,用于记录关键参数在重点区域的变化规律。程序可以输出不同时刻观测点的数据和某一时刻观测面上的数据,包括孔隙压力、面孔隙率、渗透率和残存CH4含量,还可以输出煤层气开采中的开采流量和稳态法渗透率实验中的进气流量与出气流量。输出的文件为TXT格式,应用其它商用程序可将输出的数据可视化。
开发流程:
SGFC的开发流程如图1所示,详细的开发流程如下:
生成网格。
参数赋值:此步骤为一些计算所需的常数进行赋值,例如Langmuir吸附量和应变常数、内膨胀应变系数、杨氏模量和泊松比等。
设置初始条件:此步骤为各节点的面孔隙率、渗透率和孔隙压力赋初始值。
设置流动边界条件:根据模型的情况,为各边界节点设置不同的流动边界条件。
设置力学边界条件:此步骤将模型的力学边界设置为特定的边界条件,如单轴应变条件和恒定围压条件。根据这里设置的力学边界条件,后续计算应变、面孔隙率和渗透率时选择相应的公式。
设置时间步长:此步骤设置单个计算的时间步长和总的计算步数。
选择算法:SGFC设置了显式和隐式两种算法,根据不同的计算需求选择合适的算法。
计算变量矩阵:
根据各参数值和相应的公式,计算变量矩阵中各个元素的值,也就是各节点处变量的值,如应变、面孔隙率、渗透率和压缩因子等。
计算系数矩阵:根据各参数值、变量值和相应的公式,计算系数矩阵中各个元素的值。
计算孔隙压力平方:根据Gauss-Seidel迭代法计算各节点的孔隙压力平方。
计算孔隙压力:根据得到的孔隙压力平方计算各节点的孔隙压力。
判断孔隙压力平方相对误差是否小于10-5:通过与上一个迭代步的孔隙压力平方值对比判断孔隙压力平方的相对误差是否小于10-5。若相对误差小于10-5,说明迭代收敛,该迭代步结束。若相对误差不小于10-5,则说明迭代不收敛,迭代需继续进行。对于隐式算法,程序返回至计算变量矩阵。对于显式算法,程序返回至计算孔隙压力平方。
SGFC程序组成:
SGFC由九个类(Class)和一个主函数(MainFunction)组成,每个类负责定义不同的功能,最后通过主函数将不同的类组合成完整有序的程序。表1列举了这些类和主函数的名称和功能。
表1SGFC包含的类和主函数
Tab.5.1ClassesandthemainfunctiondefinedinSGFC
本发明实现了单组分气体在各向异性煤层中流动的数值模拟。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明披露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。