测井解释软件Jewel Suite中文操作手册3_第1页
测井解释软件Jewel Suite中文操作手册3_第2页
测井解释软件Jewel Suite中文操作手册3_第3页
测井解释软件Jewel Suite中文操作手册3_第4页
测井解释软件Jewel Suite中文操作手册3_第5页
已阅读5页,还剩61页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

测井解释软件JewelSuite中文操作手册3在第2步选择porosity做为属性的名。在这里也可以自定义一个新的名字。第2步的文件夹(folder)的名字填写tutorial(可以用户自定义)第3步选择内插的算法,这里选择distanceweighted方法,缺省的幂指数为2.上图中,插值的类型有:内插、广义函数、模拟、过滤、相等模拟方法,这里仅练习内插和模拟两种方法。第4步,首先选择参与模拟的井,然后选择模拟的目标曲线。1.模拟算法内插算法:,距离权重内插,普通克里金内插,协同克里金内插,最临近域内插;模拟算法,这些算法使用3D模拟技术模拟3D网格属性,需要输入井曲线数1据:,顺序高斯模拟。,协同高斯模拟。相模拟,使用相模拟的方法对3D网格的相属性进行模拟,使用井曲线数据进行基于模型的模拟:,基于目标的相模拟;,顺序指示模拟,使用井数据产生网格属性体,其中井的数据为不连续的数据。离散分布模拟:不需要井曲线,常量分布模拟;,一致性模拟分布;,正态分布模拟;,曲线正态分布模拟;,三角剖分分布模拟;,直方图分布模拟;,基于岩性的属性充填。滤波器:采用6点滤波器发对属性进行滤波,确保滤掉偏离结果的属性。在第6步,点击execute按钮,执行属性模拟处理。打开网格模型,选择显示网格的孔隙度属性,显示图例:porosity属性,打开view-propertyexplorer,在colorsetmin填0.05,在选择colorsetmax处填0.25,这样就把孔隙度颜色比例进行了重新设置:回到属性模拟流程窗口,改变第3步的反距离内插的指数为4,点击第6步的执行,查看不同参数对内插孔隙度值的影响,上图变为下图:接下来使用不同的插值方法插值出密度属性,在第2步改变属性的名称为density。在第3步选择ordinarykriging,type=isotropic,缺省lateraltrend为0.5在第4步,选择进行模拟的井曲线为密度曲线。点击第6步的执行。把前边进行密度模拟时的参数lateraltrend修改为1.5,上图就变为下图:2.变差分析前边使用了插值算法进行了属性插值。接下来,使用惯续高斯算法进行孔隙度属性模拟。首先需要创建变差模型,使用变差模型作为惯续高斯模拟算法的一项输入。回到流程管理窗口,选择modelvalidation-modelstatistics菜单在第1步,选择井类型。在第2步,选择所有的井(可以点击鼠标右键,选择“全选”)在第3步选择孔隙度曲线(porosity)。在第4步,可以根据需要选择滤波器,针对需要的井段、数值区域进行分选,在这次练习中不选滤波器,对全井段进行变差分析。在第5步,选择variogram按钮,弹出一个窗口,可以在窗口里定义变差分析的初始参数。初始参数定义如下:点击create按钮,产生变差结果。在右侧的窗口的总部,缺省的变差类型是lateralomni-directional,可以根据需要选择不同的变差类型,下图:由于这个练习仅有5口井,井数太少,对于平面的变差分析不太适合。因此采用垂向变差分析。上图。在上图的右上角,定义变差类型,这里选择spherical。可以看到下图是通过计算数据点得到的球形变差。这就是基于数据点的计算建立变差函数的过程。在下图中使用鼠标拖动曲线,就可以通过手工修改变差曲线。可以根据需要调整有2个控制点或者整条曲线与数据点吻合好。如下图:接下来选择侧向(lateral)检查侧向变差函数。由于井数较少的限制,计算出来的侧向变差可以能不太合理。这时,就需要使用其他的信息来源建立侧向变差函数,例如:相同区域、或地质条件类似的其他油藏的信息。为2000米,可以看到变差函数定义右上角对话框的水平变差量图像随之改变。注意:如果在选择,可以选择3个变差:垂向、主要方向(对平)、次要方向(水平,与主方向垂直)变差。在对话框中可以详细定义每个方向的参数。在下方的窗口,可以定义每个方向变差函数的搜索半径:得到想要的变差函数后,把它保存起来,点击,在弹出的窗口中给个自定义的名字,把变差分析的结果储存起来,以备进行属性模拟时使用。3.建立属性模型回到流程的主菜单,进入ModelStatistics流程窗口,打开统计管理,可以点击快捷键。选择variograms,在左下角选择前边进行变差分析之后存储的变差函数的名字。在这里,这个变差函数图像是只读的,不可以编辑。保存工区时,这个变差函数也随之保存,以备以后使用。点击上边窗口下方的按钮,选择惯续高斯模拟算法。Statismanager窗口就关闭了,自动打开属性模拟流程的窗口,可以看到,变差函数的设置都自动填写到该界面上了(见第3步)。如下图。椭球和克里金两项内容也被缺省的填上了,这些的填写是基于横向变差的数据。在第2步,把property的名字改为porositysimulated,检查其他的设置没有问题,点击execute按钮,使用惯续高斯算法进行模拟。在网格中,可以看到这个新模拟出来的属性。点击这个属性,把它显示在网格中,如果想不显示等值线,在网格的切片上点击右键,点击contours就可以不显示等值线了:点击切片,按键盘的?和?键,可以逐层显示切片。属性模拟可以产生多个实现,在第3步就是定义进行多少个实现的模拟,种子点的可以输入,也可以点击右侧的图标自动产生。上图是做了3个实现的模拟,在查看其他模拟结果时可以和看切片一样滚动浏览:建议:,在模拟时,创建多个实现,在3d窗口和统计直方图窗口中进行分析;,使用同一的和随机的方法创建属性,注意这两种方法不要用井曲线;,使用不同的属性模拟方法模拟指定的模型的layers或zones,在第5步使用滤波器。第二节创建属性与编辑使用2个数据:Tutorial2009-GraphicalPropertyEditorBasics.jewelTutorial2009–GraphicalPropertyEditorCreatingaChannel.jewel1.打开Tutorial2009-GraphicalPropertyEditorBasics.jewel工区:使用快捷按钮调整显示比例和角度:打开网格的属性,显示网格的地质属性打开graphicalpropertyeditor流程图框确认在第2步中已经选择了jewelgrid,第3步中选择了porosity。当打开propertyeditor时,相关的工具条就显示出来:点击工具条上的快捷键,在第4步的色标上选择蓝色,在网格上点一些蓝点:如果要在网格上画上未定义数值的点,如下图选择:然后左键点击,就可以在网格上画未定义数值的点了。选择快捷键,左键点击编辑定义值,右键点击编辑定义背景:选择快捷键可以选择与网格中相同的值,用于其他编辑工具的编辑。擦除画空心矩形画实心矩形画线充填相同的邻区域充填到边界:锁定为当前的编辑状态。在第5步可以定义编辑层厚度的方式、参数。改变northing和easting,观察编辑的变化:2.编辑河道相打开工区:Tutorial2009-GraphicalPropertyEditorCreatingaChannel.jewel调整好显示比例:打开网格的mylithology属性,右键点击mylithology,选择editclasses,增加channel岩性,定义好颜色。这个channel可以在graphicalpropertyeditor中进行编辑了。打开graphicalpropertyeditor流程,选择网格的channel属性。在处选择northing,选择allgridlayers在网格的侧面画一个河道的形态,在网格属性里shale处不打勾:同一可以用这种方法定义出多种相类型、形状:第二章绘制属性图练习数据:\Tutorials2009\PropertyMapping\Tutorial2009-PropertyMapping.jewel第一节从地质到模拟网格的粗化打开练习工区通过下边的工具调整横、纵比例,放大、缩小、旋转调整好显示角度。打开网格的地质属性-Simulation-GeologicalProperties在流程图中选择propertymapping流程:在第1步选择jewelgrid,在第2步选择simulation。在第2步时,确认在选择绘图方式时选择upscaling。在第3步选择孔隙度点击execute执行操作,把孔隙度属性从地质网格中粗化到模拟网格中。可以看到这simulation网格中产生了一个新的地质属性:mapped_porosity。选择simulation网格的mapped_porosity显示如下:第二节从模拟到地震的网格细化打开显示HFBasesmallProperties属性,这个属性对是含气饱和度的25个时间步长的模拟。选择这个属性,把时间拉到10。选择地震数据:模拟结果和地震数据都显示出来:到propertymapping流程窗口,在第1步选择simulation,第2步选择haddofield.segy,确认第2步还选择了downscaling,在第3步只选择hfbasesmall_sg属性。点击execute,执行网格细化操作。这样就把含气饱和度属性细化到地震网格上了。显示模拟的网格,在这里每一个结果代表一个时间点含气饱和度的情况:与代表相同的意思。不显示模拟网格,仅显示地震体。现在,已经把含气饱和度数据存入地震数据体中。在地震体中显示含气饱和度属性,在seismicamplitude处点击右键,弹出菜单,选择SetAsOverlay这样就把含气饱和度属性叠加显示在地震数据的振幅上了。属性的网格细化过程需要占用大量的硬件内存,在内存不够时,JewelSuite会给出提示。出现这种情况时可以采用下面2种方法解决:,重新装载小的地震数据体,可以对地震数据进行重采样,包括针对地震采样率进行重采样、主测线/横测线道间距重采样等方法减小地震数据体。,调整流程第3步的时间步长。第三节从地震到地质的网格粗化把地震、地质网格同时都显示出来。在propertymapping流程中,第1步选择HaddoField.segy,第2步选择jewelgrid,确认在第3步只选择了seismicamplitude,点击execute,执行操作。在地震网格中显示出粗化进来的地震振幅属性:右键在左侧图框中点击地质网格-solidandmesh—solid,显示如下:右键在3维窗口中点击网格,选择nodisplayfilter-linear第四节从网格属性创建伪测井曲线练习数据:2009\Tutorials2009\PropertyMapping\Tutorial2009-Pseudologs.jewel打开流程:点击newview,打开wellcorrelationview选择地质网格、井、网格中的孔隙度,点击即可完成。第三章网格粗化第一节规则网格的粗化使用的数据:2009\Tutorials2009\ModelUpscaling\Tutorial2009-UpscalingRegularGrid.jew打开工区:打开网格粗化流程在第1步选择regulargrid,在第二步输入simulationmodel,点击showmodeldefinitionview打开网格定义窗口。在这里可以定义layer组的数量。每一个组有一个或多个layer构成,并且与单个模拟的层相当。这些组将用于垂直网格粗化。在模型定义窗口(modeldefinitionview)点击reservoir_1,然后点击modelupscaling窗口中的group定义单个层为模拟的层。按住shifte键点击Reservoir_2和Reservoir_4,选择这2个层,在这2个层的任意一个上点击鼠标右键,选择grouplayers。同样把Reservoir_5创建一个组,Reservoir_6到Reservoir_9创建成一个组,Reservoir_10创建组。点击第6步的execute,执行该操作。在3维图上显示simulationgrids,如下图右侧,右键点击网格-属性-layerid:这样就把原来的细网格粗化成上面的网格图例。在流程的第3步,可以定义横向网格的大小,在north方向给3,在east方向给2,如下图:点击执行,网格会立刻更新,下图为更新后同样显示网格id属性图:做下图左侧图框里的选项,可以看到组的切片:如果把地质网格也显示出来,可以看到地质网格比模拟网格细:回到流程管理的主菜单,选择simulationpreparation:在第一步选择simulationmodel。注意,在第4步可以选Transmissibilities也可以选delNorth/East/Thickness,因为在这个工区里没有断层,这就意味着这两种操作都可应用在这里。选择North/East/Thickness,在第7步点击execute。在网格上点击鼠标右键Properties,Thickness,SimPreparation_CellThickness,显示图例,可以看到下图:通过这种方法还可以实现以下目的:,可以看到,通过改变油藏的定义的组来改变网格的垂向比例。,可以使用不同的网格粗化方法创建额外的地质属性;,创建非渗透层。第二节对Jewel网格的粗化使用的数据:\Tutorials2009\Upscaling\Tutorial2009–UpscalingJewelGrid.jewel打开工区进入modelupscaling流程:第1步选择geologicalmodel,这个网格是64×64×37的。第2步输入名字simulationmodel。第3步定义横向网格,这个练习既要做横向的网格粗化,也要做垂向的网格粗化,首先定义横向网格粗化。North方向网格给2,east方向网格给3。接下来定义垂向网格。第4步点击showmodeldefinitionview与地质网格相关定义一些组(group)这些组就用于垂向网格粗化。按照下图,在油藏上点击鼠标右键,选择group,即可建立一些组,如下图:下一步,使泥岩层在模拟网格中为不活的层。Ctrl+鼠标左键,选中5个泥岩层,右键点击,在菜单中选择impenetrable使泥岩层为不活的层。回到三维窗口。在流程的第5步选择porosity,选择缺省的Arithmeticmeanweighted网格粗化方法,后边是CellVolume属性。还选择3个渗透率属性:kx,ky,kz,同样适用缺省算法进行网格粗化。在第6步,点击execute,得到了粗化的网格:32x32x13调整网格的边界:打开view-PropertyExplorer,在SolutionExplorer窗口内点击Simulationmodel网格的FullVolume,在PropertyExplorer窗口内会出现Boundary项,在的Boundary前边带+号,点击+,打开Boundary如下图:在StartNorth处把0改成5,在StartEast处把0改成5。在改变StartEast的值后必须按TAB键后才能更新。其它方便的方法更新边界,就是用AnimationControl对话框。按F8键,会弹出对话框,选择3dmodel,可以很方便的调整边界。这个方法也可以调整地质网格的边界和地震体的边界。调整之后的网格和地质网格的十字交叉线在一起显示:右键点击Simulationmodel选择Resetboundaries完成网格边界的重新设置,恢复到完整状态的网格。第三节模拟前的准备使用上一节的结果数据。打开modelupscaling-simulationpreparation流程。在进行数值模拟以前,要在这个“模拟前的准备”流程里计算网格的一些属性数据包括:,网格的可传递的属性(TX,TY,TZ);,无相邻连接关系(网格间有断层的情况);,网格转换的适宜性说明。在第1步选择模拟网格。在流程的第2步,输入预备模拟的名字:simpreparation1(这个例子里会做2个预备模拟)。由于要进行新的预备模拟,不选第3步。在第4步选择,因为模拟网格有断层。选择算法,这种算法可以尽可能的把小的网格合并成有效网格,所以在第5步的合并小网格的操作可以跳过。在第7步,点击execute,执行该操作。这样,模拟网格就准备好了,这就意味着所有的可传递的属性以及和相邻网格不连通性都已经计算出来。所有这些属性都是数值模拟需要用到的。这些属性都被分开放在不同的文件夹下。在三维窗口中,右键点击模拟网格模型,Properties-Transmissibility-SimPreparation1_TX,或者直接如下图左侧图框中选择:可以把一个模拟网格创建成多个预备模拟网格,在创建时考虑到不同的因素:,不同的渗透率属性;,不同的IJK简化算法;,不同的小网格合并方法。接下来要使用不同的IJK简化算法和小网格合并方法来计算。在第2步选择新的操作,在这里填上新的名字:“SimPreparation2”在第4步,改变IJK算法为CompactIJK,在第5步选择Mergesmallcells参数为10%。在第7步,点击execute,执行操作。可以看到这SolutionExplorer窗口中出现了一个新的属性文件夹:“SimPreparation2”选择MergedCells属性,不选noneadjustedcell项,如下图:从上图就可以看到所有的mergedsmallcells网格,这些网格的小网格被合并了。这个模拟模型现在为数值模拟准备了2个预备网格。对与这个模型还可以进行一下几方面的练习:,在模型定义窗口中改变组,以便改变垂向网格粗化参数;,改变平面网格尺度,以改变平面网格粗化参数;,从地质网格到模拟网格粗化更多属性,使用不同的粗化方法进行粗化;,改变小网格合并方法,在三维窗口中查看小网格合并情况。第四章钻井设计使用的数据:\Tutorials2009\WellPlanning\Tutorial2009-WellPlanning.jewel第一节直井设计打开工区进入到井位设计流程:点击快捷键Createverticalwell在网格上的任意一点点击,就会出来一口新井。在流程的第2步,改变井名为INJECDT1,井类型injector;状态:水井;条件:油藏;颜色:浅蓝。在第3步选择偏移量。把设计井巷北移动300米,向东移动300米,点击movewholewelldesign。井就会移动。在第3步,选择Movecopyofselectedwelldesign就会复制一口新井移动。改变它的名字、类型、状态、条件、颜色,这个设计井的这些属性离开会改变。第二节斜井设计点击井位设计快捷键工具栏的斜井设计快捷键,在网格的任意一点点击,这样就创建了一口井。接下来可以加这口井的其他拐点。改变设计井的名字、井类型、状态、条件、颜色。打开jewelgrid,只显示切片。选择快捷键,在切片上点击任意一点,就在该处增加了设计井的拐点。这样,就可以参考地质属性网格高孔隙度的层设计井位。选择任意一个方向的剖面,在剖面上点击,这样就在剖面上增加了井的拐点。在第4步选择设计的拐点,在第5步就显示出该拐点的深度、坐标,修改这里的深度、坐标后。修改后,在流程的最下边点击,安装修改的点重新调整井轨迹。使用快捷键:,移动设计井拐点:鼠标左键点击设计井拐点,在想把拐点移动到的目标位置的网格上再点击鼠标左键,设计井的拐点就移动过去了。,删除设计井拐点:点击右键-删除,即可。第五章计算体积计算的体积报告可以是整个模型的、油藏(zones)、网格断块(segments)、油藏断块(Compartments)。使用数据:2009\Tutorials2009\Volumetrics\Tutorial2009–VolumetricsReporting.jewel第一节创建独立的区带(zone、segments、Compartments)这一节练习地质网格模型或模拟网格模型的油藏(zones)、网格断块(segments)、油藏断块(Compartments)。对于这个指定的区域,可以计算它的体积,并且可以在三维窗口中独立的显示出来。打开练习工区:打开网格的属性,可以看到所有用于练习计算体积的的地质属性选择ZoneId_level_1,基于这个属性的区带已经创建。在SolutionExplorer窗口中,右键点击JewelGrid,在create里选择zones这样就创建了zone(油藏),在网格文件夹下可以看到zone项。下图是显示2个zone。创建网格断块(segments):同样在SolutionExplorer窗口中,右键点击JewelGrid,在create里选择segments,就创建了网格断块:网格断块是单独的断块,与其他油藏是完全分开的。当创建了油藏断块(segments),同时也创建了SegmentId,ZoneId_level_1和SegmentId在属性计算里非常有用。SolutionExplorer窗口中,右键点击Jewel创建油藏断块(Compartments),在在create里选择Compartments,就创建了油藏断块:Grid,油藏断块(Compartments)属性值属性计算里会经常用到。油藏断块(Compartments)的创建是在油藏(zones)和网格断块(segments)的基础上创建出来的。第二节创建体积报告使用上一节的结果数据进行练习。进行体积计算时,使用下面几种属性:Ntg,Porosity,OilSaturation,GasSaturation,andCellVolume.打开VolumetricsReporting流程在第一步选择网格,在第二步选择zones。在第二步出现一个窗口,选择Zone_Level_1属性。下边出现很多zones,在这里可以选择任意一个或多个zones。如果网格内没有zone,segment,orcompartment,体积计算功能会自动创建它们。在第三步选择网格属性:CellVolume,NettoGross,Porosity,OilSaturation,GasSaturation。在第五步,需要定义计算体积的内容。只有当Nettogross被定义或缺省设置时,才计算NetRockVolume。只有当Porosity被定义或缺省设置时,才计算NetPoreVolume。在第六步定义报告中使用的单位类型。缺省时就选用工区的单位设置。这里设定油:百万桶(mmbbl),气:百万立方米(MMm3)在第7步选择generateprobalility。点击generate。这样就计算出了体积报告的结果。现在,在第二步选择Segments,或者Compartments创建报告。在弹出的窗口中点击yes就替换了原来的报告,点击no就重新创建一个报告。右键点击报告,选择ExporttoMSWord、excel、剪切板:进行这项操作首先在电脑上要安装微软的office第三节分析多个实现的属性报JewelSuite提供了创建多个实现的体积报告和在直方图中分析结果的第功能。可以使用多个实现输入统计报告,例如孔隙度、渗透率属性。在这个练习里,就是要用多个实现创建属性计算报告。首先在三维窗口里查看有30个实现的孔隙度结果。这30个实现是用属性模拟工具流程创建的,使用的是惯续高斯算法。SolutionExplorer窗口中右击点击孔隙度实现的属性,选择showhistogram,在下图是选择了多个实现显示在直方图中:选择所有实现的孔隙度属性都显示在直方图中,关掉Showrealizationsseparately。右键点击直方图,选择CumulativeDistribution,Normal这就显示了孔隙度的分布曲线,给出了选择区域的10%、50%、90%的分布特征:第四节使用多个实现属性创建10%,50%,90%的分布报告接着上一节,在体积报告中使用多个实现的孔隙度,产生10%,50%,90%的报告。打开三维显示窗口,在第二步选择zones,在第3步选择Porosity处选择PorosityRealizations。其他的设置不变。在第七步选择Normal分布类型。点击Generate创建体积报告。产生的体积报告包含多个实现的属性,自动识别这些属性,用于产生10%,50%,90%的报告。所选择的分布类型将被用于计算10%,50%,90%。假定没有定义输入数据的分布类型,缺省使用empiric分布类型。生成概率属性计算后,在JewelSuite的网格中检查体积的计算结果。这些都在SolutionExplorer中的单独的文件夹内。在SolutionExplorer中,打开VolumetricsOutputProperties文件夹,这里包括每一个实现的体积计算结果。这些结果可以用于以后的体积结果/报告分析中使用。例如直方图分析。接下来分析几个zones的NPV值:在中,右键点击GridReservoir_1NPVProbability属性,选择ShowHistogram。可以看到一个值,NPV值是基于网格zone1的第一个孔隙度的实现。不选,右键点击实现的窗口,选择所有的实现。右键点击直方图柱,选择CumulativeDistribution,Normal注意:,更新网格属性后一定要更新体积报告。,还可以创建油气扩张网格由于生成体积报告中附录1参数和计量单位缺省单位设置如下:种类缩写名量纲缺省单位1-WayTravelTimeOWTTimes2-WayTravelTimeTWTTimesAccelerationAcAcft/s2AccelerationSpeedAcSAcSft/s3AINU-AcousticImpedanceAcSlowAcSlows/mAcousticSlownessAmountOfSubstanceAOSAOSmolAreaAAft2AzimuthAzmtAngledegCompressibilityCompComp1/psiCPUTimeCPUTimeTimemsCurvatureCurvDLSdeg/ftDensityDensDenslb/ft3Depth&ElevationDELengthftDiameterDiamLengthInDipDipLengthdegDistanceDistLengthftEffectiveKhKHEffKHEffM3ElectricalPotentialEPEPVoltElectricalResistanceEREROhmFractionparticlesFracFracppmGammaRayGRGRgAPIGDGDkg/m3GasDensityGasFormationVolumeFactorBgBgrb/scfGasGravityGGG-GasOilRatioGORGORscf/stbGeometricalDistanceGDistLengthftInclinationInclAngledeg种类缩写名量纲缺省单位InterfacialTensionITensITensdynes/cmInversePressureIPIP1/psiKFactorKFKF1/msKFactor,TimeFKTFKTm/s/msLateralVelocityLVelVelft/sLinearTimeLTLTdaysMagneticFieldMFMFµTMassMMkgODODkg/m3OilDensityOilExpansionFactorOEPNU-OilFormationVolumeFactorBoBoRb/stbOilGasRatioOGROGRstb/mmcfOilGravityOGGravity-PercentagePercRatio%PermeabilityPermPermmDPressurePPpsiPressureGradientPGPGpa/mProductivityIndexPIPIm3/s/PaRatioRatioRatioRatioReflectivityReflNU-ResistivityResResohm.mSaltConcentrationWsDenskg/m3ScScPxScreenSeismicAmplitudeSANU-SeismicTimeSeismicTimeTimemsSeismicVelocitySeismicVelVelm/sSimTimeTimedaySimulationTimeSonicSoSos/ftStrikeStrikeAngledegTemperatureTTFTensionTensTensdynes/cm3TimeTimeTimedayTransmissibilityTransTransrb-cp/day-psi种类缩写名量纲缺省单位VelocityVelVelft/sViscosityVisViscPVolumeVVbblVolumeExpansionFactorVEFVEFscf/rcfVolumeFluidCumulativeVFCVFCmbblVolumeFluidFlowVFFVFFbbl/dayVolumeGasCumulativeVGCVGCmmcfVolumeGasFlowVGFVGFmcf/dayWDWDkg/m3WaterDensityWaterFormationVolumeFactorBwBwrb/stb附录2属性计算公式及变量在这里给出了JewelSuite中属性计算模块的比较详细的公式变量。第一节基本运算模块名字创建表达式描述注释表达式例子Exsinsin()Sinefunction.ArgumentisDegreesorRadianssin($Dip$)(optionincalculatoruserinterface).coscos()Cosinefunction.ArgumentisDegreesorRadianscos($Dip$)(optionincalculatoruserinterface).tantan()Tangentfunction.ArgumentisDegreesorRadianstan($Dip$)(optionincalculatoruserinterface).powpow()Powerfunction.pow($Depth$,3)expexp()Exponentialfunction.exp(2.0)loglog()Commonlogarithm.log(10.0)1modmod()Residueofdivision.Alternativesyntaxispossible.mod($LayerId$,10)$LayerId$mod10$LayerId$%10asinasin()Inversesinefunction.ResultisDegreesorRadiansasin($Dip$)(optionincalculatoruserinterface).acosacos()Inversecosinefunction.ResultisDegreesorRadiansacos($Dip$)(optionincalculatoruserinterface).atanatan()Inversetangentfunction.ResultisDegreesorRadiansatan($Dip$)(optionincalculatoruserinterface).sqrtsqrt()Squarerootfunction.sqrt($Dip$)例如:if($North$mod10=0or$East$mod10=0)then$Porosity$elsenull第二节距离运算模块名字创建表达式描述注释表达式例子ExDistanceDistance(objecttype,DistancetonearestnodeofDistancetoseveral2-6Distance(wellBore)"Objectname")specifiedobject(absoluteorobjectscanbeDistance(objecttype,usingnodesprojectedoncalculated.Names"Objectname",x,y,z)plane).mustbetypedDistance(wellBore,separatedbya"W0,W1,W2")comma.String“all”oremptystringmeansallobjectsofcorrespondingtype.Distance(wellBore,Alsodifferentobject"W0,W1,W2",typescanbeusedtriMesh,"S0")(syntax-Distance(objecttype,"Objectname",objecttype,"ObjectDistance(markerSet,name",…))."M",0,0,1)Possibleobjecttypes:,seismic,grid,simGrid,markerSet,grid2D,triMesh,polyLineSet,wellBoreDistanceSDistanceS(objecttype,ProjectionofvectorSeeDistancefunctionDistanceS(triMesh,7,8"Objectname",x,y,z)betweencurrentlocationcomments"S",0,0,1)andnearestnodeofspecifiedobjectoncorrespondingdirection.Nearestnodeissearchedusingprojectiononplane.DistanceFilteredDistanceFiltered(objectDistancetonearestobjectSeeDistancefunctionDistanceFiltered(grid,type,"Objectname",node,whichhavecomments"JOAGrid","Filterproperty","Filtercorrespondingproperty“LayerId”,“K=12”)propertyClass");value.AbsolutedistanceordistanceusingprojectiononDistanceFiltered(objectplanecanbecalculated.type,"Objectname","Filterproperty","FilterpropertyClass",x,y,z)DistanceSFilteredDistanceSFilteredProjectionofvectorSeeDistancefunction9DistanceSFiltered((objecttype,"Objectbetweencurrentlocationcommentsgrid,"JOAGrid",name","Filterproperty",andnearestnodeof“LayerId”,“K=12”)"FilterpropertyClass",specifiedobjectonx,y,z)correspondingdirection.Onlynodes,whichhavecorrespondingpropertyvalue,areused.Nearestnodeissearchedusingprojectiononplane.ShapeProjectionShapeProjection(“ShapeGeneratepropertywithShapeProjection(“P“,10name”,x,y,z)values,whichshowsif0,0,1)propertylocationliesinsideoroutsideofcorrespondingcylindricalsurface.第三节滤波运算模块名字创建表达式描述注释表达式例子Exsmoothsmooth(property,skipnullPropertysmoothing.smooth($Kx$,1,11,12Skipnullflag:flag,center,neighbors)0.125,0.125)1–true,smooth(property,skipnull0–false.flag,center,top,base)smooth(property,skipnullflag,center,top,base,north,south,east,west)filter2Dfilter2D(property,filtertype,Thisfunctionisfilter2D($Depth$,northdimension,eastmeantonlyfor2DIDWFilter,3,3)dimension)grid.Possiblefiltertypes:,MeanFilter,GaussianFilter,MedianFilter,IDWFilter第四节内插运算模块名字创建表达式描述注释表达式例子Exlineline(,x1,y1,x2,y2,…)InterpolatedvalueTablecanbepreparedline($Ahd$,0,0,0,13,14usinglinearinStatisticManager.1000)line(,“Tablename”)interpolation.Whenapreparedtableline(,,“Tablename”)isused(byname),theline($Ahd$,“Table1D”)dimension,1Dor2D,willbechosenaccordingtothetabledimension.line($N$,$E$,“Table2D”)splinespline(,x1,y1,x2,y2,…)InterpolatedvalueSeelinefunctionspline($Ahd$,0,0,0,13,14usingcubicsplinecomments1000)spline(,“Tablename”)interpolation.spline(,,“Tablename”)spline($Ahd$,“Table1D”)spline($N$,$E$,“Table2D”)splineNsplineN(,x1,y1,x2,y2,…)InterpolatedvalueSeelinefunctionsplineN($Ahd$,0,1000,13,14usingcubicsplinecomments500,0,1000,1000)splineN(,“Tablename”)interpolation(derivativeinnodepointsaresplineN(,,“Tablename”)equaltozero).splineN($Ahd$,“Table1D”)splineN($N$,$E$,“Table2D”)line2Dline2D(,,numX,numY,Interpolatedvalueline2D($X$,$Y$,2,2,x1,…,y1,….,z1,…)usinglinear0,1,0,1,10,20,20,40)interpolation(2Dcase).spline2Dspline2D(,,numX,numY,Interpolatedvaluespline2D($X$,$Y$,2,x1,…,y1,…,z1,…)usingcubicspline2,0,1,0,1,10,20,20,interpolation(2Dcase).40)splineN2DsplineN2D(,,numX,numY,InterpolatedvaluesplineN2D($X$,x1,…,y1,…,z1,…)usingcubicspline$Y$,2,2,0,1,0,1,10,interpolation(derivative20,20,40)innodepointsareequaltozero,2Dcase).第五节数学计算模块名字创建表达式描述注释表达式例子Exsinhsinh(expression)Hyperbolicsine.sinh($P$)coshcosh(expression)Hyperboliccosine.cosh($P$)tanhtanh(expression)Hyperbolictangent.tanh($P$)absabs(expression)Absolutevalue.abs($P$)clipclip(expression,min,max)Clipvalueusingdefinedclip($P$,0,1)15boundaries.minmin(expression1,Minimumvalue.min($A$,$B$,$C$,0.5)16expression2,...)maxmax(expression1,Maximumvalue.max($A$,$B$,$C$)expression2,...)meanmean(expression1,Meanvalue.mean($A$,$B$,$C$)17expression2,...)medianmedian(expression1,Medianvalue.median($A$[0],$A$[1])expression2,...)stddevstddev(expression1,Standarddeviation.stddev($A$,$B$,$C$)expression2,...)第六节属性提取模块名字创建表达式描述注释表达式例子ExGridGrid("Gridname","GridpropertyGridSeveralobjects18Grid("MyGrid","Porosity")name")propertycanbeused.valueinGrid("Gridname","GridpropertynodeGrid("MyGrid","Porosity",0,0,name",x,y,z)nearestto1)currentlocation(absoluteorusingprojectiononplane).SeismicSeismic("Seismicgridname",SeismicSeveralobjectsSeismic("MySeismic",19"Propertyname")volumecanbeused."Amplitude")propertySeismic("Seismicgridname",valuein"Propertyname",x,y,z)nodeSeismic("MySeismic",nearestto"Amplitude",0,0,1)currentlocation(absoluteorusingprojectiononplane).SimGridSimGrid("Simulationgridname",SimulationSeveralobjectsSimGrid("MyGrid","Porosity")"Propertyname")pertyvalueSimGrid("Simulationgridname",SimGrid("MyGrid","Porosity","Propertyname",x,y,z)nearestto0,0,1)currentlocation(absoluteorusingprojectiononplane).Grid2DGrid2D("Gridname","Property2DgridSeveralobjectsGrid2D("MyGrid2D","Depth")name")propertycanbeused.Grid2D("MyGrid2D","Depth",value0,0,1)Grid2D("Gridname","Propertynearesttoname",x,y,z)currentlocation(absoluteorusingprojectiononplane).TriMeshTriMesh("Tri-meshname",Tri-meshSeveralobjectsTriMesh("S1,S2","Depth")"Propertyname")propertycanbeused.valueTriMesh("Tri-meshname",nearesttoTriMesh("S","Depth",0,0,1)"Propertyname",x,y,z)currentlocation(absoluteorusingprojectiononplane).PolyLineSetPolyLineSet("PolyLineSetPolylinesetSeveralobjectsPolyLineSet("P","Depth")name","Propertyname")propertycanbeused.valuePolyLineSet("PolyLineSetnearesttoPolyLineSet("all","Depth",0,name","Propertyname",x,y,z)current0,1)location(absoluteorusingprojectiononplane).WellBoreWellBore("Wellborename","LogLogsvalueSeveralobjectsWellBore("all”,"Porosity")name")nearesttocanbeused.currentlocationWellBore("Wellborename","LogWellBore("W1,W2","Porosity")name",x,y,z)(absoluteorusingprojectiononplane).MarkerSetMarkerSet("Markersetname",MarkersetSeveralobjects20MarkerSet("M","Depth")"Propertyname")propertycanbeused.valueMarkerSet("Markersetname",nearesttoMarkerSet("M","Depth",0,0,"Propertyname",x,y,z)current1)location(absoluteorusingprojectiononplane).PropertyExtractionPropertyExtraction(objecttype,GeneralSeveralobjectsPropertyExtraction(wellBore,"Objectname","Propertyname")function.anddifferent"W1,W2","Porosity")SpecifiedobjecttypescanPropertyExtraction(objecttype,objectbeused.Seealso"Objectname","Propertyname",propertycommentstoPropertyExtraction(surface,x,y,z)valueDistancefunction."S","Depth")nearesttocurrentlocation(absoluteorPropertyExtraction(markerSet,using"M","Depth”,0,0,1)projectiononplane).PropertyExtractionNotNullPropertyExtractionNotNull(objectSpecifiedSimilarasPropertyExtraction21type,"Objectname","PropertyobjectPropertyExtractionNotNull(grid2D,"S","Test")name")propertyfunction,butonlyvaluedefined(notnull)PropertyExtractionNotNull(objectnearesttopropertyvaluestype,"Objectname","Propertycurrentaretakenintoname",x,y,z)location.account.Onlydefinedvalues(notnull)aretakenintoaccount.PropertyExtractionFilteredPropertyExtractionFiltered(objectSpecifiedSimilarasPropertyExtractionFiltered(grid,22type,"Objectname","PropertyobjectPropertyExtraction"Grid","CellCenterDepth",name","Filterproperty","Filterpropertyfunction,butonly"LayerId","K=0",0,0,1)propertyclass")valuepointsthatnearesttocorrespondstoPropertyExtractionFilteredcurrentspecifiedfilter(objecttype,"Objectname",location.class,aretaken"Propertyname","FilterOperty","Filterpropertyclass",definedx,y,z)values(notnull)aretakenintoaccount.Onlypointsspecifiedbyfilterinformationaretakenintoaccount.附表:可加载的数据类型表数据种类格式描述输入输出位图JOAImageFiles(*.joaimage)可可Imagefiles(*.bmp,*.jpg,*.jpeg,*.gif,*.png)可否2D网格JOA2DGridFiles(*.joa2dgrid)可可ASCII2DGridFiles(*.grid2d.ascii)可可CharismaHorizonGridFiles(*.*)可否CPS‐3GridFiles(*.*)可可Geogr

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论