如何加快数模计算以及如何解决数模计算的收敛性问题

在了解收敛性之前,应该首先了解几个基本概念:
(1)
。报告步: 一个数模作业包括多个报告步,报告步是用户设置要求多长时间输出 运行报告,比如可以每个月,每季度或每年输出运行报告,运行报告包括产量报告 和动态场(重启)报告。
(2)
。时间步: 一个报告步包括多个时间步,时间步是软件自动设置,即通过多个时间步的计算来达到下一个报告步,以ECLIPSE为例,假如报告 步为一个月,在缺省条件下,ECLISPE第一个时间步取一天,然后以三倍增加,即第二个时间步取三天,然后取九天,下一个时间步是17天来达到30天的报告步,然后会以每30天的时间步来计算。时间步可以通过TUNING关键字来修改。
(3)
。非线形迭代:一个时间步包括多次非线形迭代。在缺省情况下,ECLIPSE如果 通过12次的非线形迭代没有收敛,ECLIPSE将对时间步减小10倍。比如下一个时间 步应该是30天,如果通过12次的迭代计算不能达到收敛,ECLIPSE将把时间步缩短为3天。下一个时间步将以1.25倍增长,即3.75天,4.68天,。。。。如果在计算 过程中经常发生时间步的截断,计算将很慢。
(4)
。线形迭代: 一个非线形迭代包括多次线形迭代。线形迭代是解矩阵。
ECLIPSE输出报告PRT文件中可以找到时间步,迭代次数的信息,比如:
STEP 10 TIME= 100.00 DAYS ( +10.0 DAYS REPT 5 ITS) (1-FEB -2008)
“STEP 10” :
说明这是第10个时间步。
“TIME= 100.00 DAYS”
说明现在模拟到第100天。
“+10.0 DAYS”
说明这个时间步是10天。
“REPT"
说明为什么选10天做为时 间步,REPT是指由于到了下一个报告步。
“5 ITS":
说明此10天时间步需 5次非线形迭代。
”(1-FEB-2008)“
现在的模拟时间。
模拟计算的时间取决于时间步的大小,如果模型没有发生时间步的截断而且能保持长的时间步,那表明该模型没有收敛性问题,反之如果经常发生时间步截断 ,那模型计算将很慢,收敛性差。时间步的大小主要取决于非线形迭代次数。如果 模型只用一次非线形迭代计算就可以收敛,那表明模型很容易收敛,如果需要23 次,模型较易收敛,如果需要49次,那模型不易收敛,大于10次的化模型可能有 问题,如果大于12次,时间步将截断。
模型不收敛的原因很多,网格参数,属性参数,流体PVT参数,岩石相渗曲 线,毛管压力曲线,相渗曲线端点标定,初始化,井轨迹,垂直管流表都会造成模 型不收敛,下面分别介绍各部分如何造成不收敛及如何解决。
(1)
。网格部分:
网格正交性差和网格尺寸相差太大是导致不收敛的主要原因之一。正交性差 会给矩阵求解带来困难,而网格尺寸相差大会导致孔隙体积相差很大,大孔隙体积 流到小孔隙体积常会造成不收敛。
解决办法:
网格正交性差通常是在建角点网格时为描述断层或裂缝的走向而造成的。在 此情况下,最好能使边界与主断层或裂缝走向平行,这样一方面网格可以很好地描 述断层或裂缝,另一方面正交性也很好。
在平面上最好让网格大小能够较均匀,在没有井的地方网格可以很大,但最 好能够从大到小均匀过渡。纵向上有的层厚,有的薄,最好把厚层能再细分。在检 查模型时应该每层每层都在三维显示中检查。
径向局部网格加密时里面最小的网格不要太小。
ECLIPSE里用MINPV关键字可以把小于设定孔隙体积的网格设为死网格,这样通常会有用。
(2)
。属性参数:
不合理的插值计算会导致属性分布很差,如果是从地质模型粗化为数模模型,通常问题不大,只是有时候数模人员自己插值时会有问题。
解决办法:
有可能尽量用地质模型的数据,自己插值时可以加一些控制点使属性合理分 布。X,Y方向的渗透率最好相等或级差不大。在井连通网格的Z方向渗透率不要设为 0,如果想控制垂向流动,可给一个很小的值。
(3)
。流体PVT参数
流体PVT参数会有两种可能的问题,一是数据不合理导致了负总压缩系数, 二是压力或气油比范围给的不够导致模型对PVT参数进行了外插。
解决办法:
检查PRT文件中的WARNING信息,如果在油藏压力范围内有负总压缩系数的警 告,应该修改PVT参数,否则的化会有收敛性问题。如果负总压缩系数是在油藏压力范围之外,可以忽略该警告。此部分的修改主要可以小规模修改油和气的FVF RS
(4)
。岩石相渗曲线和毛管压力曲线。
通常的问题有:
饱和度和相对渗透率的数据位数过多。
饱和度值太接近,导致相渗曲线的倾角变化很大。
饱和度有很小变化但相对渗透率发生了很大变化。
解决办法:
饱和度和相对渗透率最多给两位小数就够了。
检查相渗曲线的导数(可以应用ECLIPSE中的SCAL模块),导数要光滑。
临界饱和度和束缚饱和度设为不同的值。
(5)
。端点标定:
在应用端点标定时,有时标定完后的相渗曲线倾角很大,标定后的毛管了很 大。
解决办法:
在三维显示中检查标定完的PCW,可以给PCW一个最大值来控制毛管压力。
输出每个网格标定后的相渗曲线进行检查。
(6)
。初始化:
初始化最容易发生的问题是在初始时模型不稳定,流体在初始条件下就会发 生流动,这也会导致模型不收敛。造成模型初始不稳定的主要有:
手工通过网格饱和度和压力值。
拟合初始含水饱和度。
解决办法:
尽量不要直接为网格赋压力和饱和度值,尽量由模型通过油水界面及 参考压力来进行初始化计算。
要想拟合地质提供的初始含水饱和度分布,应该进行毛管压力的端点 标定,这样毛管压力会稳住每个网格的水,在初始条件下不会流动。
可以通过让模型在没有任何井的情况下计算十年来检查初始条件下模 型是否稳定,如果10年的计算模型压力和饱和度都由说明变化,说明模型初始是稳 定的。=
(7)
。井轨迹:
在进行井处理时井可能以之字型在网格中窜过,有可能发生井的实际窜过 方向与模型关键字定义的方向不符,这也会导致不收敛。
解决办法:
在三维显示中检查井轨迹。
如果井已经关掉,在模拟时不要给零产量,要用关键字把井关掉
检查井射孔,井不要射在孤立的网格上。
(8)
:垂直管流曲线:
有了垂直管流曲线很容易导致模型不收敛,这有两种可能:
曲线有交叉。
曲线发生了外插。
解决办法:
用前处理软件(ECLIPSE中的VFPi)检查曲线。
ECLIPSE中加EXTRAPMS关键字可以要求输出如果发生VFP插值后的警告信息。
曲线应该覆盖所有井口压力,含水,油气比及产量。

11。结束语
黑油模型数值模拟入门指南先写到这里,其实还有许多没有写道。以后有时间可以再补充。下一步计划写一写组分模型入门指南。组分比黑油要复杂的多。当然关键是状态方程,希望可以早日动手

原文地址:https://www.cnblogs.com/shihao/p/2375156.html