eclipse模型如何提高收敛性
- 格式:pdf
- 大小:601.30 KB
- 文档页数:71
浅议数值模拟收敛性调整方法数值模拟收敛性调整方法是指在进行数值模拟时,通过调整模拟参数或算法,使得模拟结果能够更接近真实情况,并且更加稳定和可靠。
本文从数值模拟的基本原理出发,浅议几种常见的数值模拟收敛性调整方法。
要保证数值模拟的收敛性,就需要确保模拟结果能够逼近所要模拟的真实情况。
在模拟过程中,一般通过将计算区域划分为离散的网格或单元来进行计算,计算区域越精细,模拟结果越准确。
调整网格尺寸是一种常见的调整收敛性的方法。
通过减小网格尺寸,可以提高模拟的精度,但也会增加计算量和计算时间。
在选择网格尺寸时需要综合考虑模拟效果和计算效率。
数值模拟中常用的算法也会对模拟的收敛性产生影响。
一种常见的数值模拟算法是迭代算法,例如迭代求解偏微分方程的有限差分方法。
在迭代算法中,需要选择合适的迭代次数,以保证模拟结果能够收敛到准确解。
迭代次数过少会导致模拟结果与真实情况相差较大,而迭代次数过多则会增加计算时间。
合理选择迭代次数是调整收敛性的关键。
数值模拟中的边界条件也是调整收敛性的重要因素。
边界条件是指模拟区域边界上的物理量的数学描述。
正确选择和设置边界条件可以确保模拟结果与实际情况相吻合。
在热传导模拟中,常用的边界条件有热流量边界条件和温度边界条件。
对于热流量边界条件,需要根据实际情况来确定边界上的热流量值;对于温度边界条件,可以根据实际情况来确定边界上的温度值,或者设定一定时间内温度的变化规律。
正确选择和设置边界条件可以提高模拟结果的准确性和可靠性。
数值模拟中的物理参数也是调整收敛性的重要因素。
物理参数是指参与数值模拟的物理量的数值,例如材料的热导率、密度等。
不同材料具有不同的物理参数,正确设置物理参数可以确保模拟结果与真实情况相符。
在实际模拟中,通常会根据已知的实验数据或理论计算结果来确定物理参数的数值。
如果物理参数的数值不准确或者选择不当,就会导致模拟结果与真实情况相差较大。
合理选择和设置物理参数也是调整收敛性的关键。
【软件】看完这些,Aspen工艺模拟收敛问题不再难!寻找最美化工情侣活动进行中,点击上方图片,即可投票哦小7:过程模拟软件提供一种强大的工程设计环境,就可以实现更高的效率,不同领域的人员可以在相同的条件下协作,从生产质量、运行成本、资本成本和能源使用等方面评估多种设计方案。
而在流程模拟过程中面对收敛问题,无论是流程收敛问题还是单元模块收敛的问题,常常困扰着设计者们,在此小7粗略的总结了一些技巧和方法。
Aspen Plus 中模拟计算有三种计算方法:序贯模块法(sequential Modular)。
联立方程法(Equation Oriented)和联立模块法(Mixed Mode)。
序贯模块法对于流程中的所有的单元过程依照一定的计算顺序逐一求解,直至流程结束。
流程收敛收敛模块每个设计规定和撕裂流都有一个相关联的收敛模块。
收敛模块确定撕裂流或设计规定的操作变量的推测值在迭代过程中的更新方法。
Aspen Plus 定义的收敛模块的名字以字符“$.”开头,所以设计者定义的收敛模块的名字一定不要用字符“$.”开头。
要确定Aspen Plus 定义的收敛模块,请看Control Panel(控制面板)信息中的“Flowsheet analysis(流程分析)”部分。
收敛模块可在Data | Convergence | Convergence…下进行规定收敛模块的类型不同类型的收敛模块是用于下列不同用途的。
要收敛撕裂流,请用:WEGSTEINDIRECTBROYDENNEWTON要收敛设计规定,请用:SECANTBROYDENNEWTON要收敛设计规定和撕裂流,请用:BROYDENNEWTON对于优化,请用:BROYDENNEWTON在Convergence | Conv Options | Defaults 窗体上可以规定全局的收敛选项。
流程顺序要确定Aspen Plus 进行流程计算的流程顺序,请看Control Panel (控制面板)中:流程计算的流程顺序也可在Control Panel左窗格中的“COMPUTATION ORDER FOR THE FLOWSHEET”部分查看。
大家好:我根据自己在计算过程中遇到的收敛性的问题,做了一点关于CASTEP计算参数调试的总结。
当然,这些只是我的个人心得体会,大家如果觉得有什么问题请提出指正,或是如果有自己独到的见解,请跟帖加上来,供大家一起学习提高。
如果计算在Max. cycle全部用完之后仍然不能收敛,要先查看一下.castep文件,如果能量比刚开始计算时有明显下降,而且震动幅度也明显减小,只是还没有降到收敛标准以下,那说明Max. cycle还不够,要增加这个数值。
但多数情况下,我们会发现,能量并没有比刚开始计算时的能量有明显下降,而是围绕着某个平均值在反复地震荡,而且震动幅度也没有减小。
那说明是参数设定的问题,此时就算再怎么增加Max. cycle的数值,计算最终还是不会收敛的。
这个时候,最好是增加energy cutoff的数值,降低K point set的数值,增加smearing width数值(当然,如果通过调试前两个数值就可以使计算收敛的话,就最好不要动这个数值)。
再有,如果计算是使用的density mixing的话,那要将mix_charge_amp,mix_spin_amp的数值降低,将mix_energy_cutoff的数值增加到 energy cutoff 数值的3到4倍,增加mix_history_length的数值。
当然,如果调试上面的参数仍然发现收敛很辛苦的话,就将mixing scheme转成All Band/EDFT,这会解决收敛问题,但是计算时间将会是使用density mixing 计算所用时间的3倍以上。
1. 参数调试过于经验化,如果楼主能结合对程序原理的认识,或许能够把每个参数调节的意义给阐述的更为清晰些;从优化算法,体系特性,物理过程等方面着手来进行分析,或许可以得到更加全面的认识(如果楼主能够结合上述内容对CASTEP收敛进行详细的分析和总结的话,我会考虑接受楼主的文章,并且发表在小木虫计算与模拟研究RCS期刊上)。
浅议数值模拟收敛性调整方法数值模拟是一种通过计算机程序模拟真实世界中的物理现象或过程的方法。
在进行数值模拟时,我们经常会遇到收敛性问题,即模拟结果与真实结果之间存在一定的误差。
为了提高模拟结果的准确性和可靠性,我们需要采取一些方法来调整收敛性。
收敛性调整方法主要分为以下几种:网格细化、时间步长调整、算法改进以及模型简化等。
网格细化是一种常用的收敛性调整方法。
在数值模拟中,物理过程通常是在离散网格上进行的,网格越细,模拟结果与真实结果之间的误差就越小。
通过不断加密网格,即进行网格细化,可以提高模拟结果的收敛性。
网格细化的原理是将原始网格划分为更小的子网格,然后在子网格上进行计算。
由于子网格比原始网格更细,所以计算结果更精确,收敛性更好。
网格细化的计算量较大,因此在实际应用中需要权衡计算效率和模拟结果的精确性。
时间步长调整是另一种常用的收敛性调整方法。
在数值模拟中,计算时间通常是离散化的,即将时间轴划分为多个时间步长。
时间步长越小,模拟结果的收敛性越好。
通过减小时间步长,可以提高模拟结果的准确性和可靠性。
时间步长的减小会增加计算量,所以需要权衡计算效率和模拟结果的精确性。
算法改进是另一种常用的收敛性调整方法。
在数值模拟中,我们通常采用一些数值算法来模拟物理过程。
不同的算法对收敛性的要求不同,有些算法可能具有较好的收敛性,而有些算法可能具有较差的收敛性。
通过改进数值算法,可以提高模拟结果的收敛性。
算法改进的原理是对原始算法进行优化,使之更加符合物理过程的特点,从而提高收敛性。
算法改进可以是对求解方法的改进,也可以是对边界条件或初始条件的改进等。
模型简化是另一种常用的收敛性调整方法。
在数值模拟中,模拟的物理过程通常是非常复杂的,包含很多细节和难以描述的因素。
为了提高模拟结果的收敛性,我们可以对模型进行简化。
模型简化的原理是将原始模型中的一些复杂因素或细节去除或略去,以简化模型的计算,从而提高收敛性。
模型简化可以是对物理方程的简化,也可以是对边界条件或初始条件的简化等。
模型不收敛的原因很多,网格参数,属性参数,流体PVT参数,岩石相渗曲线,毛管压力曲线,相渗曲线端点标定,初始化,井轨迹,垂直管流表都会造成模型不收敛,下面分别介绍各部分如何造成不收敛及如何解决。
1。
网格部分:网格正交性差和网格尺寸相差太大是导致不收敛的主要原因之一。
正交性差会给矩阵求解带来困难,而网格尺寸相差大会导致孔隙体积相差很大,大孔隙体积流到小孔隙体积常会造成不收敛。
解决办法:网格正交性差通常是在建角点网格时为描述断层或裂缝的走向而造成的。
在此情况下,最好能使边界与主断层或裂缝走向平行,这样一方面网格可以很好地描述断层或裂缝,另一方面正交性也很好。
在平面上最好让网格大小能够较均匀,在没有井的地方网格可以很大,但最好能够从大到小均匀过渡。
纵向上有的层厚,有的薄,最好把厚层能再细分。
在检查模型时应该每层每层都在三维显示中检查。
径向局部网格加密时里面最小的网格不要太小。
在ECLIPSE里用MINPV关键字可以把小于设定孔隙体积的网格设为死网格,这样通常会有用。
2。
属性参数:不合理的插值计算会导致属性分布很差,如果是从地质模型粗化为数模模型,通常问题不大,只是有时候数模人员自己插值时会有问题。
解决办法:有可能尽量用地质模型的数据,自己插值时可以加一些控制点使属性合理分布。
X,Y方向的渗透率最好相等或级差不大。
在井连通网格的Z方向渗透率不要设为0,如果想控制垂向流动,可给一个很小的值。
3。
流体PVT参数流体PVT参数会有两种可能的问题,一是数据不合理导致了负总压缩系数,二是压力或气油比范围给的不够导致模型对PVT参数进行了外插。
解决办法:检查PRT文件中的WARNING信息,如果在油藏压力范围内有负总压缩系数的警告,应该修改PVT 参数,否则的化会有收敛性问题。
如果负总压缩系数是在油藏压力范围之外,可以忽略该警告。
此部分的修改主要可以小规模修改油和气的FVF和RS。
关于ECLIPSE如何计算负总压缩系数,参照ECLIPSE技术手册第936页。
Eclipse数值模拟软件问答(初级)1. ECLIPSE输出结果文件是哪些?.GRID或.FGRID: 网格文件.EGRID: 网格文件,与GRID格式不同,文件要小的多。
(用关键字GRIDFILE来控制输出类型).INIT或.FINIT: 属性文件。
(用关键字INIT来控制输出).PRT: 报告输出。
文件很大,模型处理及计算结果详细报告。
(RPTGRID,RPTPROP,RPTSOL,RPTSCHED 控制输出).LOG: 后台作业时的输出报告,文件比PRT要小很多。
可用于错误检查。
.DBG: Debug文件,一般不用。
可用于检查ECLIPSE如何处理输入参数。
.SAVE: 用于快速重启。
(用关键字SAVE来控制输出).RFT:RFT计算结果。
(用关键字WRFTPLT来控制输出).FLUX: 流动边界。
(用关键字DUMPFLUX来控制输出).Snnnn或.UNSMRY: 图形文件输出(在SUMMARY部分定义).Xnnnn或.UNRST: 重启文件输出(用RPTRST,RPTSOL或RPTSCHED来控制输出)2. ECLIPSE输出文件都有什么格式?格式化输出:可读文件,文件大。
(用关键字FMTOUT来控制)非格式化输出:不可读文件,文件小。
多输出文件:每一时间步一个输出文件。
单文件输出:所有时间步输出到一个文件。
(用关键字UNIFOUT来控制)ECLIPSE缺省输出:非格式化,多文件输出。
3. ECLIPSE数据文件分几部分,各部分定义什么数据类型?ECLIPSE数据类型分八部分,各部分内的关键字除几个个别的外不能混用。
RUNSPEC: 定义模型维数以及模型基本类型,包括模型网格维数,最大井数,井组数,流体类型,输出类型控制等。
GRID: 定义模型网格和属性,包括顶部深度,厚度,孔隙度,渗透率,净毛比,一般由前处理软件Flogrid或Petrel输出。
EDIT: 编辑孔隙体积,传导率。
浅议数值模拟收敛性调整方法数值模拟方法是一种通过数值计算来模拟物理现象的方法。
在数值模拟过程中,我们经常会遇到收敛性调整的问题。
收敛性是指模拟结果逐渐接近实际结果的趋势。
在模拟过程中,我们需要不断调整参数以确保模拟结果的收敛性。
本文将从几个方面对数值模拟收敛性调整方法进行浅议。
调整时间步长。
时间步长是数值模拟中的一个重要参数,它决定了模拟的时间分辨率。
时间步长过大会导致模拟结果不准确,时间步长过小会增加计算成本。
我们需要根据模拟的物理过程和计算资源的条件来调整时间步长。
一般来说,可以通过观察模拟结果随时间的变化趋势来判断时间步长是否适当。
如果模拟结果在每个时间步长内变化较大,说明时间步长过大;如果模拟结果在每个时间步长内变化较小,说明时间步长过小。
通过调整时间步长,我们可以获得更准确的模拟结果。
使用迭代收敛算法。
迭代收敛算法是一种通过迭代计算来逼近真实值的方法。
在数值模拟中,我们可以使用迭代收敛算法来调整模拟的参数,以使模拟结果逐渐接近实际结果。
常见的迭代收敛算法包括Jacobi迭代算法、Gauss-Seidel迭代算法和SOR迭代算法等。
这些算法通过不断更新参数的值,使得模拟结果在每次迭代后逐渐接近真实值。
通过使用迭代收敛算法,我们可以获得更准确的模拟结果。
进行模拟结果验证。
模拟结果验证是确保模拟结果准确性的关键步骤。
在模拟过程中,我们需要通过与实际观测数据进行比较来验证模拟结果的准确性。
如果模拟结果与实际观测数据一致,说明模拟结果准确;如果模拟结果与实际观测数据不一致,需要重新调整模拟参数,直到模拟结果与实际观测数据一致为止。
通过进行模拟结果验证,我们可以确保模拟结果的准确性。
数值模拟收敛性调整方法是确保模拟结果准确性的关键步骤。
通过调整时间步长、空间网格和使用迭代收敛算法,我们可以获得更准确的模拟结果。
通过进行模拟结果验证,我们可以确保模拟结果的准确性。
在实际应用中,我们需要根据具体问题和计算资源的条件来选择合适的收敛性调整方法,以获得准确的模拟结果。
PSpice仿真中收敛问题研究PSpice是一个全功能的仿真工具,随着版本的不断革新,可以实现严格的电路模拟和电路优化,并成为工业标准工具。
目前所有的电路仿真工具在进行直流分析和瞬态分析时都会遇到不收敛的问题。
PSpice虽然已经采用了最可靠的算法,但仍未能杜绝不收敛问题。
从仿真器采用的算法出发,分析不收敛产生的原因,针对各种原因提出相应的处理方法,最后通过一个存在收敛问题的实际电路,应用文中提及的方法解决了不收敛的问题,证明该文研究的处理方法的有救性和可行性。
1 引言用于模拟电路仿真的SPice(Simulation Program with integrated circuit emphasis)软件是1972年由美国加州大学伯克利分校利用FORTRAN语言开发而成的。
为了能在PC机上运行,MicroSim公司在1983年SPice 2G.6版本的基础上推出PSpice仿真器。
PSpice仿真器经过不断的革新,到2007年已发展到16.0版本,它不是一般意义的教学演示软件,而是为严肃的模拟设计而特性化的仿真器。
在使用仿真器进行DC分析和瞬态分析时,经常会遇到电路设计完全正确,却无法得到仿真结果的情况,也就是不会运行到所设定的终止条件,同时输出文件会给出出错信息,这就是程序不收敛的问题。
该问题是执行仿真中最难解决的问题之一。
PSpice程序虽然采用了最可靠的算法,但仍不能完全避免不收敛现象的发生。
本文就这一难点问题提供一些可供参考的方法。
2 发生不收敛问题的原因在分析过程中不收敛的根本原因是因为软件在电路分析时都是将电路的电流电压问题转换为方程组来求解,这些方程组分为线性方程组和非线性方程组。
线性方程组可以采用直接消元法、高斯消元法和LU分解法等,非线性方程组更多的使用迭代法。
而迭代法不可避免的会产生不收敛的问题。
以PSpice中使用最普遍的牛顿-拉夫逊(N-R)迭代法为例来说明。
对于某一非线性方程,f(x)=0,N-R迭代关系式为;点击图片查看大图当给定一个恰当迭代初值x0,代入式(1)进行迭代,产生一个迭代序列{xk+1),直到xk+1和xk之间差的绝对值小于某个给定的允许误差ε为止。
浅议数值模拟收敛性调整方法数值模拟是一种通过计算机进行模拟和分析的方法,广泛应用于工程、科学、金融等领域。
在进行数值模拟时,经常会遇到收敛性调整的问题,即模拟结果无法收敛或者收敛速度太慢。
本文将从数值模拟收敛性的影响因素和调整方法两方面进行浅议,希望能够对相关领域的研究工作者提供一些参考和帮助。
一、数值模拟收敛性的影响因素1.1 网格精度网格精度是影响数值模拟收敛性的重要因素之一。
在进行数值模拟时,常常需要将模拟区域离散化为有限的网格,然后在网格上进行计算。
网格精度的高低会直接影响到模拟结果的精度,因此对于需要高精度模拟结果的问题,通常需要增加网格的精度。
1.2 时间步长在进行时间相关的数值模拟时,时间步长也是影响收敛性的一个关键因素。
时间步长过大会导致模拟不稳定,时间步长过小则会导致计算成本增加。
选择合适的时间步长对于模拟的收敛性至关重要。
1.3 物理参数模拟过程中所使用的物理参数也会对收敛性产生影响。
物理参数的选择不合理可能导致模拟结果不符合实际情况,从而影响到收敛性。
1.4 初始条件和边界条件初始条件和边界条件的选择也会直接影响到数值模拟的收敛性。
合适的初始条件和边界条件可以使模拟过程更快地收敛,否则可能会导致模拟结果发散或者收敛速度过慢。
2.1 网格精度调整对于网格精度影响收敛性的问题,通常可以通过增加网格的精度来提高模拟结果的精度和收敛速度。
网格精度的增加也意味着计算量的增加,需要在精度和计算成本之间进行权衡。
2.2 时间步长调整对于时间步长过大或者过小的问题,可以通过逐步减小时间步长的方式来调整。
通过观察模拟结果的变化,逐步缩小时间步长,直到模拟结果趋于稳定为止。
数值模拟的收敛性是影响模拟结果精度和计算效率的重要因素。
合理对收敛性进行调整可以提高模拟结果的精度和稳定性,从而更好地服务于相关领域的研究和应用。
希望本文提供的方法和思路能够对广大研究工作者提供一些帮助和启发。
提高模型收敛性方法讲课人:张世明胜利油田地科院,2008.7第一部分收敛报告介绍@--WARNING AT TIME 0.0 DAYS ( 1-JAN-1997):@ LINEAR EQUATIONS NOT FULLY CONVERGED - RUN MAY GO FASTER@ IF YOU INCREASE LITMAX (= 25 - TUNING KEYWORD)@--PROBLEM AT TIME 0.0 DAYS ( 1-JAN-1997):@ NON-LINEAR EQUATION CONVERGENCE FAILURE@ ITERATION LIMIT REACHED - BUT TIME STEP@ ACCEPTED BECAUSE IT IS TOO SMALL TO CHOP.STEP 1 TIME= 2.40 HOURS ( +2.40 HOURS CHOP 12 ITS) (1-JAN-1997)PAV= 333.8 BARSA WCT=0.051 GOR= 644.15 SM3/SM3 WGR= 0.0001 SM3/SM3PR.RATE PR.TOTAL IN.RATE IN.TOTAL MAX SATURN CHANGE MAX TIME TRNC ERR OIL 6000. 600. 0. 0. -0.780( 3, 1, 20) -0.780( 3, 1, 20)WAT 321. 32. 0. 0. 0.580( 6, 1, 19) 0.580( 6, 1, 19)GAS 3864881. 386488. 0. 0. 0.780( 2, 1, 21) 0.780( 2, 1, 21)MAX DP = -315.55( 1, 1, 24) MAX DRS=********( 1, 1, 24)@--WARNING AT TIME 0.1 DAYS ( 1-JAN-1997):@ LINEAR EQUATIONS NOT FULLY CONVERGED - RUN MAY GO FASTER@ IF YOU INCREASE LITMAX (= 25 - TUNING KEYWORD)•收敛问题都具有一些典型征兆•收敛报告有助于发现不收敛的原因•收敛问题几乎总是由于以下原因造成的:•数据错误•书写错误•模型设计•其它原因典型的收敛报告控制收敛报告的关键字:RPTSCHED—‘SUMMARY’’NEWTON’控制收敛报告的关键字:DEBUG—如果item 1 > 1 ,则DEBUG文件中将屏幕终端的报告信息写入DEBUG文件中。
(练习)IT—表示非线性迭代的进程,如1,2,3….等。
CNV—表示每一相的收敛误差,规格化为饱和度的误差。
该值是整个油藏的最大误差值,其后括号内为对应的网格块位置。
MAT BAL—表示每一相的物质平衡误差,表示为总油藏孔隙体积的分数。
DPRESS—表示最大收敛误差网格在时间步内的压力变化。
DSWAT—表示最大收敛误差网格在时间步内的水相饱和度变化。
DSGAS—表示最大收敛误差网格在时间步内的气相饱和度变化。
在模型运算过程中,只要没有达到由TUNING关键字设定的收敛误差和物质平衡误差目标界限,程序将继续运行。
因此,为了提高收敛性,而过于放大物质平衡误差及收敛误差的目标界限,结果往往也并不可取。
(如运行时间增长或结果奇异)LINIT—表示当前非线性迭代中线性迭代的次数。
NSCHP—表示为抑制可能的振荡而改变饱和度变化的次数。
NCHOP—表示为增强稳定性而使P、RS、RV降低的变化次数。
NSCHP和NCHOP 中任何不为0的情况都将影响非线性迭代的最终物质平衡误差大小。
NSTAT1,2,3—表示不同状态的网格块数,其中1表示不存在液相烃,气相中的油气比是变量;2表示存在液、气两相烃,气饱和度是变量;3表示不存在气相烃,液相中的气油比是变量。
NTRAN—表示相态发生变化的网格数。
第二部分关于收敛性的相关概念2007年院油藏数值模拟培训几个基本概念报告步:报告步是用户设置的输出运行报告的时间间隔。
运行报告一报告步:报告步是用户设置的输出运行报告的时间间隔。
运行报告一般包括产量报告和动态场(重启)报告,其内容由用户通过相关关键字指定。
报告步的长短不限,可以为每个月、每季度或每年等等,也可以根据需要设置成不等时间间隔的变报告步长。
可以看出,相同的历史(或预测)实践,报告步长越短,则报告步数越多。
由于每一个报告步结束时要纪录用户指定的大量相关信息,因而报告步数的多少在一定程度上会影响到模型的运行时间。
如:限制下一时间步长为0.1天,且随后的时间步长以10天为上限TUNING0.1 10.0 ///时间步:一个报告步包括多个时间步,而时间步是软件自动设置时间步:一个报告步包括多个时间步,而时间步是软件自动设置(VIP需要用户设置),即通过多个时间步的计算来达到下一个报告步。
以ECLIPSE为例,假如报告步为一个月,在缺省条件下,ECLISPE第一个时间步取一天,然后以三倍增加,即第二个时间步取三天,然后取九天,下一个时间步是17天来达到30天的报告步,然后会以每30天的时间步来计算。
时间步可以通过TUNING关键字来修改,该值的设置应根据模型情况综合确定,其合理性对于模型运算收敛性的影响是明显的。
TUNING// 12 /非线形迭代:一个时间步包括多次非线形迭代。
在缺省情况下,如非线形迭代:一个时间步包括多次非线形迭代。
在缺省情况下,如果通过12次的非线形迭代没有收敛,ECLIPSE将对时间步自动减小10倍。
比如下一个时间步应该是30天,如果通过12次的迭代计算不能达到收敛,ECLIPSE将把时间步缩短为3天。
3天的时间步如果达到收敛条件,则下一个时间步将以1.25倍增长,即3.75天,4.68天,……,如果在计算过程中经常发生时间步的截断,即出现计算的不收敛,则模型计算将很慢。
当然,一个时间步所允许的最大非线性迭代次数(如12)是可以通过相关关键字(如ECLIPSE中的TUNING)来修改的,这样可以改善模型的收敛性。
TUNING// 2* 25 /线性迭代:一个非线形迭代包括多次线形迭代,线性迭代是用于求线性迭代:一个非线形迭代包括多次线形迭代,线性迭代是用于求解矩阵方程。
在缺省情况下,ECLIPSE允许一个非线性迭代内部最多可以进行25次的线性迭代,否则视为不收敛。
该值也可以通过相关关键字(如ECLIPSE中的TUNING)来修改的,这样可以改善模型的收敛性。
对于一个确定的模拟模型,其模拟计算的时间在很大程度上取决于时间步的大小。
如果模型没有发生时间步的截断而且能保持长的时间步,那表明该模型没有收敛性问题,反之如果经常发生时间步截断,那模型收敛性差,计算将很慢。
而时间步的大小又主要取决于非线形迭代次数。
如果模型只用一次非线形迭代计算就可以收敛,那表明模型很容易收敛,如果需要2到3次,模型较易收敛,如果需要4到9次,那模型不易收敛,大于10次的话模型可能有问题,如果大于12次,时间步将截断。
因此,如何避免时间步的截断,是提高模型收敛性的关键问题。
•在PRT文件中如果看到以下信息:•PROBLEM: AT TIME 200 DAYS ((1-FEB-2009): NON-LINEAR EQUATION CONVERGENCE FAILURE ITERATION LIMIT REACHED -TIME STEP CHOPPED FROM 10•STEP 20 TIME= 200.00 DAYS ( +1.0 DAYS CHOP 5 ITS) (1-FEB-2009)•那表明时间步发生了截断。
(注:另外如果你见到如下信息:•WARNING AT TIME 0.0 DAYS (1-MAR-2004): LINEAR EQUATIONS NOT FULLY 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,那模型有严重的收敛性问题。
第三部分模型收敛性原因分析2007年院油藏数值模拟培训所有用于数学方程迭代求解的相关参数如果满足不了计算收敛性条件,都将影响到模型的收敛性。
初始化数据:包括PVT表、饱和度函数表、VFP表以及初始化物性参数分布和流体参数分布等。
模型设计:主要包括网格设计及模型计算控制等。
PVT表数据:1、如果实验的压力及气油比变化范围太小,而模型运行的压力(尤其是注水井井底压力过高)及气油比变化范围超过数据表提供的区间大小,则会发生PVT 参数的外插。
在没有进行人工合理控制的情况下,模型按照自己默认的处理方式外插往往会产生没有实际物力意义的属性计算(如ECLIPSE软件内部把PVT 数据存储为1/B和1/Bμ,在外插过程中1/B和1/Bμ的微小变化会导致其倒数的巨大变化,从而产生不合理的插值结果),从而引起收敛性问题。
2、PVT数据表的数据光滑性问题,模型在计算求解过程中会对数据表在给定的数据之间进行线性内插,任何一个数据点的梯度为无限值都会导致收敛上的困难。
3、在没有实验数据的情况下,通过相关公式求取或者根据人为经验给定的PVT数据表,往往没有考虑到油、气之间的相互协调性,会出现不合理的PVT 参数结果,从而在高压物性的自检过程中出现总压缩系数为负值的情况,这显然是不符合理论规律的,因而也会产生模型的不收敛性。
饱和度表数据:饱和度表数据包括相对渗透率曲线数据和毛管压力曲线表数据。
与PVT数据表不同,这类数据一般不会因为数据表物理性质的不合理而产生收敛性的问题,往往是由于给定的数据表的数据光滑性及特异性造成的。
主要表现在:1、饱和度和相对渗透率/毛管压力数据的小数点位数过多;2、饱和度值相邻太近,导致相渗/毛管压力曲线的倾角变化太大;3、饱和度有很小的变化而相对渗透率发生很大的变化。
以上现象归结为是一类问题,即相对渗透率/毛管压力曲线倾斜度太大,即曲线在很小饱和度范围内发生很大变化,从而导致收敛性问题。
4、使用饱和度端点标定功能后,可能产生标定后的相渗曲线倾角太大,或标定后的毛管压力太大。