收敛与加快计算

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

上周收到的问题大多数是关于如何解决模型收敛性问题以及如何加快模型的计算。

收敛性问题可以说是所有从事数模工作的人员都会面临的问题,本文将以ECLIPSE软件为例从两方面介绍收敛性问题。

第一方面介绍数值模拟计算与收敛有关的一些概念。

第二部分介绍如何通过修改模型数据来加速计算,解决收敛性问题。

一:数模计算的收敛性:在了解收敛性之前,应该首先了解几个基本概念:
1。

报告步:一个数模作业包括多个报告步,报告步是用户设置要求多长时间输出运行报告,比如可以每个月,每季度或每年输出运行报告,运行报告包括产量报告和动态场(重启)报告。

在ECLIPSE软件中,报告步是通过DA TES和TSTEP关键字来设置的。

2。

时间步:一个报告步包括多个时间步,时间步是软件自动设置(VIP需要用户设置)即通过多个时间步的计算来达到下一个报告步,以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)“:现在的模拟时间。

模拟计算的时间取决于时间步的大小,如果模型没有发生时间步的截断而且能保持长的时间步,那表明该模型没有收敛性问题,反之如果经常发生时间步截断,那模型计算将很慢,收敛性差。

时间步的大小主要取决于非线形迭代次数。

如果模型只用一次非线形迭代计算就可以收敛,那表明模型很容易收敛,如果需要2到3次,模型较易收敛,如果需要4到9次,那模型不易收敛,大于10次的化模型可能有问题,如果大于12次,时间步将截断。

在PRT文件中如果看到以下信息:
PROBLEM: AT TIME 200 DAYS ((1-FEB-2009):NON-LINEAR EQUATION CONVERGENCE FAILURE ITERA TION LIMIT REACHED - TIME STEP CHOPPED FROM 10
STEP 20 TIME= 200.00 DAYS ( +1.0 DAYS CHOP 5 ITS) (1-FEB-2009)
那表明时间步发生了截断。

(注:另外如果你见到如下信息:
W ARNING AT TIME 0.0 DAYS (1-MAR-2004): LINEAR EQUATIONS NOT FULL Y CONVERGED - RUN MAY GO FASTER IF YOU INCREASE LITMX (=25 - TUNING KEYWORD) 你可以不必管。

这只是线形方程不收敛)
除了REPT,CHOP外,在RPT文件中还常见以下信息来表明为什么选择现在的时间步: INIT: 表明是初始时间步
TRNC: 为满足时间截断误差
MINS: 最小时间步
MAXS: 最大时间步
HALF: 接近报告步时的时间步取半
DIFF: 时间步截断CHOP之后的增长
(在ECLIPSE技术手册的第125页还会找到更多)
如果模型中有很多CHOP,DIFF,MINS,那模型有严重的收敛性问题。

二:如何解决数模计算的收敛性问题:
模型不收敛的原因很多,网格参数,属性参数,流体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
问题00415:
谢谢前两次的回答,非常感谢,这次又出了新问题,请看看,万分感谢,在PRT文件中出现以下提示,不知道什么原因,请指教
@--WARNING AT TIME 1318.0 DAYS (11-MAR-1994):
@ LINEAR EQUATIONS NOT FULL Y CONVERGED - RUN MAY GO FASTER
@ IF YOU (A) INCREASE NSTACK (= 15 - RUNSPEC SECTION) 18
@ OR (B) MAKE NSTACK NEGATIVE ( EXTENDS STACK ON DISK )
@--PROBLEM AT TIME 1318.0 DAYS (11-MAR-1994):
@ NON-LINEAR EQUATION CONVERGENCE FAILURE
@ ITERATION LIMIT REACHED - TIME STEP CHOPPED FROM 10.00
NSTACK表示什么啊,模型前面收敛很好,以后就不行了,速度非常慢,请问可能是什么原因阿
谢谢您的回答
回答:
我在网站内写了如何检查模型和加快计算的办法。

你好好读读。

问题00382:
老师你好:
@--PROBLEM AT TIME 12484.0 DAYS ( 1-AUG-1994):
@ UN-PHYSICAL V ALUE FOR 1/BG IN PVT TABLE 1 WELL 3-D54
@ PG = -4.5045E+01 RV = 0.0000E+00 1/BG = -4.7583E+01
这是什么呢问题?怎么解决呀?不胜感谢!
回答:
这是模型不收敛造成的。

检查你的PVT部分有没有数据外插,检查你的模型的收敛性。

昨天的问题经过今天查看后,线性不收敛问题还是大量存在,又出现了新问题,如果您看的话就不用看千前面两封邮件了:)这里我再问问一个问题,当昨天我给的pvto为下面的情况时,出现了如下警告:
Warning:
@--WARNING AT TIME 0.0 DAYS ( 1-JAN-1981):
@ UNPHYSICAL V ALUE -4.10162 FOR OIL FVF FOUND
@ IN OIL PRESSURE TABLE 1
@ AT SAMPLE PRESSURE 25.75862
@ DUE TO EXTRAPOLATION ABOVE THE MAXIMUM
@ ENTERED BUBBLE POINT PRESSURE 3.03000
今天我将FVF整体调小,虽然仍然告诉我这是可疑数据,但警告已经没有了,
为什么警告消失了呢?这里什么数据可疑呢?我应该如何修改呢?
还有,结果提示我SGFN和SOF3也可疑:
这是为什么呢?:)谢谢:)
回答:
SOF3应该没关系,主要是你的SWFN应该从0.362开始。

