本帖最后由 乔聪颖 于 2020-5-28 09:41 编辑
在数值模拟领域,从处理对象的角度来看,后处理工作一般围绕曲线(graph)和场图(property)展开。大多数数值模拟器中均具备基本处理功能,能够满足工程师的日常工作需求。然而,需求总是不断变化的,当更高级的应用需求被提出来的时候,解决方案也需要紧紧跟上,有时,甚至超前的解决方案可以引领需求的进步。 在tNavigator中,针对graph的后处理已经非常先进了,尤其Graph Calculator将graph的后处理提升到新的高度;针对property的后处理,工程师几乎可以凭借Cut功能“为所欲为”。
不过,如同“没有绝对安全的系统”,永远也没有完全满足工程师需求的工具。Cut功能虽然灵活、便捷、强大,但面对批量化流程处理时则有些力不从心。别急,tNavigator中的Workflow功能正可以弥补这一不足。
本次以“输出关于属性的统计数据”为例,介绍下Workflow的应用。
--------------------------------
【案例描述与思考】 统计不同分区的属性参数,如平均(最大、最小)含气(油、水饱和度)、平均压力、储量等任意property的信息,而且每个时间步都要有数据。
通常情况下,一个数模模型中会包含个位数的分区数量,通过Cut工具可以轻易筛选不同分区的网格,通过Statistics功能手工记下相关统计信息;由于要得到所有时间步的数据,可以使用更加便捷的工具User Arithmetic,生成曲线数据,并非难事。
但是,当面对数百个小层分区时,则心中一凛,瞬间表示不想记数到手抖。。。
【批量化解决方案-Workflow】 在案例中有两个关键点:分区数量大+所有时间步,其余提取数据的操作基本是类似的,这就很容易联想到使用工作流的方式来解决。
基本功能:
Workflow中有一个功能“Createa Table from Property”,允许以分区(分区本质上是属性场,这里也支持自定义属性场)的形式创建报告表(table):
table中的内容可以编辑:
批量处理:
既然基本功能已经具备,只需依据时间步循环处理即可:
运行Run Workflow后,可以在table中查看统计数据:
【拓展-自定义分区的数据统计】 在上面的操作中,针对的是已经进行分区设置的模型,若是模型中并没有设置好分区或者想统计任意自定义区域的property数据,该如何处理呢? 在Model Designer当中,可以自定义属性场,作为分区的依据:
End.
参考链接:
《tNavigator-Python解释器及第三方库安装指导》
《tNavigator-Python入门(基本数据类型、程序控制结构以及函数式编程)》
《tNavigator-Python API - Graph Calculator解读》
《tNavigator-Python API - PythonAction解读》
其他参考链接:
《tNavigator-Workflow-批量输出曲线》
《tNavigator-Python高级应用汇总》
------------------------------------------------
更多tNavigator技巧及应用,欢迎加入tNavigator技术交流QQ群:777385939。
更多石油行业前沿资讯与应用,请关注科吉思石油:
|