如何加快数模计算以及如何解决数模计算的收敛性问题?
来源:学生作业帮 编辑:神马作文网作业帮 分类:物理作业 时间:2024/11/12 15:10:06
如何加快数模计算以及如何解决数模计算的收敛性问题?
模型不收敛的原因很多,网格参数,属性参数,流体PVT参数,岩石相渗曲线,毛管压力曲线,相渗曲线端点标定,初始化,井轨迹,垂直管流表都会造成模型不收敛,下面分别介绍各部分如何造成不收敛及如何解决.
1:网格部分:
网格正交性差和网格尺寸相差太大是导致不收敛的主要原因之一.正交性差会给矩阵求解带来困难,而网格尺寸相差大会导致孔隙体积相差很大,大孔隙体积流到小孔隙体积常会造成不收敛.
解决办法:
网格正交性差通常是在建角点网格时为描述断层或裂缝的走向而造成的.在此情况下,最好能使边界与主断层或裂缝走向平行,这样一方面网格可以很好地描述断层或裂缝,另一方面正交性也很好.
在平面上最好让网格大小能够较均匀,在没有井的地方网格可以很大,但最好能够从大到小均匀过渡.纵向上有的层厚,有的薄,最好把厚层能再细分.在检查模型时应该每层每层都在三维显示中检查.径向局部网格加密时里面最小的网格不要太小.
在ECLIPSE里用MINPV关键字可以把小于设定孔隙体积的网格设为死网格,这样通常会有用.
2:属性参数:
不合理的插值计算会导致属性分布很差,如果是从地质模型粗化为数模模型,通常问题不大,只是有时候数模人员自己插值时会有问题.
解决办法:
有可能尽量用地质模型的数据,自己插值时可以加一些控制点使属性合理分布.X,Y方向的渗透率最好相等或级差不大.在井连通网格的Z方向渗透率不要设为0,如果想控制垂向流动,可给一个很小的值.
3:流体PVT参数
流体PVT参数会有两种可能的问题,一是数据不合理导致了负总压缩系数,二是压力或气油比范围给的不够导致模型对PVT参数进行了外插.
解决办法:
检查PRT文件中的WARNING信息,如果在油藏压力范围内有负总压缩系数的警告,应该修改PVT参数,否则的化会有收敛性问题.如果负总压缩系数是在油藏压力范围之外,可以忽略该警告.此部分的修改主要可以小规模修改油和气的FVF和RS.关于ECLIPSE如何计算负总压缩系数,参照ECLIPSE技术手册第936页.
在ECLIPSE中加EXTRAPMS关键字可以要求输出如果发生PVT插值后的警告信息.在提供PVT表时,压力应该覆盖所有范围,包括注水后的压力上升.RS值也应该考虑到气在油中的重新溶解.
4:岩石相渗曲线和毛管压力曲线.
ECLIPSE不会对输入模型的相渗曲线和毛管压力曲线进行光滑,将会应用每一个输入饱和度和相渗值,所以要保证输入的参数是合理的.通常的问题有:
(1): 饱和度和相对渗透率的数据位数过多.
(2): 饱和度值太接近,导致相渗曲线的倾角变化很大.
(3): 饱和度有很小变化但相对渗透率发生了很大变化.
解决办法:
(1):饱和度和相对渗透率最多给两位小数就够了.
(2):检查相渗曲线的导数? 梢杂τ肊CLIPSE中的SCAL模块),导数要光滑.
(3):将临界饱和度和束缚饱和度设为不同的值.
5:端点标定:
在应用端点标定时,有时标定完后的相渗曲线倾角很大,标定后的毛管了很大.
解决办法:
在三维显示中检查标定完的PCW,可以给PCW一个最大值来控制毛管压力.
输出每个网格标定后的相渗曲线进行检查.
6:初始化:
初始化最容易发生的问题是在初始时模型不稳定,流体在初始条件下就会发生流动,这也会导致模型不收敛.造成模型初始不稳定的主要有:
(1) 手工赋网格饱和度和压力值.
(2)拟合初始含水饱和度.
解决办法:
(1)尽量不要直接为网格赋压力和饱和度值,尽量由模型通过油水界面及参考压力来进行初始化计算.
(2)要想拟合地质提供的初始含水饱和度分布,应该进行毛管压力的端点标定,这样毛管压力会稳住每个网格的水,在初始条件下不会流动.
(3)可以通过让模型在没有任何井的情况下计算十年来检查初始条件下模型是否稳定,如果10年的计算模型压力和饱和度度没有变化,说明模型初始是稳定的.
7:井轨迹:
在进行井处理时井可能以之字型在网格中窜过,有可能发生井的实际窜过方向与模型关键字定义的方向不符,这也会导致不收敛.
解决办法:
(1) 在三维显示中检查井轨迹.
(2) 如果井已经关掉,在模拟时不要给零产量,要用关键字把井关掉.
(3) 检查井射孔,井不要射在孤立的网格上.
8:垂直管流曲线:
有了垂直管流曲线很容易导致模型不收敛,这有两种可能:
(1)曲线有交叉.
(2)曲线发生了外插.
解决办法:
(1) 用前处理软件(ECLIPSE中的VFPi)检查曲线.
(2)在ECLIPSE中加EXTRAPMS关键字可以要求输出如果发生VFP插值后的警告信息.
(3)曲线应该覆盖所有井口压力,含水,油气比及产量.
(4)在ECLIPSE用WVFPEXP.
9:其他解决办法:
如果模型数据没有问题,可以调整模拟器的收敛计算参数,对于ECLIPSE,可以做以下调整:
(1)调整TUNING中的最大时间步.如果模型每计算到30天就会截断时间步,可以将最大时间步调整为20天,这样计算会快很多.
(2)调整TUNING中的最大线形迭代次数到70次.
(3)降低TUNING中的线形收敛误差标准
(4)对于组分模型用FREEZEPC和DPCDT.
1:网格部分:
网格正交性差和网格尺寸相差太大是导致不收敛的主要原因之一.正交性差会给矩阵求解带来困难,而网格尺寸相差大会导致孔隙体积相差很大,大孔隙体积流到小孔隙体积常会造成不收敛.
解决办法:
网格正交性差通常是在建角点网格时为描述断层或裂缝的走向而造成的.在此情况下,最好能使边界与主断层或裂缝走向平行,这样一方面网格可以很好地描述断层或裂缝,另一方面正交性也很好.
在平面上最好让网格大小能够较均匀,在没有井的地方网格可以很大,但最好能够从大到小均匀过渡.纵向上有的层厚,有的薄,最好把厚层能再细分.在检查模型时应该每层每层都在三维显示中检查.径向局部网格加密时里面最小的网格不要太小.
在ECLIPSE里用MINPV关键字可以把小于设定孔隙体积的网格设为死网格,这样通常会有用.
2:属性参数:
不合理的插值计算会导致属性分布很差,如果是从地质模型粗化为数模模型,通常问题不大,只是有时候数模人员自己插值时会有问题.
解决办法:
有可能尽量用地质模型的数据,自己插值时可以加一些控制点使属性合理分布.X,Y方向的渗透率最好相等或级差不大.在井连通网格的Z方向渗透率不要设为0,如果想控制垂向流动,可给一个很小的值.
3:流体PVT参数
流体PVT参数会有两种可能的问题,一是数据不合理导致了负总压缩系数,二是压力或气油比范围给的不够导致模型对PVT参数进行了外插.
解决办法:
检查PRT文件中的WARNING信息,如果在油藏压力范围内有负总压缩系数的警告,应该修改PVT参数,否则的化会有收敛性问题.如果负总压缩系数是在油藏压力范围之外,可以忽略该警告.此部分的修改主要可以小规模修改油和气的FVF和RS.关于ECLIPSE如何计算负总压缩系数,参照ECLIPSE技术手册第936页.
在ECLIPSE中加EXTRAPMS关键字可以要求输出如果发生PVT插值后的警告信息.在提供PVT表时,压力应该覆盖所有范围,包括注水后的压力上升.RS值也应该考虑到气在油中的重新溶解.
4:岩石相渗曲线和毛管压力曲线.
ECLIPSE不会对输入模型的相渗曲线和毛管压力曲线进行光滑,将会应用每一个输入饱和度和相渗值,所以要保证输入的参数是合理的.通常的问题有:
(1): 饱和度和相对渗透率的数据位数过多.
(2): 饱和度值太接近,导致相渗曲线的倾角变化很大.
(3): 饱和度有很小变化但相对渗透率发生了很大变化.
解决办法:
(1):饱和度和相对渗透率最多给两位小数就够了.
(2):检查相渗曲线的导数? 梢杂τ肊CLIPSE中的SCAL模块),导数要光滑.
(3):将临界饱和度和束缚饱和度设为不同的值.
5:端点标定:
在应用端点标定时,有时标定完后的相渗曲线倾角很大,标定后的毛管了很大.
解决办法:
在三维显示中检查标定完的PCW,可以给PCW一个最大值来控制毛管压力.
输出每个网格标定后的相渗曲线进行检查.
6:初始化:
初始化最容易发生的问题是在初始时模型不稳定,流体在初始条件下就会发生流动,这也会导致模型不收敛.造成模型初始不稳定的主要有:
(1) 手工赋网格饱和度和压力值.
(2)拟合初始含水饱和度.
解决办法:
(1)尽量不要直接为网格赋压力和饱和度值,尽量由模型通过油水界面及参考压力来进行初始化计算.
(2)要想拟合地质提供的初始含水饱和度分布,应该进行毛管压力的端点标定,这样毛管压力会稳住每个网格的水,在初始条件下不会流动.
(3)可以通过让模型在没有任何井的情况下计算十年来检查初始条件下模型是否稳定,如果10年的计算模型压力和饱和度度没有变化,说明模型初始是稳定的.
7:井轨迹:
在进行井处理时井可能以之字型在网格中窜过,有可能发生井的实际窜过方向与模型关键字定义的方向不符,这也会导致不收敛.
解决办法:
(1) 在三维显示中检查井轨迹.
(2) 如果井已经关掉,在模拟时不要给零产量,要用关键字把井关掉.
(3) 检查井射孔,井不要射在孤立的网格上.
8:垂直管流曲线:
有了垂直管流曲线很容易导致模型不收敛,这有两种可能:
(1)曲线有交叉.
(2)曲线发生了外插.
解决办法:
(1) 用前处理软件(ECLIPSE中的VFPi)检查曲线.
(2)在ECLIPSE中加EXTRAPMS关键字可以要求输出如果发生VFP插值后的警告信息.
(3)曲线应该覆盖所有井口压力,含水,油气比及产量.
(4)在ECLIPSE用WVFPEXP.
9:其他解决办法:
如果模型数据没有问题,可以调整模拟器的收敛计算参数,对于ECLIPSE,可以做以下调整:
(1)调整TUNING中的最大时间步.如果模型每计算到30天就会截断时间步,可以将最大时间步调整为20天,这样计算会快很多.
(2)调整TUNING中的最大线形迭代次数到70次.
(3)降低TUNING中的线形收敛误差标准
(4)对于组分模型用FREEZEPC和DPCDT.