CMG软件培训讲义二中文.docx
- 文档编号:8020177
- 上传时间:2023-01-28
- 格式:DOCX
- 页数:27
- 大小:763.55KB
CMG软件培训讲义二中文.docx
《CMG软件培训讲义二中文.docx》由会员分享,可在线阅读,更多相关《CMG软件培训讲义二中文.docx(27页珍藏版)》请在冰豆网上搜索。
CMG软件培训讲义二中文
ComputerModellingGroup,Inc.
2008操作指南
使用
建立、运算并分析
“STARS水驱”油藏模拟模型
目录
用BUILDER2008.12创建一个黑油模型….….….…………….3
启动CMG主界面3
打开BUILDER3
创建模拟网格3
定义模型的孔隙度和渗透率6
创建PVT数据7
创建相对渗透率数据8
创建初始条件9
创建井轨迹和导入射孔文件……………………………………………9
添加历史生产数据………………………………………………………12
创建月度生产/注入动态数据12
创建历史拟合文件(*.fhf)13
井定义和约束条件13
往重启动文件中写入重启动信息…………………………………………15
运行STARS数据体……………………………………………………...15
用ResultsGraph查看模拟结果………………………………………...16
在历史数据的基础上启动预测运算……………………………………..17
用BUILDER2008.12创建一个黑油模型
在你硬盘上创建一个工作目录,把与该指南相关的图放在该目录下。
启动CMG主界面(桌面上的图标或者开始/程序/CMG/Launcher)
∙选择菜单项Projects,然后AddProject
∙浏览并选择存储图文件的目录
∙工程命名为Tutorial
∙点击确定回到主界面
∙现在你应该能看到工作目录
打开BUILDER2008.12(双击图标)
∙选择:
STARSSimulator,SIUnits,SinglePorosity
Startingdate1991-01-01
∙点击2次确定
创建模拟网格(构造数据)
∙点击File(位于左上角的菜单栏),然后OpenMapFile
∙选择MapType–AtlasBoundaryformat,x/y坐标系的单位为m
∙点击Browse按钮选择并导入构造顶部文件To10flt.bna
∙点击确定
∙点击窗口最大化按钮(窗口右上角的方块)使窗口最大化,以方便观察
∙点击Reservoir(位于菜单栏)
∙选择OrthogonalCornerPoint定义网格为25(I-方向)x35(J-方向x4(K-方向)。
∙在I方向文本框输入25*110(意思是I-方向的25列长度均为110m)
∙在J方向文本框输入35*125(意思是J-方向的35行宽度均为125m)
∙点击确定
∙按住Shift键并按下鼠标左键可移动网格
∙按住Ctrl键并按下鼠标左键可旋转网格
∙排列一下网格和断层,使得断层沿着网格边界分布,并且网格能完全覆盖整个区域。
∙点击左上角的工具栏按钮
将显示模式切换到Probemode
∙点击SpecifyProperty按钮(屏幕中间顶部)打开下图的GeneralPropertySpecification
∙选择属性GridTop下layer1对应的文本框,右键选择GeologicalMap作为数据源。
∙点击Valuesinfile1按钮,然后浏览并选择构造顶深文件To10flt.bna(在之前的操作中应该已经被选择)
∙点击确定回到表格窗口
∙对GridThickness的layer1重复以上操作,不过这次在Valuesinfile1中选择Thickflt.bna。
并且要在times框中输入0.25(也在属性定义菜单中),目的是要使网格中4个层的厚度均为总厚度的25%。
最后,拷贝layer1,GridThickness表格内容粘贴到layer2,layer3和layer4对应的表格中完成所有4个层网格厚度的定义。
你可以用Cntrl-C和Cntrl-V从第一个层拷贝到其它3个层,点击确定
∙点击CalculateProperty按钮并确定将顶深和厚度值赋给网格(该操作是BUILDER通过插值将等值线数据赋给网格)。
∙将视图从IJ-2DAreal改到3-DView(位于左上角!
!
)
∙点击rotate3Dview按钮
(位于工具栏),按下鼠标左键旋转视图,使用指针移动模型。
同时按下Cntrl键和鼠标左键,向上移动鼠标可缩小视图,向下移动鼠标放大视图。
∙要将等值线从视图中去掉,可以在指针位于视图任何位置时点击鼠标右键,从弹出菜单中选择Properties(位于菜单底部),从目录树中选择Maps,最后使ShowMapContoursLinesandFault前面的复选框为未选。
定义模型的孔隙度和渗透率
∙对Porosity重复该操作,但是选择等值图文件porosflt.dig。
对每个层使用相同的等值图。
注意输入等值图文件的值单位是%,而模拟器需要的是小数(需要对每个文件乘以0.01)
∙从面板列表中选择PermeabilityI
∙输入以下数值:
Layer150
Layer2250
Layer3500
Layer4100
∙在WholeGrid行选择PermeabilityJ并点击右键
∙点击表格选择EQUALSI然后确定
∙对PermeabilityK进行同样操作
∙点击表格选择EQUALSI
∙在第一个框中选择*,然后Value为0.1(即Kv/Kh=0.1),然后确定
∙退出GeneralPropertySpecification,点击CalculateProperty
∙如果上面操作正确,Reservoir选项卡应该通过检查。
定义其它油藏属性
∙选择OtherReservoirProperties,弹出如下窗口:
∙点击
按钮,选择NewThermalRockType,选择RockCompressibility选项卡
∙设置岩石压缩系数为2E-51/kPa,参考压力为20000kPa,单位将自动给出
∙退出回到主面板中
∙此时正应该保存你的数据文件。
点击File然后SaveDatasetas.,将文件保存为Tutorial.dat.
创建组分性质数据
∙切换到Component选项,Add/EditComponent,从组分库中选择“H2O”,定义为水相组分,同时还可以根据相平衡常数存在于气相中(Steam)。
∙(不要担心关于的密度的警告信息!
!
!
)
∙添加另一个组分,命名“DeadOil”,定义为油相组分,没有相平衡常数劈分(该油中没有溶解气)
∙输入分子量0.6(相当于600gm/g-mole),Pc,Tc等于0,
∙点击应用并确定.
∙选择Densities选项卡,选择MassDensities,输入以下值:
Water1000Kg/m3
DeadOil980Kg/m3
液体压缩系数和热膨胀系数先空着不填(使用缺省值!
!
!
)
∙切换到LiquidPhaseViscosity数据段,选择“Useviscositytable”选项,输入下表中油的粘度,水粘度输入0值(这将激发程序对水使用缺省值!
!
),
(注意:
输入数据时使用CtrlI来插入行!
!
!
!
!
)
Temperature
Viscosity
25
5780
40
1380
65.5
0.4
93.3
0.3
121.1
0.2
148.9
0.15
176.7
0.12
260.0
0.11
426.7
0.1
∙点击确定,所有值都应该ok!
!
创建相对渗透率数据
∙点击RockFluid数据段
∙双击树状菜单中的RockFluidType,将弹出一个菜单。
通过点击
按钮选择NewRockType来选择岩石类型
∙选择Tools和GenerateTableusingcorrelation
∙输入以下参数用于生成相对渗透率曲线
Swcon0.2
Swcrit0.2
Soirw0.4
Sorw0.4
Soirg0.2
Sorg0.2
Sgcon0.05
Sgcrit0.05
Krocw0.8
Krwro0.3
Krgcl0.3
Krogcg0.8(可选,不输入)
所有指数均为2.0
∙然后应用,确定,会出现一个包含相对渗透率数据的表。
∙RockFluid数据段应该ok,保存文件。
创建初始条件
∙点击BUILDER树形菜单中的Initial选项卡
∙双击InitialConditions
∙选择Water-Oil-Gas作为油藏流体的初始化分布,进行重力-毛管力平衡计算
∙输入:
27600(kpa)-Referencepressure窗口
3050(m)-Depthofreferencepressure窗口
3080(m)-Water-oilcontact窗口
1980(m)-Gas-oilcontact窗口
∙其它表格留作空白
∙点击应用;然后确定
∙你现在应该回到BUILDER的主菜单,除了动态数据部分,其它选项卡都已经ok。
∙建议此时再次保存文件,从顶部菜单中选择File,SaveDataset.
创建井轨迹和射孔数据
创建完静态模型后,我们现在就要将井轨迹和射孔数据加进模型中。
∙点击WellsandRecurrent选项卡
∙打开菜单WellTrajectories
∙点击
按钮,选择CreateNewTrajectoriesfromcompletions(PERF)…将弹出下面的窗口:
∙该窗口可根据等值线图为每口井创建一个垂向井轨迹,点击确定来创建这些垂向井轨迹;
∙现在回到菜单WellTrajectories,选择TrajectoryperforationIntervals…,弹出下面的窗口:
∙点击ReadFile,选择文件MODIFIED-PERFS.PeRF,选择SI单位制,然后open
∙若操作正确,该窗口将更新到如下:
∙点击应用和确定;
∙完成了模型中井的轨迹和射孔定义
添加历史生产数据
我们要做的最后一项工作就是要将历史生产数据添加到模型中,这样就能进行历史拟合运算
∙再回到顶部菜单选择ImportProduction/Injectiondata(该向导用来为模拟器创建生产动态数据并定义每口井的状态!
!
)
∙STEP1:
该向导的第一步是指定生产文件的类型和名字。
在我们的算例中,我们将使用General类型,从指南目录中选择文件Production-history.prd
∙STEP2:
按照指导,选中包含生产数据和井名的第一行,然后下一步[使用面板上的Next/Back按钮在上一步和下一步之间进行切换]
∙STEP3:
如果数据分列没有问题,就进入第4步
∙STEP4:
进入第3至5列,在标志行中对每一列选择OilProduced,WaterProduced和GasProduced。
∙STEP5:
这里告诉你哪些井的生产数据已经被导入,哪些还没有被导入。
比如,程序没有找到well5,7和9的生产数据,因为这些井没有生产历史,最简单的处理方法就是删除这些井,我们后面再做。
除此之外,点击完成。
创建月平均生产/注入数据
我们下一步就是要生成每个月的动态数据。
再回到顶部菜单选择AverageProduction/InjectionData
现在将鼠标移到y轴上点击右键,将弹出一个菜单允许你将平均时间段改成月度平均、半年度平均或年度平均(monthly,bi-annually,yearly)等。
选择monthly并确定
创建历史拟合文件(*.fhf)
我们下一步就要创建历史拟合文件,这样就能对模拟计算结果和实际生产数据进行对比。
再回到顶部菜单选择CreateFieldHistoryfile,然后提供一个文件名(也可以使用缺省的)
井定义和约束条件
对那些没有生产历史的井,我们要么把它删掉,要么定义成生产井或注入井,然后关井,这样就不影响历史拟合。
在该指南中,我们删除well5,将well7和9改成注入井。
打开树状视图,选择Well5点击右键,选择delete和yes
选择well7,右键,Properties,将弹出一个新菜单:
点击ID&Type,选上Edit复选框,选择井类型Type为InjectorMobweight
打开Constraints选项卡,(若问到是否应用修改则回答YES!
!
),选上constraintdefinition复选框。
在selectnew下,输入OPERATE,BOTTOMHOLEPRESSURE,MAX,25000KPA
打开InjectedFluid,选择Water作为注入流体。
Injectionrate–128m3/day,
Temperature–332degC,
SteamQuality–0.8
打开Options,选上Status复选框,在该时间点选择Shut-inwell。
现在,我们将以上设置拷贝到well9。
为此,确保你在well7中选上INJECTOR,constraints,Injectedfluid,SHUTIN(所有项!
!
!
),选择屏幕底端的Tools,点击菜单顶部的Copyeventsusingfilter,弹出一个新菜单,然后选择well9,打开DateSelection选项卡,选上1991-01-01,然后SearchandAdd,如下所示:
点击确定,对well9创建了与well7相同的所有约束条件。
如果弹出对话框要求改变well9的状态,选择“YES”,
一切就绪后,所有的选项卡前面都打上对勾。
请再次保存文件!
!
!
∙我们现在就定义了一个完整的油藏模型,可以提交模拟器计算了!
现在可以将数据体tutorial.dat拖放到主界面窗口中的STARS图标上进行计算,后面我们分析一下计算结果。
往重启动文件中写入重启动信息
∙点击I/OControl选项卡
∙选择Restart
∙点击EnableRestartWriting
∙点击+号,选择第一个时间点1991-01-01.
∙选择第一个选项Ateverytime…..
∙点击确定回到主面板
∙点击File-SaveDatasetas.保存为tutorial_hm.dat
∙我们现在已经完成了整个数据体,可以退出Builder了。
将tutorial_hm.dat拖放到STARS图标上运算。
使用重启动计算就可以在不重新计算历史拟合部分的前提下进行预测计算。
运算STARS数据体
∙一切完备后,你就可以运算数据体
∙首先在主界面中找到Tutorial-hm.dat,然后拖放到STARS2008.12上释放鼠标,会弹出一个新菜单,选择RUNIMMEDIATELY.
∙在主界面下栏会显示计算状态。
使用RESULTSGRAPH和RESULTS-3D查看模拟结果
我们现在可以查看模拟运算结果,并与历史数据相比较,看看油藏如何变化。
∙将tutorial_hm.irf拖放到ResultsGraph2008.12图标上
∙从菜单中选择File-OpenFieldHistory
∙选择我们在生产数据向导第8步创建的production-history.fhf
∙点击添加曲线按钮
∙选择要显示数据的文件,比如tutorial_hm.irf;选择曲线参数OilRateSC;选择Well3,然后确定
∙重复以上操作,但这次选择production-history.fhf,我们要比较模拟计算数据和历史实际数据
∙你会看到如下的曲线:
∙重复以上操作,这次选择曲线为WaterProductionRate和GasProductionRate
∙要看所有生产井的这条曲线,可以使用Repeatorigins按钮
∙选择AllProducers并确定来生成多条曲线
∙你现在应该已经拥有一系列关于每口井历史拟合和预测的曲线
∙你现在可以用ResultsGraph和Results3D继续分析计算结果,并且发现对你分析数据有价值的各种特征。
在历史数据的基础上启动预测运算
我们想预测截止到1/1/1993的油藏变化,生产井BHP为15000Kpa.
∙将tutorial_hm.dat重新导入Builder
∙点击主面板中的I/OControl
∙选择Restart选项卡
∙选上Restartfromprevioussimulationrun(RESTART)
∙浏览并选择tutorial_hm.irf
∙点击RecordtoRestartfrom:
∙注意有一系列的重启动时间点可供选择
∙打开Dates选择1991/09/01,然后确定回到BUILDER的主菜单
∙点击WellandRecurrentData数据段
∙选择1991-09-01,双击
∙(如果该时间点的Setstop复选框被选上就去掉),然后点击addarangeofdates
∙添加的日期从1991-09-01到1993-01-01,然后确定
∙回到WELLS,展开目录树,双击Well1
∙将日期改到1991-09-01,点击Constraint选项卡;
∙选上constraintdefinition复选框,然后改变operateminimumbottomholepressure为25000kpa
∙现在的面板如下:
∙点击应用,在1991-09-01对Well1创建一个新的约束条件
∙下一个任务就是把相同的约束条件拷贝给其它所有井进行预测
∙选中Well1的constraint(注意是1991-09-01),点击并确保选择的是OPERATEBHPBOTTOMHOLEPRESSUE(*),点击屏幕底部的ToolsandCopyeventsusingfilter
∙除了wells7和9外,选上其它所有的井,点击DateSelection选项卡,只选择1991-09-01。
点击SearchandAdd,然后确定.
∙除了wells7和9外,所有的井在1991-09-01都有了一个新的约束条件
∙点击确定回到主菜单
∙保存文件为tutorial_pred.dat
∙现在我们可以退出Builder,将tutorial_preddat拖放到STARS图标上开始运算
现在我们可以看看模拟运算,将其与历史数据对比,看看油藏将如何变化
∙将tutorial_pred.irf拖放到ResultsGraph图标上
∙选择菜单项File,然后OpenFieldHistory
∙选择我们在生产数据向导第8步创建的production-history.fhf
∙点击添加曲线按钮
∙选择要显示数据的文件tutorial_pred.irf;选择曲线参数OilRateSC;然后确定
∙重复以上操作,但这次选择tutorial_hm.irf,我们要比较模拟计算数据和历史实际数据
∙要增大历史数据标记可以选择菜单View;Properties
∙选择Curve选项卡,将数据标记大小从4改到8,然后确定
添加一个水层
我们下面要做的是添加一个水层,将计算结果与没有水层的模型进行比较,看看有何区别。
∙将tutorial_pred.dat拖放到Builder图标上
∙进入Builder后打开Reservoir,选择Create/EditAquifers….
∙(或者,你也可以点击Create/EditAquifers按钮(在左侧工具栏从下面数第二个)
∙选择第一种类型–底水(Bottomaquifer),然后确定
∙选择ModellingMethod–Carter-Tracey(infinite)。
其它项保持空白。
∙确定退出并关闭该面板回到显示区域
∙打开File;Savedatasetas…将文件名改为tutorial_pred_aq.dat
∙确定保存文件退出Builder
你现在可以将tutorial_pred_aq.dat拖放到STARS图标上了。
分析数据
∙可以将tutorial_hm_aq.irf拖放到ResultsGraph图标上
∙从菜单栏选择File;OpenCMGResults,选择tutorial_pred.irf
∙我们现在载入了2个模拟结果,可以进行对比了
∙点击
添加一条曲线
∙选择OriginType–Sector(Region)
∙参数–AvePresHCPOVOSCTR
∙点击确定显示曲线
∙重复以上操作,只是文件名改为tutorial_pred_aq.irf
∙我们现在可以看到如下的对比曲线:
∙你还可以从这里进入3D显示区域,这两种显示方式在这里都有。
你保存的.ses(曲线)或.3tp(3D视图)文件其实是一个模板,可用来重新生成以前生成的图片,可以用同一个数据文件,也可以用其它文件。
∙结果非常直观,并且很多功能可以通过菜单或在显示区域点击鼠标右键实现。
进一步分析
如果你在Results3D里面查看tutorial_pred的三组分相图会发现,在模拟末期南部背斜仍然有大量剩余油分布。
作为油藏开发计划的一部分,我们将于1/1/1992打一口水平井开采这部分剩余油。
∙将tutorial_pred
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- CMG 软件 培训 讲义 中文