• / 303
  • 下载费用:5 下载币  

STARS+用户手册

关 键 词:
STARS 用户手册
资源描述:
1STARS热采及化学驱模型用户指南2前言概述这个说明分为下面几个部分:-STARS2002.10版和2001.10版之间的重要改变。-与STARS先前版本数据的不兼容性。-STARS2002.10版的新增关键字。-现有关键字功能的加强。-新数据文件-STARS简介STARS2002.10版和2001.10版之间的重要改变井的管理模式STARS2002版首次用同一口井管理模式。并增加了一些新的特征和数据语法的修正。最重要的新特征是井组的控制和一些额外井的操作类型。这些油田规模的数据语法修正是非常广泛的。数据前处理将自动修正先前STARS版本的语法。新水层模型STARS2002版首次用水层模型。并增加了一些新的特征和数据语法的修正。最重要的新特征是能使用更工业化的水层模型,象Caeter-Tracy。数据语法的转换能轻松手动完成。数据前处理模型能修正先前STARS版本的语法。相渗缩放比例相对渗透率饱和度节点已经被分成更家工业化标准的临界/原始的或者残余的/非还原值。新的关键词允许用户单独修改新的节点。缺省时,保留先前的修改。当节点被分开,节点外区域比先前处理的更得当。重油的纵向平衡重力毛管力纵向平衡选项能解决当油比水重时的问题,此时,底部是油,中间是水。多初始化区重力毛管力纵向平衡选项可用于多个不关联的区域,每一个都有自己的界面深度和参考压力。新构成岩石力学选项构成岩石力学选项(*GEOMECH)中的网格的限制已经大大减少了。另外,应力/张力3方程能通过使用CMG的矩阵解法AIMSOL来解,是大量网格的计算更加有效。headcalculation在2001版之前的STARS,在注入井中在head计算中用块属性,从2002版开始,head计算使用注入流体的属性。改进的收敛本版本极大改进了收敛性。与STARS先前版本数据的不兼容性对于现有的STARS数据文件,为了在2002版下正确运行,必须进行下述强制数据转换。不再受支持的关键词-*WIOLD井的管理中不可用-*WATER/GAS(*OPERATE的子关键词):井的管理中不可用-*TINJOV用*TINJW代替-*HEATLOSS:用*PHWELLBORE代替-*PTUBE和*TABLE(*PHWELLBORE的子关键词):使用*SAMODEL-*RTI,等(井筒热损失模型):用*SAMODEL代替-*AQH,等(水层模型):在油藏描述章节中用水层模型-*GROUPWT:用*REPORTING-GROUP代替-*CONSTRNCHK:用*MRC-RESET代替-*KRCYC(*INJ_C_SWT和*PROD_C_SWT子关键词)-*BLOCKP(*OUTSRF*WELL子关键词)-*LAYLIQ,*LAYGAS,*TYPECOMP,*BRIEF(*OUTPRN*WELL子关键词)井的管理STARS采用了先进的井的管理模型。语法需要改变的细则列在“2002版本前的数据转换”中,“井和循环数据”的第一节,此处不再重复。注意:即使数据跟从前版本中的一样,在运行限制和生产井或注入井之间的转换也有不同。在修改的过程中,(参阅井和循环数据中的IMEX循环数据的配伍性)。水层模型STARS采用了先进的水层模型。语法需要改变的细则列在“2002版本前的数据转换”中,油藏描述中的关键词*AQUIFER中,此处不再重复。注意,即使数据跟从前版本中的一样,在办分析方式也有不同。在修改的过程中,STARS能将大部分井的数据转换为IMEX数据集。数据前处理可将2001版的数据文件转换为新版本能接受的语法。天然裂缝选项关键词*FRACVOL只要要有一条裂缝。在先前的版本中,最后一个数字是裂缝的体积分数。4相对渗透率比例尺饱和度终端被分为临界/初始,导致一些关键词的改变和可被接受数据类型的改变。*OUTSRF*GRID的子关键词*SWCand*SGC被*SWCON和*SGCRIT分别代替。超过1的*KRWRO将会得到一个警告,但krw还会跟从前一样。初始值不等于临界值和网格块在临界值之外的数据有不同。相应的终端饱和度被修正。数据“now/oentryhaskrow=0”和“Slc输出文件||数据文件-|STARS|-----索引输出||||-----主结果输出+---------+如果希望进行重新启动运行,则需要其它几个存在的文件,同时产生另外三个文件,具体说明见下图:+---------+数据文件-||-----输出文件||索引输入-|STARS|-----索引输出||主结果输入->||-----主结果输出+---------+关键字输入系统的数据组当你使用关键字输入系统建立数据文件时,有几点应当记住:a)在关键字输入系统中,有9个不同的数据组。b)这些数据组必须遵循下列顺序输入:输入/输出控制油藏描述其他油藏性质组份性质岩石,流体数据初始条件数值计算方法控制岩石力学模型井的数据和循环数据。c)属于各组的关键字不能出现在其他组内,除非是在某些特殊情况下。通常是在井的数据和循环数据组中某些别的数据需要改变。d)同样,也应注意关键字在组内的输入顺序。9如何读关键字的语法每个关键字都有语法,也就是确切的字符,选项,以及关键字处理程序能够接受的顺序,一旦你了解了这些少量的语法规则,你就能够对这本手册中每个关键字的形式进行解释。在圆括号内包含的项是可选择的。也就是你可以输入这些项也可以不输入,但不要把圆括号放在你的数据中。例如,对于*RANGECHECK关键字的语法是:*RANGECHECK(*ON|*OFF)这意味着如下形式是可以接受的:*RANGECHECK*RANGECHECK*ON*RANGECHECK*OFF垂直线是’或’,并将选择列表中的项分开。花括号{}表示任何数量的项列表,例如,{iw}表示井序号iw的一个任意列表。在一个关键字下面一行花括号中的项列表,表示一个任意长度的表,例如,油水相对渗透率表。*SWT{Swkrwkrow(Pcow)}表示可以输入任意多行的Sw,krw和krow(以及可选择的Pcow),只要有足够的空间。赋值给网格的一种性质将使用数组表示,例如对孔隙度,ARRAY:*POR这说明*POR关键字必须使用一个网格数组读入选项。对于网格数组,你可能见到的另一种语法是*POR{GRID}某些关键字需要对每个组份一个数字,这将表示为*KEYWORD{ncomp}*KEYWORD{numy}*KEYWORD{numx}10这里的ncomp,numy和numx是在*MODEL关键字下确定的,在这个关键字下定义了组份列表。一个冒号表示一个范围,使用它最频繁的地方是对I-J-K地址,在I方向,i1(:i2)表示一个数i1,或是一个范围i1:i2,当然这个范围必须适合一定的背景。这里,i1和i2必须在[1,ni]之间,并且i1不能大于i2(ni=I方向网格)。一个单独的组份可通过序号或名称表示,‘comp_num’需要一个通过*MODEL关键字定义的组分序号,通常‘comp_des’(组份指示符)意味着既可以使用组分序号,也可以使用名称(在*COMPNAME关键字中给定)。如何对你的数据文件建立文档方式使用这些关键字建立你的数据文件文档方式:a)*TITLE1,b)*TITLE2,c)*TITLE3d)*CASEID.它们必须位于输入/输出控制段。这些关键字是可选择的,可以不包括在数据文件中,然而它们对于文件的文档化以及区别相似的数据文件是十分有用的,至少应使用一个标题,所有的标题和情况标识必须包括在单引号之间。*TITLE1和*CASEID均用于模拟结果文件系统,这一系统用于产生模拟结果的图形,*TITLE1最长可以是40个字符,而*TITLE2和*TITLE3每个最多允许为80个字符,而*CASEID则仅限于8个字符。你也可以使用两个关键字标识符即“**”在你的数据文件中插入注释,注释可以出现在数据文件中的任何地方。例如:*TITLE1'SimulationRun#1-1989-01-23'*TITLE211'DualPorosityProblemusingtheMINCoption'*TITLE3'Thisisa12x12x10cartesiangridsystem'*CASEID'RUN1'**如果这些标题行没有足够的空间用于这个数据文件**的文档化,你也可以使用注释来描述你输入的数据。**这样你就可以在这里或其它任何地方加入附加信息。如何执行重新启动运行什么是重新启动文件?重新启动文件包含一定的信息,这些信息允许模拟继续进行另一次运行。为什么你需要做重新启动运行?由于下述原因你可能想重新启动:a)做敏感性研究或历史拟合,b)改变井的工作制度,c)在做一个较大的,时间较长的作业之前,执行一个短的模拟运行以观察结果是否满意。d)为在一系列运行中节省执行时间,例如:你已经完成了一个模拟运行并且初步结果看上去不错,现在你想进行预测运行。因为在初始运行中你已经生成了重新启动记录,你可以从你的运行中选择一个时间步并且重新启动模拟,模拟软件并不需要在开始时启动,而是从你选择的时间步开始继续执行。如何进行重新启动运行?重新启动记录是可选择的并不是必须要写的,但是如果你计划做重新启动,你就需要在初始运行中生成重新启动记录。为了进行一个重新启动运行:a)在第一次运行的输入/输出控制段或循环数据段中使用*WRST关键字,*WRST用于说明写重新启动记录的频率。首先运行这个文件,结果文件包括一个IRF文件和一个MRF文件,也可能有一个RRF文件。b)将第一个数据文件复制为另一个文件名(如果你使用了*INCLUDE选项,可能只是主数据文件),最好使用一个类似的名称(例如,case1a.dat,case1b.dat),不要改变任何原有的非循环数据(下面的注释例外)。在数据文件的输入/输出控制数据段加上关键字*RESTART,如果你不希望交互式地提示输入重新启动IRF文件名,使用*FILENAMES*INDEX-IN确定文件名。c)对循环数据进行需要的修改,但只是对重新启动时间之后的时间进行修改。如果必12要的话,增加最大时间步数,或是不改变*MAXSTEPS。d)进行第二次运行,如果对你提示,输入第一次运行的IRF文件名。例:*RESTART30*WRST10在重新启动中可以改变什么在重新启动中最安全的改变是对于循环数据段中的哪些数据。下面的数据只影响网格间的流动或源/汇项,可以在重新启动中慎重地改变。a)化学反应和部分平衡反应。b)岩石流体数据,但不包括吸附。最好的方法是使用*RPT定义多个岩石类型,然后在循环数据段中使用*KRTYPE进行赋值。c)粘度。d)绝对渗透率,只要它不影响孔隙度(例如,膨胀)。建议在一个重新启动中不要人为改变组份性质或是油藏特征,因为它将覆盖模拟软件建立的一致性,并且会产生以后不可重现的结果。在重新启动中改变与时间无关但影响储量的数据(例如,密度,K值,网格大小和孔隙度),会引起在重新启动运行第一个时间步不能解决的物质平衡误差,不建议也不支持覆盖物质平衡检查而通过这个问题。在重新启动中不能改变特定历史的定义。在重新启动中不能改变*TFORM选项和*ISOTHERMAL设置,这意味着不能从一个等热运行重新启动一个非等热运行。控制打印输出文件的内容控制输出文件内容的打印时,需使用关键字:a)*WPRNb)*OUTPRN这些关键字必须出现在输入/输出控制段中,也可能在以后参数改变时,出现在井的数据段中。*WPRN控制打印频率,打印内容包括网格数据,井的数据和计算方法控制数据,例如牛顿迭代和时间步的收敛情况。如果不要求在输出时打印网格,区段和井的数据,则将打印频率设置为零。13例:*WPRN*WELL0*WPRN*GRID0*WPRN*SECTOR0假如它们之中的某些不出现在数据文件中,缺省情况是在每个时间步打印这个信息,这种缺省将会产生非常大的输出文件,能很快地将计算机设备的可用空间添满。*OUTPRN用于限制打印什么样的网格数据,油藏数据和井的数据,以及打印多少个性质表,实际上你可以列出需要的网格数据类型。对井的数据有不同的处理,你可以打印出各种可能的信息或是只打印一个井的汇总。使用*OUTPRN*WELL*ALL对所有井打印出分层信息,此项为缺省情况。使用*OUTPRN*WELL*BRIEF对每口井打印一行汇总。控制模拟结果文件的内容使用*OUTSRF控制模拟结果文件(SR2)的内容。这个关键字可以出现在输入/输出控制段或是改变参数后出现在数据文件的井数据段。如果不要求将网格及井的数据输出到SR2文件,则将频率设置为零。这可以用于减小文件的输出量,然而你也可以在随后的井改变时对输出频率进行修改。*OUTSRF用于限制输出哪种井的数据,网格数据和油藏数据,你可以要求在给定的网格区域输出确定的变量,对于网格信息和井的信息可使用分别的变量表。网格系统描述对网格系统进行描述时,需要使用:a)*GRIDb)*DIc)*DJd)*DK,可选择关键字为:e)*DEPTH,*DTOP和*DIP。上述列出的关键字必须出现在油藏描述数据段中,而且必须出现在数据文件中的*NULL和*POR关键字之前。*GRID描述使用的网格系统类型,有三种选择:规则直角坐标,变深度/变厚度坐标和径向圆柱坐标。每种选择都要求输入I,J,K三个方向的网格数。14例如:*GRID*CART10106*GRID*VARI10106*GRID*RADIAL10115第一个描述一个直角坐标,网格为10x10x6。第二个描述一个变深度/变厚度坐标,网格也是10x10x6。第三个例子描述一个径向坐标系统用于锥进研究,网格为10x1x15。通常使用关键字*DI,*DJ和*DK输入网格步长,在这些关键字输入时必须使用的数组读人选项。例如:*GRID*CART101012*DI*CON100.0*DJ*CON100.0*DK*KVAR25.02*50.03*40.075.03*402*50例中采用的是规则的笛卡尔网格系统,I和J方向的每个网格都是100米宽,而K方向的每个层都具有相同的厚度,而各层的厚度互不相同。注意当使用*KDIR*UP时,你的数据从最底层开始。无效网格的输入在给定的网格系统中,有两种方式可指出存在的无效网格:a)*NULLb)*VAMOD这两个关键字出现在油藏描述数据段。在*NULL后跟一个数组,如果该网格无效则数为0,有效网格的数为1。在下面的例子中,除了I方向网格1到4,J方向网格1到3,K方向网格1到3,其余都是有效网格。对于这个例子可以使用*IJK数组读入选项。例如:*NULL*IJK1:101:101:311:41:31:30从例子中可以看出第二行数据覆盖了第一行,*NULL是可选择的,如果不出现,那么假设所有网格为有效网格。15注意:在确定无效网格时最好使用*NULL方法。在STARS中具有零孔隙度的网格并不像等热模拟软件那样变为无效网格,在STARS中为了处理热传导,既使零孔隙度网格没有孔隙体积,但依然保持为有效网格。局部加密网格描述使用*REFINE关键字描述加密网格的位置,关键字*REFINE必须出现在油藏描述段中,而且必须出现在数据文件中的*NULL和*POR关键字之前。*REFINE要求给出基础网格将被划分的加密网格数,以及在每个方向上需要进行的细分。例如:在一个10x13x3的规则笛卡尔坐标系统中,要将网格(1,1,3)进行加密,在三个坐标方向的加密网格数分别为2,3,2.其表示方式如下:例如:*REFINE113into232对于一个基础网格允许在每个方向上将网格最多划分为4个加密网格。如果你对不同范围内的网格采取不同的细分形式,可顺序输入*REFINE关键字,并指明哪些基础网格的正确位置。注意:在使用双孔隙度选项时不允许使用网格加密。变厚度/变深度选项可以使用加密网格,然而,在每个基础网格中假设细分网格的厚度是相等的。如果加密网格的性质与对应的基础网格性质不一致,使用关键字*RG描述加密网格的性质,否则,认为两者具有相同的性质。使用双孔/双渗模型可用以下关键词来调用双孔双渗模型:a)*DUALPORb)*MINCc)*SUBDOMAINd)*DUALPERMe)*DIFRACf)*DJFRACg)*DKFRAC这些关键词必须出现在油藏描述段中。一个数据文件中只能使用一种选项。如果使用这些关键词,要将它们放在*NULL和*POR前。双孔双渗例子在双孔双渗模型中,孔隙度的输入需要基岩和裂缝的输入,而且基岩必须首先输入,然16后是裂缝的数据。对于其它数据,也应遵守这先后顺序。如:*POR*MATRIX*IJK1:101:101:30.31:41:31:30.0*POR*FRACTURE*IJK1:101:101:30.087:91:20.4*MOD87:81=0.45此例也说明了*MOD,它修正了某些网格的属性,从0.4到0.45。在双孔模型中,无效网格意味着基岩和裂缝有0孔隙度。通常,基岩孔隙度或者裂缝孔隙度被设为0,其它为非0。步长过小或运行时间过长问题当遇到数值计算问题时,使用关键字组合*WPRN*ITER*MATRIX重新运行程序是很有帮助的。这样便打开了矩阵收敛以及牛顿迭代收敛诊断程序。收敛失败可能是由于:a)内部(线性求解)迭代收敛失败。b)由于时间步截断引起的牛顿迭代不收敛。c)物质平衡误差。如果你发现输出文件中频繁出现"迭代例程收敛失败",采用下述方法重新尝试:1.采用更小的时间步长。通过使用*DTMAX设置较小的最大时间步,或使用*NORM*PRESS以及*NORM*SATUR降低每一时间步内允许的压力,饱和度变化值以达到减小时间步的目的。2.使用关键字*ITERMAX增加最大迭代步数。或者,3.使用*SDEGREE增加矩阵分解的度,但应注意到这种方法会增加存储需要。如果在第一个牛顿迭代或第二个牛顿迭代不收敛,而至少在最后一个牛顿迭代是收敛的,则不是一个严重问题。牛顿迭代收敛失败引起时间步截断,而这是由于在迭代过程中某些基本变量超过了标定的变化范围,这样就会产生压力或饱和度负值这样的非物理值,牛顿迭代就会超过确定的最大次数。17如果问题是由最大允许变化引起的,并且不经常产生这种问题,这个问题就不是十分重要的。如果发生大量的时间步截断现象,就应采用下述方法加以改进:4.对相对渗透率和PVT的曲线进行检查是否存在非线性化,不连续,以及跳跃点,这些曲线应当是平滑的。5.检查是否正确地描述了网格及其他的性质。6.检查确定的井生产限制。最好始终对注入井给定最大井底压力,对生产井给定最小井底压力。7.如果不收敛是由于超过限定的牛顿迭代次数,使用关键字*NEWTONCYC增加牛顿迭代循环次数。如果迭代超过限定次数是由于数值振荡引起的,可在输出文件中看到某些网格的气相反复出现或消失,这时采用平滑非线性曲线(4)和减小时间步长(1)的方法是解决此类问题的较好途径。8.在油藏的某些区域或整个油藏采用全隐式方法求解。如果使用缺省的转换临界值,*AIM*STAB只对隐式网格的相邻点作解法转换检查,所以如果在油藏中的某些地区产生剧烈变化,而这些地区又不与井相邻,那么就需要将这些问题设置为隐式求解。这种情况的产生的原因包括:a)当不使用垂向初始化平衡计算时,即使所有井都不打开,有时也会造成初始压力和饱和度发生很大变化,在这种情况下,应使用全隐式方法求解。b)当气顶存在时,如果有较大的气锥产生,应当将气顶底部层位设为全隐式求解,至少应将气锥产生地区设为全隐式。c)当某些网格具有相当高的渗透率值时,很小的压力变化也会造成饱和度剧烈变化,建议将这些地区的网格设为全隐式求解。如果收敛容限与每个时间步的标定变化相比太大就会造成物质平衡错误,检查收敛容限使其小于标定值。使用关键字*MATBALTOL改变模型的敏感性。在大多数情况下,迭代过程中允许变化*NORM*PRESS和*NORM*SATUR,以及容限*CONVERGE*PRESS和*CONVERGE*SATUR的缺省值都是合适的,但在某种情况下,比如当你模拟裂缝油藏或使用裂缝代表水平井时,建议最好使用较小的值。对于模拟锥进问题,同样也建议使用较小的允许变化值。见这个指导段后面的“改进运行情况”。井的定义使用下述关键字对井定义,关键字的输入顺序必须严格遵循:*WELL(要求)*PRODUCER(要求关键字,必须跟随完井关键字)或是*INJECTOR,或是*SHUTIN,或是*OPEN*INCOMP(如果注入油或者气相,则为要求关键字,跟在*INJECTOR之后。)18*OPERATE(至少需要一个工作约束)*MONITOR(监测约束是可选择的)*GEOMETRY(可选择的,必须位于带有*GEO子关键字的完井关键字之前)*PERF(至少这三个关键字其中之一或是它们的组合,是要求的)或是*PERFV或是*PERFRG上述关键字必须全部位于用户数据文件的井数据段中。定义井的类型有四种井的类型,它们是:a)*PRODUCERb)*INJECTORc)*SHUTINd)*OPEN这些关键字必须出现在井数据段,而且井的类型必须定义。这些关键字必须始终位于完井关键字之前。例如:*WELL1‘MEDRIVERP1’*VERT11*WELL2‘MEDRIVERP2’*VERT1515*WELL3‘MEDRIVERI1’*VERT55*WELL4‘MEDRIVERI2’*VERT1010*PRODUCER1:2…**井3和井4为流度加权注入井*INJECTOR3:4*MOBWEIGHT…*PERFV1:2**生产井1和2通过层1到3完井,**每个层具有井指数1.65。1:31.65*PERFV3:4**注入井3和4通过层2和3完井,**每个层具有井指数1.87。2:31.87如何关井以及重新开井在关一口井之前:191)这口井必须经过充分定义,充分定义的内容包括:(a)工作约束关键字以及任何监测约束关键字的使用。(b)完井关键字的使用。井经过充分定义后,就可以在使用*TIME或*DATE关键字的任何时间阶段关井,并且可以在定义之后立即关井。你可以在采取关井措施后的任何时间重新开井,当关掉或打开一口井时,记住使用该井的井序号。例如:一个蒸汽吞吐过程,定义两口井,然后根据需要打开及关闭。time0**CycleNo.1-Injection**INJECTOR:Constantpressuresteaminjectionwell1'Injector1'injectormobweight1operatebhp1000tinjw450qual.7perf1**ijkwi11188**PRODUCER:Constantliquidratetypewell2'Producer1'producer2operateliquid1000perf2**ijkwi11188shutin2**Shutinproducertime10**CycleNo.1-Soakshutin1**Shutininjectortime17**CycleNo.1-Productionopen2**Turnonproducertime40stop工作及监测限制*OPERATE和*MONITOR关键字对于井给出某些限制。对于每口井,至少要求给出一个工作限制,而监测限制是可选择的。每口井在模拟时,都引入了一个新的未知变量Pbh,井底压力,同时要求有一个限制方程来确定这一变量。在最初的工作和监测限制中的第一个工作限制,被认为是主要限制,程序开始试着执行20主要限制,而同时监测其他限制。假如运行违反了某一监测限制,并且这一限制使用了*CONT关键字,则这一限制转变为工作限制。如果在运行时违反多个限制,则采取最严厉的措施:最严厉:*STOP*SHUTIN*CONT最不严厉生产井对于一口生产井,你应当:a)设置一个产量限制(作为主要限制),并且b)设置一个最小井底压力。对于产油井,采用产油量限制,而对于产气井,则选用产气量限制。接下来使用的限制可能是最小产量限制。例如:*PRODUCER1*OPERATE*MAX*STO12000.0*CONT*OPERATE*MIN*BHP1500.0*CONT这个例子说明:a〕使用产油量作为这口井的主要限制。b〕其次的限制为井底压力。如果达到限制,采取的措施为继续运行,并将刚达到的限制转换为主要限制。*CONT是缺省值,不是必须输入的。注入井对于注入井,做如下设置:a)采用最大注入量限制作为主要限制。b)最大井底流压限制。如果是注气井,选择注气量限制,对注水井则采用注水量限制。例如:*INJECTOR2*OPERATE*MAX*STW10000.0*STOP*OPERATE*MAX*BHP2250.0*STOP21这个例子表明:a)将注水量作为这口注水井的主要限制。b)井底压力作为第二工作限制,同时受到程序监测。在上述两种情况下,超过任一限制,模拟过程将停止运行。监测限制监测限制的格式包括*MONITOR,然后是约束类型,除了倒灌之外所有的监测约束都需要一个数值。如果违反了监测约束,那么将采取措施。当同时违反了一个以上的限制时,将采取最严厉的措施。建议你对生产井监测油气比和含水,这样在模拟运行中可以防止产生某些问题。例如:*PRODUCER1*OPERATE*MAX*STO1200.0*CONT*OPERATE*MIN*BHP2500.0*CONT*MONITOR*GOR15000.0*STOP确定井指数在输入井指数时,使用这些关键字:a)*GEOMETRY,b)*PERF,或c)*PERFV,或d)*PERFRG.这些关键字必须位于井的数据段。完井关键字是必须输入的数据,而*GEOMETRY是可选择的。*GEOMETRY可用于流度加权注入井或生产井。*GEOMETRY要求输入必要的参数,在内部计算井指数。完井关键字*PERF,*PERFV,和*PERFRG需要完井位置和用户计算的井指数。如果使用了*GEOMETRY,那么要求一个完井关键字与它一起使用,这个完井关键字使用*GEO表示已经输入了井的参数。*GEOMETRY始终位于*PERF,*PERFV,和*PERFRG之前。*PERF适用于水平井和斜井,但也可以用于垂直井,它具有如下格式:22例如:*WELL1'12-09-18-56'*PERF1**ifjfkfwi112:41.24-或者-*WELL1'12-09-18-56'**radgeofacwfracskin*GEOMETRY*K.375.24881.00.0**Thewellcompletionkeywordmustfollow**thegeometrykeywordpertainstowell1.*PERF*GEO1**ifjfkfff112:41.如果在*WELL关键字下使用了*VERT,那么你就确定了一口垂直井。既然你已经使用*VERT输入了I和J的位置,那么就使用*PERFV,这个关键字只需要输入K方向的网格或网格范围。如果你使用了*GEOMETRY,那么与*PERFV一起使用*GEO。例如:*WELL2*VERT22*PERFV1**kfwi2:41.56如果你使用了加密网格,而井又位于其中,那么必须使用*PERFRG射孔。如果使用了*GEOMETRY,则完井时需要使用*GEO。*PERFRG需要输入完井的基础网格位置和加密网格位置。例如:...**Refinementwillresultincreating3**refinedgridsintheIdirection,3inthe**JdirectionandtwointheKdirectionin**block(1,1,3).*REFINE332*RANGE113...*WELL1*PERFRG1**ifjfkfirjrkrwi113221:21.7523水平井可以使用两种不同的方法对水平井进行模拟。方法1:将注入井作为线源,生产井作为线汇。这种方法忽略了井筒的摩阻压力降和流体的持液效应。在使用源汇方法时,你应该知道是否你模拟的油田存在已知的倒灌问题,这种方法对于有倒灌的问题常给错误的结果,少量轻微的倒灌尚且不严重。渗透率的平面差异可引起水平井筒的倒灌。定义水平源汇的关键字有:a)*WELLb)*INJECTOR或*PRODUCERc)*OPERATEd)*GEOMETRYe)*PERF*GEO*GEOMETRY和*PERF相当于输出了井的生产指数。运行这个数据文件,观察计算的产量,如果结果不是所希望的值,那么就去掉*GEO,用*PERF直接输入用户计算的井指数。方法2:第二种方法是使用离散化井筒模型模拟水平井。这个模型能够动态地处理井筒的水动力学问题,既可用于水平井,又可用于垂直生产井。它最适合模拟摩阻压力降,持液效应显著的那些问题。使用这个选项的关键字是*WELLBORE,既然这种方法将井筒作为井网格的次要孔隙度,因而必须指定相应的压缩系数,岩石类型,相对渗透率表。停止一个模拟运算当时间步达到数据文件中确定的最后一个时间或日期时,模拟正常中止。使用关键字*STOP可以在最后一个时间或日期之前中止模拟运行。例如:*DATE19980908*STOP24关于井数据设置的指导下面的指导用于帮助你使用井和循环数据段,当第一次输入井的数据时,下面的信息必须以这样的顺序排列:1.需要初始的*TIME或*DATE关键字。2.对*DTWELL定义一个值,这是在井定义之后采用的第一个时间步长。3.使用*WELL标明所有新井。一套井的定义包括:4a)定义一口新井,或将一口井转变为另一种生产方式,使用关键字*PRODUCER和*INJECTOR。4b)对这口井定义工作和监测限制。5.使用*GEOMETRY和任何完井关键字(*PERF,*PERFV或*PERFRG)指出井的位置,几何性质,或者是井指数。在任何数据文件中必须出现步骤1到5。6.只有在1至5步骤完成之后,才能使用*SHUTIN。7.使用*OPEN重新打开一口先前关闭的井。8.当你使用不同的选项时,会有不同的关键字要求。在以后的时间阶段内,如改变井的情况,便采用下述步骤:9.在调整现存井的参数之前,定义新井采用步骤1,3,4,5和6。10.可以使用关键字*ALTER,改变任何井的主要工作限制,这个关键字与*DATE或*TIME一起使用。11.可根据需要调整输入/输出控制以及传导率乘子。12.当井的情况改变时,关键字*DTWELL,*DTMAX,*DTMIN也可以出现在循环数据中。模拟运行本段讨论模拟运行的方法。概要STARS要求用户提供输入数据文件名,这个文件名可以控制其他输入和输出文件名。这个数据文件名可以通过命令行变量方式提供,也可以通过交互式提示输入。STARS将信息写到各种输出文件中,也对标准输出设备,如屏幕,写出有用的日志信息。确定数据文件名的方法以及获得日志输出的方法,取决于使用的运行方式,运行平台,批命令或是命令行输入。CMG技术平台CMG技术平台是用于包括STARS的一组CMG软件的图形界面。用户可以将一个25输入数据文件应用(通过Windows平台的拖放功能)于STARS程序,并使它在一个新窗口下运行。技术平台将数据文件名传递给STARS。然而,对于重新启动运行,用户必须通过数据文件中的*FILENAME*INDEX-IN关键字,或对交互式提示进行响应,输入重新启动IRF文件名。日志输出定向于新生成的窗口,在模拟完成之后这个窗口依然保留,并可生成一个文件。脚本脚本是运行STARS的一种方式,当一系列数据文件需要按顺序运行和在UNIX系统(不支持Launcher)中使用。当使用脚本时,所有文件名(输入数据和可能的输入重起)最好通过命令行定义,或者定义为*FILENAME,此法不需提示。可在如下文件夹中找到脚本:.../cmg/stars/yyyy.vv/tpl(此处yyyy表示年,vv表示版本号)。任一个脚本都包括以下的原始命令。如果想有启动特殊Launcher的图标,修改图表的对话框包括可执行路径。Win2000,WinNT,Win95:DOS批命令文件runall.bat接受如“st199910”这样的应用程序名,并且使用它运行这个目录内的所有数据文件,而将每个日志输出写入文件名与数据文件相同,而后缀为“.log”的文件,这需要批命令文件runall1.bat一起工作。必须将STARS执行文件以及和它在一起的所有“.dll”文件复制到模拟运行的这个目录。典型的用法为:runallst199910UNIX:Komshell批命令run_stars接受一个输入数据路径名的列表,并且通过应用程序“stars.exe”顺序地运行这些数据文件,将每个运行的日志输出写到一个基于数据文件名的log文件中。建议使用STARS可执行路径名的一个关联文件名“stars.exe”,或是在批命令中改变需要的可执行路径名。提交一系列后台作业而在退出注册后继续运行的典型应用为:nohuprun_stars*.dat&命令行在UNIX和DOS下,运行STARS的命令行类似这样:st1999vv.exe–fdatafile>logfile这里的vv是特定版本号,可执行文件名可以是复制的或连接的,也可以使用全路径名。可以通过命令行变量或交互式提示的方式提供输入数据文件名。对于重新启动输入文件名,可以通过命令行变量,数据中的*FILENAME*INDEX-IN或交互式提示的方式提供。在输入/输出控制段的开头对所有允许的命令行变量进行了说明。日志输出写到标准输出设备,允许在屏幕上滚动,而更有用的是使用“>”将其重新定26向到一个文件。UNIX平台可以使用“&”在后台运行,并且使用“nohup”保持在用户退出注册后继续运行。WinNT的运行优先级在WinNT中可以使用三个优先级(Low,Medium,High),模拟运行使用的缺省优先级是Medium,这个优先级能够显著地降低其他任务,例如编辑大文件以及使用RESULTS查看数据等的响应时间。经验表明,将模拟运行的优先级降低到Low可以恢复其他任务的响应时间,而对模拟运行时间几乎没有影响。对于模拟运行过程,或是对于手工创建的命令窗口,在批命令或是命令行发出以前(子过程继承低优先级),可以做下面的事情。从任务管理(右击任务条),到过程表,右击感兴趣的过程(例如,“st199910.exe”或“CMD.EXE)。从菜单选择设置优先级并选中Low,你也可以通过选择查看/选择列…以及选中基本优先级检查框,使得在过程表中可见到优先级。这个新的列在以后调用任务管理器将会显示,除非对它禁用。改进数值方法的执行情况这个段讨论模拟的数值方法执行情况不好时的诊断方法,以及改进的建议。怎样读日志输出除了模拟结果的常规输出文件之外,还有每个模拟时间步的汇总,称为日记或日志,写到屏幕上(或者通过重新定向写到一个文件中),下面是一个日志输出的例子:---TimeStep----------Time-------------------Production-------------Injection--Mat---MaximumChanges---COilGasWaterGORWat.GasWaterBalPresSatTempSizeUft3CutErrNo.DaysITTdaysyy/mm/ddbbl/dft3/dbbl/d/bbl%ft3/dbbl/d%psiw/o/gdegF--------------------------------------------------------------------------------------------1.50004.50001980/01/027.5553.28030.27403.60196.60.0086w4.940时间步段具有四列:时间步数,以天为单位表示的时间步长,求解非线性时间步问题
展开阅读全文
  石油文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
0条评论

还可以输入200字符

暂无评论,赶快抢占沙发吧。

关于本文
本文标题:STARS+用户手册
链接地址:http://www.oilwenku.com/p-70529.html
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服客服 - 联系我们
copyright@ 2016-2020 石油文库网站版权所有
经营许可证编号:川B2-20120048,ICP备案号:蜀ICP备11026253号-10号
收起
展开