2012-10-02 31 views
1

我有一個任務在Petrel中創建新曲面。我應該使用Ocean for Petrel軟件生成兩個曲面的平均值並從中創建一個新曲面(如中曲面)。如何從Petrel中的其他表面生成曲面

這可能嗎?我從哪裏開始?我也很欣賞鏈接到對我有幫助的資源。

回答

3

Seslie,

您可以從收集創建表面是調用方法CreateRegularHeightFieldSurface(字符串名稱,SpatialLatticeInfo格);

創建屬性爲RegularHeightFieldSurface.CreateProperty(Template template);

然後,您可以通過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] = …; 
    } 
} 
+0

謝謝你,Alyona。這幫了我很多。 – Seslie

1

安裝Ocean SDK,附帶示例和文檔。你應該使用的類是RegularHeightFieldSurface - 檢查Ocean.chm。有一個名爲PreStackSample的示例,其中有一個關於如何創建這種表面的示例。

+0

謝謝非常托馬斯,爲迅速和非常有用的迴應。我會馬上加入 – Seslie