本帖最后由 乔聪颖 于 2020-7-6 15:23 编辑
在智能历史拟合中,目标函数的设定是非常有趣的一环。无论是费尽心思的参数设定,还是绞尽脑汁的后处理分析,其核心都是围绕目标函数展开的。 tNavigator中有非常灵活的目标函数设置方式,常规操作异常简洁,不在话下。但是,遇到特殊需求,比如想要以自定义的曲线作为目标函数该如何处理呢?别急,我们有Python,可以应对各种不同寻常的需求。 ----------------------------------------- Step 0 案例描述 以具体案例来说明。 问题描述:地热模拟,拟合井底温度。 一般对于具有温度选项的模型,计算结果中与温度相关的参数有WTEMP,WTEMPINJ,WTHT。以参数WTEMP为例,没法直接设置历史值,所以要通过其它方式加载曲线数据。
Step 1 Model Designer中加载自定义数据 在Model Designer工区中的Graphs>>LoadGraphs中可以加载自定义数据(以WTEM为例): Tips:其实在Simulation中也有相同的功能选项,但是,AHM模块可以从Model Designer模块直接提取数据,但是不能从Simulation模块中直接提取。
Step 2 设置变量并创建AHM工区 通过Workflow创建好用于历史拟合的变量设置(以渗透率乘数为例): Model Designer模块与AHM模块有很高的集成度,可以直接创建AHM工区并数据共享。
Step 3 AHM中创建相关参数并设置目标函数 常规界面中没有WTEMP参数,所以,需要以自定义曲线的形式将其显示出来。 另外,还需要将之前在Model Designer中导入的自定义曲线加载进来。
至此,所有关键节点的设置都已展示。 选择算法,运行AHM,最终结果示意图如下:
拓展 其实,导入数据的功能并不一定非要通过Load Graphs选项来完成,通过Graph Calculator也可以灵活实现,可以减少操作的复杂程度(比如不需要用到Model Designer模块)。 简单展示如下,供大家消遣:
End.
欢迎提出各种需求,请在文末留言! ------------------------------------------------ 更多tNavigator技巧及应用,欢迎加入tNavigator技术交流QQ群:777385939。 更多石油行业前沿资讯与应用,请关注科吉思石油: |