你的PVTO压力数据增加了十倍,结果当然不同了
问题00091:
我在算一个ecl模型,没有任何提示(没有error,warning problem 也没有超过限制),算到93年就停止了,我从93年作了个重启,又可以算下去了,不知道这是什么原因,劳驾月光姐姐帮忙。

还有另一个问题,我的模型的有效网格是23万,算得比较慢,我想让他算得快一点,可不可以改一下tuning 的设置,改tuning 的哪个关键词比较合适,该的幅度与多大,改后和不改的差别主要在什么地方(除了计算速度)。

回答:
你如果用LINUX算,有可能会发生计算停止但没有错误信息。

你这种情况不好说,你再算一遍,看看是不是还在93年停止。

我计划写如何加速的办法,不过一直没有时间。

TUNING关键字你只能改第二项,不要改别的。

你检查你的模型收敛性如何,如果收敛性好的化,不用修改。

检查所有的WARNING信息。

问题00104:
eclipse 计算太慢,您看一下是什么原因? 刚开始很快,前三年用3分钟,但是后来越来越慢,不知道是什么原因?自己觉得可能是:
1 是不是不收敛了?
2 动态数据中是一次性把所有的井都设开,然后给产量0,是不是对动态数据有什么影响?
3 从VIP移植过来是不是静态有问题——在VIP上用2.5小时就够了,ECLIPSE用6小时?
一般遇到不收敛的问题怎么解决?
回答:
1.你可以定义所有井的射孔(COMPDAT)和产量控制(WCONHIST),然后你要用WELOPEN将井关掉,不要给产量0,这样会快很多,而且结果也正确。

你给0其实结果是不对的,因为会产出其他相。

2。

你有很多网格孔隙度很大但渗透率为0,这些网格你可以设为死网格。

3。

你需要把SCHEDULE部分TUNING关键字改为:
TUNING
1* 15 /
/
/
4。

你可以在GRID部分加MINPV关键字为:
MINPV
10 /
5。

你可以把WCONINJE改为WCONINJH关键字。

问题00156:
对不起,上封邮件忘加附件了
我定的timestep是一个月,可在运行时是基本上以0.1day的速度前进,我的模拟时间是20年,得算到什么时候啊。

很可能是收敛性的问题,可看不懂具体问题出在哪。

我把运行时的提示放在附件里,肯请您帮我分析一下。

回答:
你的模型是有收敛性问题。

你把模型发给我,我帮你看看。

我在tuning把时步变大也不管用,在report里都是一些看不太明白的警告信息,没有出错信息,很着急啊,愁死我了,领导总吹我。

我在把我的原程序在附件里发过去(怕中午发的您没收到),请您帮我看一看。

回答:
主要是你的模型问题,井附近的很多网格有交错,这及其容易导致不收敛。

这是由于在你建模时对断层处理不合理造成的。

你可以在FLOGRID中编辑你的网格。

另外你为什么把你的第七和八平衡区的EQUIL值都设为0
问题00161:
首先对您的帮助表示感谢!
我有一个问题要问的是:我在做一区块的数值模拟时,出现不收敛的情况。

手册上说,不收敛通常由于PVT,相渗曲线不光滑引起的,我把这些都修改了,足够光滑,还是不收敛,请问可能是什么原因引起的?
回答:
收敛性是一个复杂问题,很多因数都会导致不收敛,你的模型最好正交性要好一些,网格的尺寸差别不要很大,属性分布也应该尽量均匀,模型的初始化要稳定,不应该在初始是发生流体流动。

井的走向也要检查。

你最好把所有的W ARNING信息先检查一下。

我不久会写如何解决收敛性问题,你现在如果解决不了,可以把模型发给我。

上周收到的问题大多数是关于如何解决模型收敛性问题以及如何加快模型的计算。

收敛性问题可以说是所有从事数模工作的人员都会面临的问题,本文将以ECLIPSE软件为例从两方面介绍收敛性问题。

