如何从Petrel的其他表面生成曲面

时间:2012-10-02 15:06:31

标签: ocean petrel

我有一项任务是在Petrel中创建一个新表面。我应该使用Ocean for Petrel软件生成两个表面的平均值并从中创建一个新表面(如中间表面)。

这可能吗?我从哪里开始?我也非常感谢能够帮助我的资源链接。

2 个答案:

答案 0 :(得分:3)

Seslie,

你可以从Collection中创建表面调用方法CreateRegularHeightFieldSurface(字符串名称,SpatialLatticeInfo点阵);

创建属性为RegularHeightFieldSurface.CreateProperty(模板模板);

然后,您可以通过I和J索引访问表面和属性的节点。表面的X和Y将从格子自动生成。

Point2[]  world = …
var surf = c.CreateRegularHeightFieldSurface(name, oldSurf.SpatialLattice, PetrelProject.PrimaryProject.CoordinateReferenceSystem));
SurfaceProperty prop = surf.CreateProperty(PetrelProject.WellKnownTemplates.PetrophysicalGroup.Pressure);
prop.Name = " Pressure ";
var sizeIj = surf.SpatialLattice.OriginalLattice.Arrays.SizeIJ;
for (int i = 0; i < sizeIj.I; i++)
{
    for (int j = 0; j < sizeIj.J; j++)
    {
        surf[i, j] = …;
        prop[i, j] = …;
    }
}

答案 1 :(得分:1)

安装Ocean SDK,它附带样本和文档。您应该使用的类是RegularHeightFieldSurface - 请检查Ocean.chm。有一个名为PreStackSample的示例,其中有一个关于如何创建这样一个表面的示例。