CMG中IMEX中文操作手册(二).doc
目 录 IMEX 的介绍1指导段5关键字输入系统中的数据段5如何建立数据文件的文档方式6如何执行重新启动运行7控制打印输出文件的内容8图形文件(SR2)的内容控制9网格系统描述10局部加密网格描述11双孔/双渗模型的使用12死结点的输入17水区选项的使用18拟混相选项的使用19注聚合物模型的使用20程序执行时间长或时间步长太小问题21单相油藏的模拟23水平井25垂直平衡计算25定义多个 PVT 区29井的定义30井的类型定义31如何关井以及重新开井32亏空填充(VOIDAGE REPLACEMENT)34井筒流动模型的使用36操作及监测限制37井指数的输入39中止模拟运行41在井的列表中使用通配符41关于井数据段设置的指导42在循环数据段内可用的其他段关键字44关键字数据输入系统46关键字系统介绍46注释行 (可选择)52空行52包含文件53控制数据文件列表54基岩网格性质的输入57裂缝网格性质的输入57加密网格性质的输入58由 I 方向确定 J 和 K 方向的数据59常数值数组59以 IJK 方式输入数组60数组输入值沿 I 方向变化61数组输入值沿 J 方向变化62数组输入值沿 K 方向变化62大多数或所有网格的值都是不同的63输入/输出控制段67基本网格定义99K 坐标方向105I 方向的网格尺寸107J 方向的网格尺寸108K 方向的网格尺寸110网格的顶部深度112加密网格的位置123双孔介质MINC方法126死结点标识符128孔隙度130岩石压缩系数131渗透率134压力影响函数147流体组分性质数据段153流体模型153油藏温度154油和气的 PVT 表155作为压力函数的油压缩系数168密度173水相粘度179原始气油比180聚合物粘度混合(条件)183岩石流体数据段186相对渗透率表186油水相对渗透率表187气液相对渗透率表194评价三相共存时油相相对渗透率的方法(任选)203初始条件数据段209初始条件标识209油藏初始油相压力212初始泡点压力212初始泡点压力与深度关系213初始含油饱和度215初始含水饱和度216初始聚合物浓度216参考深度和参考压力217油水界面深度218数值计算方法数据控制段225井数据段241井的改变日期241井的改变时间242设定井底流压初始化的频率248附录320 输入/输出控制段通常情况下,用户不必修改关键字的任何数据就能满足使用要求,所以*DIM通常被省略掉。但对于下列两种情况,要注意改变*DIM的参数。一种情况是存在尖灭层。当输出文件计算的最小维数与实际情况相差很大时,要在数据文件中设置*DIM *ACTIVE_BLOCKS 。另一种情况是有效网格数占总网格数的比例很小(小于)使用*DIM *ACTIVE_BLOCKS关键字增加有效网格节点的维数。输入时该数据段位于输入输出控制段的前面。*FILENAMES输入/输出文件名 (可选择)_目的: 确定输入和输出文件名。格式 *FILENAME(S) file_types name_options 这里 file_types 是下面的一种或多种: *OUTPUT *INDEX-OUT *MAIN-RESULTS-OUT *REWIND-OUT *INDEX-IN *MAIN-RESULTS-IN *REWIND-IN 对于 file_types 是 *INDEX-OUT, *MAIN-RESULTS-OUT, *REWIND-OUT, *MAIN-RESULTS-IN 和 *REWIND-IN, 必须确定下面的 name_options 之一。 '' 'filename' *PROMPT 对于 file_type 是 *OUTPUT ,必须确定下面的 name_options 之一。 '' 'filename' *PROMPT *SCREEN 对于 file_type 是 *INDEX-IN ,必须确定下面的 name_options 之一。 'filename' *PROMPT 定义: *FILENAME(S) 文件名关键字,S为可选择字符。*OUTPUT 输出文件,将写入模拟结果。*INDEX-OUT 结果索引文件(irf),将写入 ascii 码模拟结果数据。*MAIN-RESULTS-OUT 主结果文件(mrf),将写入二进制码模拟结果数据。*REWIND-OUT 可回绕结果文件(rrf),当使用 *REWIND 选项时,将写入重新启动数据。*INDEX-IN 结果索引文件,将从中读出模拟结果和重新启动记录,只有在重新启动运行时才需要这个文件。*MAIN-RESULTS-IN 主结果文件,将从中读出模拟结果和重新启动记录(二进制码),只有在重新启动运行时才需要这个文件。*REWIND-IN 可回绕结果文件,将从中读出回绕的重新启动记录(二进制码),只有在重新启动运行时才需要这个文件。 空字符串,表示使用缺省文件名,如果输入数据文件中没有 *FILENAMES 关键字,此为缺省情况。filename 文件名字符串,最多80个字符,文件名是否被接收取决于使用的操作系统。*PROMPT 表示如果需要这个文件,将通过屏幕/键盘对用户提示文件名。*SCREEN 表示文件将输出到屏幕(标准输出设备)上。缺省: 如果任何输入/输出文件名未通过*FILENAME关键字确定,则缺省为*PROMPT。例如:*FILENAME 隐含 *FILENAME *OUTPUT *PROMPT。如果使用了*FILENAME file_type 确定一个文件名,只是未给出 name_options ,则缺省为 ,即使用缺省文件名。例如:*FILENAME *OUTPUT 隐含 为 *FILENAME *OUTPUT 。 缺省文件名:仅当确定了 name_option 时,才使用缺省文件名,对于任何文件都可以独立地确定缺省,然而某些文件的缺省名依赖于其它文件名的选取,例如输入文件。 一个缺省文件名的形式为xxxxxxxx.yyy,具有个根xxxxxxxx和后缀yyy,这个后缀取决于与其相关的文件选项,例如,out 用于主要输出,irf 用于 SR2 索引,而 mrf 用于 SR2 的主结果文件,根是由另一个文件名导出的,如下: (a) 去掉后缀和 . 分隔符(b) 除了最右边的字母数字组和 - 字符,去掉其它字符(c) 去掉 8 个字符后的任何字符 例如:UNIX 路径名'/CMG/DATA/TEST-3.DAT'具有根 'TEST-3'。 下面的表为缺省文件名的根和后缀的汇总: 文件 根的来源 后缀 - - - *OUTPUT 数据文件名 .out *INDEX-OUT *OUTPUT .irf *MAIN-RESULTS-OUT *OUTPUT .mrf *REWIND-OUT *OUTPUT .rrf *INDEX-IN (无缺省) .irf *MAIN-RESULTS-IN *INDEX-IN .mrf *REWIND-IN *INDEX-IN .rrf 使用这个缺省系统,用户只需要在每次运行中改变数据文件名和 *INDEX-IN 文件名就可执行重新启动运行。 例 1 :数据文件为 cycle.dat,因此 *OUTPUT 的缺省为 cycle.out。 如果使用 *OUTPUT 的缺省,那么 *INDEX-OUT 的缺省是 cycle.irf,*MAIN-RESULTS-OUT 的缺省是 cycle.mrf。 例 2 :数据文件为 cycle.dat。 在第一次运行时,数据段内含有 *FILENAME *OUTPUT triall。 那么 *INDEX-OUT 的缺省是 trial1.irf,*MAIN-RESULTS-OUT 的缺省是 trial1.mrf。 对于第二次运行数据段,修改cycle.dat,并加入 *RESTART 关键字,然后使用 *FILENAME *OUTPUT trial2.out,和 *FILENAME *INDEX-IN trial1.irf,不改文件名或删除文件。 *INDEX-OUT 的缺省为trial2.irf,*MAIN-RESULTS-OUT 的缺省为trial2.mrf,*MAIN-RESULTS-IN 的缺省为trial1.mrf,条件: *FILENAME 在输入数据文件中必须是第一个关键字,否则将对用户提示文件名。 *FILENAME 在输入/输出控制数据段必须是第一个关键字。 所有输出文件皆以UNKNOWN方式打开,所以并不对覆盖进行保护。 所有输入文件皆以OLD方式打开,所以在模拟运行时必须存在。解释: CMG 新的模拟结果文件系统(第二代)也称作 SR2,SR2 文件系统由在一起工作的三个文件组成,它们是结果索引文件(irf),主结果文件(mrf)和可回绕结果文件(rrf)。对于图形后处理软件“RESULTS”,其中两个文件是必须有的,它们是 irf 文件和 mrf 文件。对于重新启动运行也同样需要这些文件,假如使用了 *REWIND 选项写重新启动记录,那么对于重新启动运行也需要可回绕结果文件 rrf。请注意: SR2 文件系统与先前的 SRF 文件系统不兼容,为了从 SR2 文件系统中生成一个 SRF 文件,请使用这个发行版所提供的 SR2 到 SRF 的转换程序。 例: * 使用 index-out-file 的缺省文件名 'root.irf' * 采用不写入输入数据文件的方法 * 让程序提示输入 MRF 文件 *MAIN-RESULTS-IN *FILENAMES *OUTPUT 'root.out' *INDEX-OUT *MAIN-RESULTS-OUT 'name.mrf' *INDEX-IN 'input.irf'*DIM运行时间定义(任选)_-目的:给维数变量赋值。格式:*DIM dim_variable 变量值其中 dim_variable可以是: *MEMORY_MODEL *ACTIVE_BLOCKS *NULL_BLOCKS *MAX_FAULTS *MAX_AQUIFERS *MAX_SECTORS *MAX_LEASELINES *MAXBLKS_IN_LEASELINES *MAX_PVT_REGIONS *MAX_ROCK_TYPES *MAXENTRIES_IN_KR_TABLE *MAXENTRIES_IN_PVT_TABLE *MAX_WELLS *MAX_LAYERS *MAX_WELL_CONSTRAINTS *MAX_GATHERING_CENTERS *MAX_SPECIALVARS_IN_SRFOUTPUT *MAXPERCENT_OF_FULLYIMPLICITBLOCKS *SOLVER_DIMENSIONING *SOLVER_DIMENSIONING 必须在下列选项读入之前读入: *MAX_ORTHOGONALIZATIONS *MAX_INTERBLOCK_CONNECTIONS *MAX_OFFDIAGONAL_ENTRIES *MAX_BLOCKENTRIES_IN_LU_FACTORS *MAXSIZE_SOLVER_VECTOR *MAX_SOLVER_DIAG_ENTRIES *MAX_NONZERO_L_OR_U_ENTRIES定义:*DIM 关键字*MEMORY_MODEL设置维数的参数,使IMEX以一定的内存空间运行,可设为8,16,26,32,64或128数字大致反映出内存的大小(以MB为单位)如运行一个128MB的模型,可输入*DIM *MEMORY_MODEL 128。若出现维数方面的问题,将MEMORY_MODEL设为128,或许问题就会解决。*ACTIVE_BLOCKS 有效网格数。有效网格包括双孔网格,混合网格和加密网格,不包括死节点(孔隙度为零的网格)。例如 *DIM *ACTIVE BLOCKS 2000*NULL_BLOCKS 死节点数。缺省情况是没有死结点,即所有的网格都当作有效网格。例如 *DIM NULL_BLOCKS 500*MAX_FAULTS 最多断层数。例如 *DIM MAX_FAULTS缺省值为15。*MAX_AQUIFERS最多侵入区数 例如*DIM MAX_AQUIFERS 15。缺省值为15。*MAX_SECTORS最多分区数。例如*DIM MAX_SECTORS 50。缺省值为50。*MAX_LEASELINES最多租赁线数。例如*DIM MAX_LEASELINES 12。缺省值为15。*MAXBLKS_IN_LEASELINES 一条租赁线上最多网格数。例如 *DIM MAXBLKS_IN_LEASELINES 5000。缺省值为150*MAX_PVT_REGIONS 允许的最多PVT区域 例如*DIM MAX_PVT_REGIONS 50 缺省值为15。*MAX_ROCK_TYPES 允许的最多岩石类型 例如*DIM MAX_ROCK_TYPES 100 缺省值为30。*MAXENTRIES_IN_KR_TABLE 岩石-流体数据表中最多输入项 例如*DIM MAXENTRIE_IN_KR_TABLE 51。缺省值为51。*MAXENTRIES_IN_PVT_TABLE 每个PVT表中最多输入项 例如*MAXENTRIES_IN_PVT_TABLE 51。缺省值为51。*MAX_WELLS 最多井数(包括关闭的井) 例如*DIM MAX_WELLS 600 。 缺省值取决于数据文件中定义的井的信息。*MAX_LAYERS 完井段包含的最多层数 例如 *DIM MAX_LAYERS 5。 缺省值为5。*MAX_WELL_CONSTRAINTS 最多井的操作或监测限制条件。 例如 *DIM MAX_WELL_CONSTRAINTS 5。 缺省值为5。*MAX_GATHERING_CENTERS 最多集输中心数。 例如 *DIM MAX_GATHERING_CENTERS 4。 缺省值为15。*MASX_SPECIALVARS_IN_SRFOUTPUT SRF 输出中允许的最多*SPECIAL 变量数。例如,*DIM *MASX_SPECIALVARS_IN_SRFOUTPUT 500。缺省值为100。*MAXPERCENT_OF_FULLYIMLITBLOCKS 全隐式网格的最大百分数。取值在10到100之间。若全隐式选100。例如,*DIM MAXPERCENT_OF_FULLYIMLITBLOCKS 100。对于油水模型和黑油模型缺省值为100,对拟混相驱模型和聚合物驱模型缺省值为42。*SOLVER_DIMENSIONING 例如,*DIM SOLVER_DIMENSIONING ON解法数组按常规定义维数;*DIM SOLVER_DIMENSIONING OFF解法数组不按常规定义维数。缺省为OFF。*MAX_ORTHOGONALIZATIONS线性解法中正交化次数。减少正交化次数能节约存储空间,但效果不好。只有当SOLVER_DIMENSIONING设为ON时,选项才有效。例如,*DIM MAX_ORTHOGONALIZATIONS 5.缺省值为11。*MAX_INTERBLOCK_CONNECTIONS 最多的网格间连接。网格间的连接包括网格间两两相连,以及由于井而产生的连接。只有SOLVER_DIMENSIONING置为ON,该选项才有效。例如,*DIM MAXLNTER_BLOCK_CONNECTION 5。缺省值是根据基础网格数NI、NJ和NK,死节点数以及模拟的问题类型来估算的。*MAX_OFFDIAGONAL_ENTRIES 非对角Jacobi矩阵中最多输入项数只有当SOLVER_DIMENSIDONING置为ON,该选项才有效。例如 *DIM MAXDFFDIAGONALENTERIES 5。缺省值是根据基础网格数,NI、NJ和NK,死节点数以及模拟的问题类型来估算的。*MAX_BLOCKENTRIES_IN_LU_FACTORS LU分解输入的最多网格数。只有当SOLVER_DIMENSIONIONG置为ON,该项才有效。例如,*DIM MAX_BLOCKENTRIES_IN_LU_FAOTORS 5。缺省值是根据基础网格数,NI、NJ和NK,死节点数以及模拟的问题类型来估算的。*MAX_SOLVER_VECTOR 解向量的最大维数。只有当SOLVER_DIMENSIONING置为DN,该选项才是有效的。例如*DIM MAX_SOLVER_VECTOR 5。缺省值是根据基础网格数,NI、NJ和NK,死节点数以及模拟的问题类型来估算的。*MAX_SOLVER_DIAG_ENTRIES 对角线上的最多输入项数。只有当SOLVER_DIMENSIONING置为ON,该选项才有效。例如,*DIM MAX_SOLVER_DIAG_ENTRIES 5缺省值是根据基础网格数,NI、NJ和NK,死节点数以及模拟的问题类型来估算的。*MAX_NONZERO_L_OR_U_ENTRIES LU矩阵中非零项的最多项数。只有当SOLVER_DIMENSIONING置为ON,该选项才有效。例如 *DIM MAX_NONZERO_L_OR_U_ENTRIES 5。缺省值是根据基础网格数,NI、NJ和NK,死节点数以及模拟的问题类型来估算的。*TITLE1项目主标题 (可选择)_目的: *TITLE1 用于项目标识。格式: *TITLE1 string 定义:string 包含在单引号之间的任何字母数字字符串。(最多40个字符)缺省: 可选择关键字,缺省为空格。条件: 此项关键字必须出现在输入文件开始的输入/输出控制数据段中、说明: 此项关键字说明一个用于标识项目的字母数字字符串,它将出现在输出文件和结果索引文件中。 任何含有空格和逗号的字符串必须使用单引号括住。 例如: *TITLE1 'DUAL POROSITY/DUAL PERMEABILITY RUN NO.1' *TITLE2项目第二标题 (可选择)_目的: *TITEL2 提供方案标识的第二行,作为 *TITLE1 的补充。格式: *TITLE2 string 定义:string 任何用单引号括起的字母数字字符串,最多80个字符。 缺省: 此项为可选择关键字,缺省为空格。条件: 此项关键字必须出现在输入文件开始的输入/输出控制数据段中、说明: 此项关键字说明一个用于标识项目的字母数字字符串,它将出现在输出文件和结果索引文件中。 任何含有空格和逗号的字符串必须使用单引号括住。 例如: *TITLE1 'DUAL POROSITY/DUAL PERMEABILITY RUN NO.1' *TITLE2 'Run by F.R. Sangiovanni, December 16, 1988. IBM '*TITLE3项目第三标题 (可选择)_目的: *TITEL3 提供方案标识的第三行,作为*TITLE1 和 *TITLE2 的补充。格式: *TITLE2 string 定义:string 任何用单引号括起的字母数字字符串,最多80个字符。 缺省: 此项为可选择关键字,缺省为空格。条件: 此项关键字必须出现在输入文件开始的输入/输出控制数据段中、说明: 此项关键字说明一个用于标识项目的字母数字字符串,它将出现在输出文件和结果索引文件中。 任何含有空格和逗号的字符串必须使用单引号括住。 例如: *TITLE1 'DUAL POROSITY/DUAL PERMEABILITY RUN NO.1' *TITLE2 'Run by F.R. Sangiovanni, December 16, 1988. IBM ' *TITLE3 'IMEX 4.0; 4200 grid blocks; variable thickness'*CASEID方案标识 (可选择)_目的: *CASEID 用于标识方案运行。格式: *CASEID string定义:string 任何用单引号括起的字母数字字符串,最多8个字符。 缺省: 此项为可选择关键字,缺省为空格。条件: 此项关键字必须出现在输入文件开始的输入/输出控制数据段中、说明: 此项关键字说明一个用于标识方案运行的字母数字字符串,它将出现在输出文件和结果索引文件中。 任何含有空格和逗号的字符串必须使用单引号括住。 例如: *CASEID Case 21c*CHECKONLY只进行检查 (可选择)_目的: *CHECKONLY 表示只检查井数据的格式错误,不做模拟运行。格式: *CHECKONLY缺省: 此项为可选择关键字,如不存在则不检查井数据。条件: 这一关键字必须位于输入/输出控制段内。*INTERUPT 陷阱UNIX #2中断(任选)_目的:表示当用户同时按下CTR_C键或键入”Kill_2进程号(PID)”来终止一个运行时,可以转而采取下列行动:1. 继续进行模拟。2. 完成当前时间步,写重启记录并结束模拟。3. 刷新缓冲区,关闭文件并立即结束模拟。4. 写一个临时的重启记录,并继续运行。5. 仅对PC机而言,立即无条件结束模拟(Control_Break键)。上述1-3条,可以防止.irf和.mrf文件在退出模拟时被破坏,同时可以有选择地在模拟结束前写重启记录。第4条可以写一个临时的重启记录。格式:*INTERUPT (*RESTART_STOP) (DEFAULT) (*WRST_CONT) (*STOP) (*STOP_COLD) (*INTERACTIVE)定义:*RESTART_STOP 表示完成当前时间步,所有定义的输出数据写到输出文件和SR2文件,同时重启记录也写到SR2文件。*WRST_CONT 确定写一个临时的重启记录,也就时说,所有定义的输出数据写到输出文件和SR2文件,重启记录也写到SR2文件,模拟继续进行。*STOP 确定模拟立即终止。当前时间步不必完成,但在模拟终止前,所有的缓冲区被刷新,文件关闭以防破坏。*STOP_COLD 模拟立即无条件结束运行。Contyol_c和交互模式下的Control_Break都能够产生这样的结果。*INTERACTIVE 提示用户输入要采取的措施。缺省:该关键字为任选关键字。缺省时表示要提示用户输入上面三种措施中的一种。若只输入*INTERUPT而没有输入措施,缺省措施为*RESTART_STOP。条件:该关键字必须位于输入/输出控制数据段内。*SR2ASCII SR2文件ASCII码形式文件(任选)_目的:产生一个主要结果文件(.mrf)的一个ASCII码拷贝。该备份文件扩展名为.asc。格式:*SR2ASCII缺省:该关键字是任选关键字。无缺省值条件:该关键字是必须出现在输入/输出控制数据段内。*INUNIT输入数据单位 (可选择)_ 目的: *INUNIT 用于确定输入数据单位。格式: *INUNIT (*SI) (*FIELD) (*LAB) (*MODSI) 定义:*SI 这个选项确定输入数据使用国际标准单位。 *FIFLD 这个选项确定输入数据使用矿场单位(英制)。 *LAB 这个选项确定输入数据使用实验室单位。 *MODSI 这个选项确定输入数据使用修改的国际标准单位。缺省: 这一关键字为可选择项,缺省为 *SI。条件: 这一关键字必须位于输入数据文件开始的输入/输出控制段内。说明: 数据可使用下面单位表中四种选项中的一种输入。 例如: *INUNIT *FIELD 单位 表 _ | | | | | | | | *SI | *FIELD | *LAB | *MODSI | |_|_|_|_|_| | | | | | | | 时间 | days | days | mins | days | |_|_|_|_|_| | | | | | | | 液体体积es | m3 | bbl | cm3 | m3 | |_|_|_|_