第一方面介绍数值模拟计算与收敛有关的一些概念。

第二部分介绍如何通过修改模型数据来加速计算,解决收敛性问题。

一:数模计算的收敛性:在了解收敛性之前,应该首先了解几个基本概念:
1。

报告步:一个数模作业包括多个报告步,报告步是用户设置要求多长时间输出运行报告,比如可以每个月,每季度或每年输出运行报告,运行报告包括产量报告和动态场(重启)报告。

在ECLIPSE软件中,报告步是通过DA TES和TSTEP关键字来设置的。

2。

时间步:一个报告步包括多个时间步,时间步是软件自动设置(VIP需要用户设置)即通过多个时间步的计算来达到下一个报告步,以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 I TS": 说明此10天时间步需要5次非线形迭代。

”(1-FEB-2008)“:现在的模拟时间。

模拟计算的时间取决于时间步的大小,如果模型没有发生时间步的截断而且能保持长的时间步,那表明该模型没有收敛性问题,反之如果经常发生时间步截断,那模型计算将很慢,收敛性差。

时间步的大小主要取决于非线形迭代次数。

如果模型只用一次非线形迭代计算就可以收敛,那表明模型很容易收敛,如果需要2到3次,模型较易收敛,如果需要4到9次,那模型不易收敛,大于10次的化模型可能有问题,如果大于12次,时间步将截断。

在PRT文件中如果看到以下信息:
PROBLEM: AT TIME 200 DAYS ((1-FEB-2009):NON-LINEAR EQUATION CONVERGENCE FAILURE ITERA TION LIMIT REACHED - TIME STEP CHOPPED FROM 10
STEP 20 TIME= 200.00 DAYS ( +1.0 DAYS CHOP 5 ITS) (1-FEB-2009)
那表明时间步发生了截断。

(注:另外如果你见到如下信息:
W ARNING AT TIME 0.0 DAYS (1-MAR-2004): LINEAR EQUATIONS NOT FULL Y CONVERGED - RUN MAY GO FASTER IF YOU INCREASE LITMX (=25 - TUNING KEYWORD) 你可以不必管。

这只是线形方程不收敛)
除了REPT,CHOP外,在RPT文件中还常见以下信息来表明为什么选择现在的时间步: INIT: 表明是初始时间步
TRNC: 为满足时间截断误差
MINS: 最小时间步
MAXS: 最大时间步
HALF: 接近报告步时的时间步取半
DIFF: 时间步截断CHOP之后的增长
(在ECLIPSE技术手册的第125页还会找到更多)
如果模型中有很多CHOP,DIFF,MINS,那模型有严重的收敛性问题。

二:如何解决数模计算的收敛性问题:
模型不收敛的原因很多,网格参数,属性参数,流体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.
问题00199:尊敬的月光版主,您好!我有两个问题:
一、我在模拟中遇到了这样一个问题:每一个报告步(一个月为一个报告步)所需的时间步不一样,而且差别很大。

有的只有3-5步,有的却高达200多步。

而且,在时间步高的报告步中,有时候并没有新井的投产。

这种现象是怎么造成的?如何解决呀?
二、那一个输出的关键字可以实现这样一个功能——输出每一个时间步中,哪一个网格的压力变化最大,哪一个网格的饱和度变化最大。

这个关键字如何使用?=
回答:
1。

这是收敛性问题。

你读了我在网上发的关于收敛性的文章了吗?
2。

在RPTSCHED中加“NEWTON=2"
回答:
这是你的模型不收敛造成的。

你不应该把PROBLEM设为100000,出现几个PROBLEM的化你就你应该想办法解决了。

关于如何解决收敛性问题,你参照我最近在BLOG里发的办法。

另外你给我发的压缩文件有问题,打不开。

我建议你先把收敛性问题解决掉,你的时间步只有2.4个小时,是最小时间步了,说明你的模型有非常严重的收敛性问题。

回答:
你的模型有许多问题,你应该把我写的关于模型收敛性的文章好好读读。

1。

模型建的不合理。

网格发生交叉。

你检查你的网格(I=42 J=15)附近,这些网格合在了一起。

2。

你的模型有许多只有几个分散网格的小层,比如层26,33,34,40。

这些层很难流动。

你最好把这些层与临近层合并。

3。

你的模型有46个平衡区,有的层有三个平衡区,你需要这么多平衡区吗?
4。

有的网格渗透率为40达西,而临界网格为几个毫达西,你的模型属性分布很不合理。

5。

个别井用COMPDA T定义的走向不对,水平井应该为X或Y走向,而不是Z。

6。

你应该把TUNING和NEXTSTEP删掉,你用的不对。

相关文档
最新文档