我有一个任务是在Petrel中创建一个新的表面。我应该生成两个表面的平均值,并使用 Ocean for Petrel 软件从中创建一个新表面(如中间表面)。
这可能吗?我从哪里开始?我也希望链接到对我有帮助的资源。
Seslie,
您可以从集合创建曲面,调用方法CreateRegularHeightFieldSurface(字符串名称,空间LatticeInfo lattice);
将属性创建为 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] = …;
}
}
安装 Ocean SDK,它附带示例和文档。您应该使用的类是 RegularHeightFieldSurface - 在 Ocean.chm 中检查。有一个名为PreStackSample的示例,其中包含有关如何创建此类表面的示例。