1、ECLIPSE中文培训教材之 4 RUNSPEzzpCRUNSPEC 部 分RUNSPEC部分的作用-最简化的RUNSPEC部分的开始RUNSPECTITLE这里是模型的名称/DIMENS-NX NY NZ-这里顺序是I,J,K方向上的网格数,例如 20 15 10 /FIELD 单位制可以是英制、公制或矿厂单位制OIL 现在的相可能是油相WATER WATER,GAS,DISGAS,VAPOILSTART 模拟的起始时间,例如1 JAN 1990 /图 26 最简化的RUNSPEC部分 RUNSPEC部分在主存储空间中顺序为模拟的各个组成部分分配内存。 模拟的这些组成部分包括井、表格数据、模
2、拟网格及解算器存储栈。 RUNSPEC部分同时也包含有对模拟的选项,如垂向平衡。 RUNSPEC采用的格式为:选择的参数值在关键字之后。 96a之前的版本要求RUNSPEC有固定的格式。之后的版本仍然支持这项功能,同时也可以自由的转化为新的格式。 一些关键字是必须要使用的,用来确定使用的最小限度,其它的一些关键字则是可选的。 图26给出了RUNSPEC部分最简化的形式。 忽略一些关键字等价于将这些关键字设为默认值。RUNSPEC部分的作用1996年之前的安装版本包含有几个ECLIPSE可执行程序,各可执行程序的作用是使得模拟能够满足20,40,60和80MB内存的要求。一般情况下,这些文件的名
3、字为eclipse_20Mb.exe,eclipse_40Mb.exe等等。对于更大的模拟要求,我们或者是提供一次性的编码版本,或者是直接提供指令,使得用户可以自己修改ECLIPSE的大小。从96a版本开始,ECLIPSE可以自动设置自己的大小,同时自动为各模拟运算分配所需大小的内存空间。从此,只需要一个可执行文件eclipse.dat就可以了。在ECLIPSE读取输入文件时,就会按顺序使用分配好的内存空间。RUNSPEC是非常重要的,因为它指定了如何内部分配内存空间,来存储模拟的各个组成部分(如井、PVT表、和网格的几何形状数据),同时它也指定了模型的基本特征及模拟开始时间。图26给出了必需
4、的关键字,其中有一些关键词还有其额外的参数。输入的PVT和相对渗透率等表格信息占用的存储空间相对较小,即使表格的数目非常多,表格非常大时也是如此。在模拟中最占用存储空间的部分是油藏的网格数据和解算器存储栈。网格数据包含每个网格的几何形状、深度、孔隙度、渗透率和净厚比等信息。ECLIPSE把它们转化为一个孔隙体积、传导系数和网格中心深度的数组,这些量在内部计算网格间的流动时会用到。孔隙体积是一个标量,而传导系数是一个矢量,所以要描述油藏网格模型,最少每个有效网格需要有5个量。模拟网格的总数目等于NX*NY*NZ。在每一个时间步,ECLIPSE都会求解一个关于每个网格的压力、饱和度、溶解气油比和(
5、或)溶解油气比的方程组。连续的模拟迭代步的解必须是正交的,所以ECLIPSE需要快速访问前面几个时间步的的解。这就是解算器存储栈,默认的是快速访问前面10个时间步的解,也可以用关键字NSTACK来修改这个数值。在死油/水模拟中,ECLIPSE求解水相饱和度和压力,默认的在解算器存储器内每个时步为每个网格存储2个值,或任一时刻为每个网格存储30个值。ECLIPSE 1996年之前的版本用的是固定格式的RUNSPEC部分;这种固定格式自那时起就没有被更新。以后的版本则使用了自由格式的RUNSPEC,图26给出了其关键字。虽然现在的ECLIPSE部分可以读取固定格式的RUNSPEC,但是自由格式的R
6、UNSPEC增加了一些96a以前的版本所没有的新功能。RUNSPEC部分关键字图27 按字母顺序排列的ECLIPSE 100关键字 这些是ECLIPSE 100中RUNSPEC部分的关键字。 ECLIPSE 200有其专门的关键字。 有一些关键字有参数,而有一些没有。 ECLIPSE 100参考手册中有对关键字的完整详尽的描述。RUNSPEC部分关键字RUNSPEC部分用来分配存储空间并启动应用程序选项的。分配内存的关键字需要一个最大限制或者是一个确切的数值。例如,各PVT表的行数(关键字TABDIMS的第4项NPPVT)就是一个上限值。另一方面,关键字DIMENS必须给出网格在I、J、K方向
7、上的确切个数。其它的关键字启动程序的一些特定选项,如端点平衡、分子扩散计算或数据检验模式。常用的RUNSPEC关键字AQUDIM 指定解析水体的个数和大小。DIMENS 指定模型的大小。这个关键字是必须的。DISGAS,GAS,OIL,VAPOIL,WATER 指定模型中的相。至少要有一相。DUALPORO 启动双孔选项。ENDSCALE 启动端点平衡选项。EQLOPTS 设置一系列选项,用来定义初始压力和饱和度。FIELD,METRIC或LAB 指定使用的单位制。一个模型的所有数据使用一个相同的单位制。FMTIN,FMTOUT 分别指定格式输入和格式输出。NOSIM 关闭SCHEDULE部分
8、的模拟。这对于在模拟运算前检查关键字的错误是非常有用的。NSTACK 指定存储前面时间步结果的堆栈的长度。困难的问题需要多于10步的值,但是设置的值不要大于最大线形迭代数减一。NUPCOL 定义更新井目标的每一个时间步的非线性迭代的次数。有时设置的值需要大于默认值3。RADIAL 设定径向几何模型。RPTRUNSP 在PRT文件中创建一个关于RUNSPEC选项的列表。START 设置模拟的起始时间。这个关键字是必须的。TABDIMS 设置输入的PVT和饱和度表的大小。TITLE 给出运算的名字。这个关键字是必须的。UNIFIN,UNIFOUT 分别设置独立的输入和输出文件。VE 启动垂向平衡选
9、项。VFPIDIMS,VFPPDIMS 分别定义注入井和生产井的VFP表的个数。WELLDIMS 指定模型中井和井组的个数。这个关键字是必须的。不含RUNSPEC部分的数据文件LOAD-SAVE文件 模拟或 格式化/ 输出-名 检查数据 非格式化 SAVE文件?- 数据文件BASE T /RESTART-文件 报告-名 步BASE 11 /SUMMARY-SUMMARY部分是可选的SCHEDULE-INCLUDE文件包括新增加的井,地面设施-通常在这里输入模拟的进展情况END图28 快速重启文件结构 除了快速重启文件,其它所有的文件都需要有RUNSPEC部分。 在快速重启运算中,RUNSPEC
10、,GRID,EDIT,PROPS和REGIONS部分的数据是从前一次运算得到的SAVE文件中读出的。 LOAD控制着从RUNSPEC部分到SOLUTION部分的关键字,所以在快速重启文件中这些关键字应该是空的,关键字RESTART除外。不含RUNSPEC部分的数据文件所有的数据文件都需要一个RUNSPEC数据部分。快速重启文件读取一个包含RUNSPEC,GRID,EDIT,PROPS和REGIONS部分以及编码形式关键字的SAVE文件。重启运算是可以从前一次模拟的任意一个时间步开始运算的方法。重启运算有两种类型:完全重启和快速重启。完全重启将会在后面部分讨论。如何创建快速重启 运行一个模拟运算
11、。在RUNSPEC部分用SAVE关键字设置输出一个SAVE文件,并要保证在需要的模拟时间步输出重启文件。 拷贝模拟运算的原输入数据文件,删除文件中关键字SUMMARY和SCHEDULE之前的所有内容。 在数据文件的开始部分插入LOAD关键字。根据当前是否是进行数据检验模拟运算,输入的SAVE文件是格式化的还是非格式化的,及是否要输出另一个.SAVE文件等情况,选择LOAD关键字的不同参数。 选择开始模拟运算的报告时间步。 在LOAD关键字后插入RESTART关键字。 在SCHEDULE部分的VFP表后插入SKIPREST关键字,这使得ECLIPSE从最原始的起始时间步直接跳到修改后的模拟起始时间。同样的,也可以删除新的起始时间之前的模拟关键字(TSTEP,DATES)。 同其它的模拟运算一样运行重启运算。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1