问题标签 [petrel]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
petrel - Petrel 中细胞来源的默认设置是什么?
我想从 Petrel 模型中将 Permeability 导出为 ASCII 文件。似乎细胞原点在 I=0;J=最大J;k=0。
为什么 J 指数在最大 J 而不是 J=0?
ocean - 如何找到与相应粗网格单元关联的所有细网格单元的 Index3?
如何找到与相应粗网格单元关联的所有细网格单元的 Index3?
使用的术语:
细网格:假设有一个尺寸为 10 x 10 x 2 的网格
粗网格:这是细网格的粗略版本,尺寸可能为 5 x 5 x 1。
那么对于 Coarse Grid 中给定的网格单元,我们能否找到与之关联的对应的细网格单元。是否有现成的方法可用,或者如果我们需要制作自己的方法,我应该使用哪个服务。
对于任何给定的粗网格单元,我们可以找到 8 个角点,现在我的目标是找到由这 8 个角点组成的体积内的所有细网格单元。
在这里,我们谈论的是单个网格单元,而不是整个网格,只是为了避免混淆我提到它。此问题适用于使用 Ocean API 的开发人员。
c# - 为什么我在插件区域看不到我的窗口?
我无法在插件区域看到我的窗口。我知道必须在该Integrate
部分添加一些代码。但是我不知道是哪个。
我怎样才能让它可见?真的有可能吗?如果没有,我如何在 Petrel 中显示一个窗口?
ocean - Petrel 2012 找不到许可证服务器
我正在使用 windows8 并收到以下错误:
首先,我尝试安装 Schlumberger 许可 2012,但出现运行时错误。
然后我安装了 schlumberger 许可 2010。但 petrel 2012 无法找到 locahost 许可服务器,尽管 petrel 2011 工作正常。
这些错误是否与 Windows 8 有关?我在某处读到 Petrel 与 Windows 8 不兼容?
ocean - 如何通过鼠标单击事件在 Petrel 2d Mapwindow 中获取坐标?
如何通过鼠标单击事件在 Petrel 2d Mapwindow 中动态获取坐标?
ocean - 在海燕地图窗口上绘图
我正在开发一个海燕插件,我需要在海燕地图窗口上绘制线条、多边形,是否可以使用鼠标事件?
ocean - 具有从公共类继承的多个域对象的结构化归档
我正在为 Petrel 编写一个 Ocean 插件,需要保留一些自定义域对象,而且一切似乎都指向使用结构化存档数据源。我创建了一个通用类来保存许多标准域对象(机器人、名称、颜色、图像、评论、历史等),以避免为我创建的每个域对象重写它。Ocean 开发指南只有简单的类没有继承的例子,但考虑到一切都有一个版本号,我预见到当基类版本与继承的版本不同时,一个潜在的问题-class-1 与继承的不同- class-2,然后我在基类中更新一些东西。
是否可以将结构化档案与公共基类一起使用?版本控制是否有任何特殊注意事项,或者我需要注意的其他事项?
ETA:一个简单的类图,显示了我尝试过的关系和一些东西
所有类都被标记Archivable
,并且在ClassD
,_myClassAObjects
被标记Archived
。一切都可以保存,但是当我加载时,我得到一个InvalidCastException
,因为它试图将List<ClassB>
转换为List<ClassA>
. 铸造应该工作,因为ClassB
继承自ClassA
,不应该吗?
ocean - 在 Petrel 中获取当前单位系统
我目前正在开发一个插件,我需要在其中获取 petrel 中的当前单位系统(即在现场或公制系统中)。如何得到它?
ocean - 如何使用 CaseRunner 函数运行模拟案例?
我目前正在开发一个Petrel
插件,我需要在其中运行一个模拟案例(通过“For Loop”),我创建了我的案例运行器,导出它并运行它......但是在完成模拟并关闭之后控制台,我检查了CaseRunner.IsRunning
属性,它显示了true
!这导致结果尚未加载到海燕系统。
我尝试在完成Run
案例后手动加载结果(caserunner
在我的代码中使用和使用批处理文件),但在编程环境中看不到任何结果。
有人有解决这种情况的方法吗?
这是我的代码的相关部分:
实际上,我检查了该过程何时完成;在“cRunners.Run”之后,代码等待退出进程,使用:
当控制台自行关闭时,我检查了 cRunners.IsRunning 术语。但是,我不是那么专家……你能给我看一个使用 CaseRunnerMonitor 的例子吗?派生类的定义及其实现。
- 我所需要的只是通过 for 循环运行模拟案例 n 次,并在每次运行后访问其提供的摘要结果。
我尝试了一些不同的场景来获得我想要的结果,我把其中的一些放在这里首先我创建了我的 CaseRunnerMonitor 类:
然后使用它:
但问题是我的运行完成后 MyTest 案例结果部分为空。在这种情况下,当第 8 次(最后一次)模拟完成时,所有结果都会加载到海燕。如果我不激活 Wait() 函数,所有 8 次运行几乎都在同时调用......</p>
我改变了我的场景,每次运行后我的回调读取模拟结果,改变一些东西并调用下一次运行,所以我创建了我的 CaseRunnerMonitor 类:
然后使用它:
在这种情况下,不需要 wait() 函数。但问题是我在当前运行完成之前访问 MyTest 案例结果的一个级别。即,当运行 6 完成时,我可以通过 MyTest.Results 查看第 5 步结果,而第 6 步结果为空,尽管运行完成。
ocean - 从现有网格创建新网格
我正在研究 Petrel 中的网格合并,我需要知道如何在 petrel 中创建一个新的网格,从现有网格到海洋的新给定分辨率?