首页/文章/ 详情

拥抱AI:AI Agent在CoSim后处理中的应用

1月前浏览168

从二进制结果解析、截图坐标反演,到堆积体方量估算,看工程师如何通过多轮对话与AI Agent协作,高效处理仿真数据。

1. 仿真结束,分析才刚刚开始

在数值仿真中,求解器跑完并不等于任务结束。理解输出格式、解析大体量二进制文件、筛选目标对象、统计空间范围并验证结果,往往需要工程师编写多个临时脚本。

这一次,我们让AI Agent参与CoSim耦合求解器的DEM后处理。它不仅回答问题,还阅读文档和源码、运行分析程序、检查结果并生成能导入可视化软件的验证文件。

整个过程可以概括为:工程师负责提出目标、补充领域方法和判断结果;AI Agent负责理解代码与数据、执行计算并形成可验证的交付物

2. 什么是AI Agent

普通对话式AI主要提供文字建议;AI Agent则可以在授权范围内读取项目文件、检索代码、运行脚本和生成文件。

目前可以使用CursorOpenAICodexAI编程Agent。它们可以运行在编辑器、命令行或云端环境中。但Agent并不天然理解工程问题,s高质量结果来自多轮对话,而不是一条所谓的“万能提示词”。

3. 第一轮:先让Agent学习项目

工程师没有直接要求计算,而是先告诉Agent

CoSim安装目录中包含后处理说明文档二进制解析脚本;待分析数据来自求解仿真生成的Outputs目录。请先理解这些资料,我随后再提出分析需求。”

对于默认安装的CoSim,文件(目录)对应位置如下:

后处理说明文档:C:\ProgramFiles(x86)\CoSim\bin\doc\output-postprocess

二进制解析脚本:C:\ProgramFiles(x86)\CoSim\bin\CoSim\BinaryIO.py

待解析数据:具体算例目录下由求解仿真生成的Outputs文件夹

用户不需要预先理解BinaryIO.py的实现,也不需要把二进制文件转成文本,只要告诉Agent上述文档、脚本和算例Outputs的位置,Agent就可以了解文件存储格式,并通过解析脚本转为Agent善于处理的数据形式,并自行建立后续的数据解析方法。

CoSim后处理采用JSON元数据与BinaryIO二进制文件配对。JSON记录时间、系统名称、对象数量和字段索引,BIN保存具体的数据数组。BinaryIO.py提供了读取后处理文件的统一程序接口,后处理说明文档则详细描述了通过接口读取到的数据的含义、组织的形式。

4. 第二轮:从百万级对象中寻找速度前20

本文以某个滑坡离散元模拟为例,分析其仿真结果文件。该算例使用PolyBreakage(多面体转球功能),计算初始、最终的模型示意图如下:

工程师提出第一个简单任务:

“分析最后时刻,列出速度最大的20个块体或球,并统计总体积。”

这句话只描述目标,没有规定实现方式。Agent需要自行判断最后时刻文件、按速度模排序、统一比较球与多面体,并计算体积。

处理时,Agent先按IsActive=1(处于激活状态)过滤仍参与终态计算的对象,再计算:|v|=sqrt(Vx²+Vy²+Vz²)。结果为:前20名全部为球体;Rock18个,Soil2个;最大速度为44.809805m/s20个对象实体总体积为5,710.513095m³。分析还发现,部分失活对象仍保留非零历史速度。如果只对Velocity排序而不检查IsActive,结果会失真。

由此可见,CoSim提供了详细的后处理文档,足以让Agent掌握“什么是最后时刻”、“块体/球分为哪几个Set”、“块体/球的激活/非激活状态”、“块体/球的几何、运动状态量如何获取”等数据细节。

5. 第三轮:从截图反演真实坐标

随后,工程师提供一张Z向俯视截图,并用红线圈出目标区域:

切换2D-俯视图视角

交给Agent的俯视图及范围圈定

“请根据俯视图的像素分析红线范围、整体地形范围,结合三角网地形数据映射到真实XY;统计红线范围内块体/球的总体积。”

Agent对图像进行颜色和连通域分析,识别出:截图尺寸:1024×455px;地形像素范围:X267756pxY5449px;红线像素包围范围:X367485pxY244309px。再从Mesh1三角网读取地形真实范围:X-8476.3549069.335mY-8175.5567805.158m;像素尺度约为35.881m/px35.993m/px,红线对应的真实坐标包围范围约为:X-4888.278-654.349mY-3136.592-797.073m

实际筛选使用红线闭合形状的逐像素掩膜,而不是矩形包围盒。区域内共识别185,859个活动球体:Rock106,001个;Soil79,858个;球体实体总体积:44,368,183.422m³

6. 第四轮:不要只相信结果,要验证结果

工程师没有直接接受坐标映射,而是继续要求:

“请根据映射出的红线内真实区域生成一个水平STLZ坐标高于模型地面即可,我将导入可视化界面对比验证。”

Agent生成了一张9,224个三角形组成的水平STL,高程为5701.786m,比地形最高点高100m。其平面形状来自红线闭合掩膜,不是矩形。

工程师把STL导回CoSim可视化界面,与截图红线叠加检查。

可视化验证无误

这体现了工程AI的重要原则:不要只向AI要答案,还要让它提供验证答案的方法。

7. 第五轮:实体体积不等于堆积体方量

第一次区域统计只计算了所有球的实体体积。工程师指出:

“块体/球的堆积有间隙,我要估计‘堆积体’整体方量。可以按XY网格划分,取各网格的块体/球最高点和地形最低点,按高程估计无间隙堆积体体积。”

这里,XY网格的总体思路由工程师提出,Agent负责将其转成算法,并自行补充了网格尺寸选择和敏感性分析。

Agent的执行步骤为:将红线区域划分为10m×10m网格;网格顶面取格内球体的最大CurrentCenter.z+Radius;网格底面取三角网插值及格内地形顶点的最低高程;计算网格体积=(球体最高点-地形最低点)×网格面积;最终得到:堆积体方量76,222,335m³,有效堆积面积4.6167km²,平均厚度16.510m,最大厚度66.543m,与实体体积对比空隙率为41.79%

Agent反馈报告

8. 总结

本次实践可以总结为五条经验。

1.先提供资料入口

告诉Agent文档、解析代码和结果文件在哪里,并让它先复述数据结构和可用时间步。针对CoSim,可以直接复 制下面这段话,再替换算例路径:

C:\ProgramFiles(x86)\CoSim\bin\CoSim\BinaryIO.py是后处理二进制解析脚本;C:\ProgramFiles(x86)\CoSim\bin\doc\output-postprocess是后处理说明文档;【我的算例路径】\Outputs是求解仿真生成的后处理结果。请先阅读说明文档和解析脚本,盘点Outputs中的文件、时间步和可用物理量,确认理解后再进行分析。

这一步相当于给新同事提供软件手册、工具和数据入口,远比直接说“帮我分析这个BIN文件”有效得多。

2.描述目标、明确关键工程口径 

“统计最后时刻速度最大的20个对象”已经是清晰目标。文件读取、排序统计和程序实现都可以交给Agent关键指标需要交代清楚,比如需要实体体积,还是整体堆积体方量?单位是什么?希望输出表格、图片还是验证文件?

3.把领域方案直接告诉Agent

若工程师已有可信方法,可明确提出。本次XY网格方案就是关键领域输入。如果只说“算一个更合理的体积”,Agent可能采用固定堆积系数、体素化或三维包络面,结果不会相同。

4.要求可验证的中间成果

可以要求Agent:生成STL/VTK供可视化检查;输出对象编号和坐标;比较不同参数下的结果;列出假设、单位和误差来源。

5.AI不替代工程判断

本次分析经历了逐步修正:①简单的数据统计,检验Agent是否清晰理解文档;②红线区域内颗粒实体体积,并通过STL可视化核验坐标映射等关键步骤;③根据工程经验,提出XY网格高程方案,以修正堆积体方量计算。

每一步都来自工程师查看中间结果后的新判断。Agent提高了文档阅读、代码分析和数据处理效率,但最终采用什么口径、结果是否合理,仍由工程师决定。

对于CoSim这样的多物理场耦合求解器,AI最有价值的应用未必是替代求解算法,而是打通仿真结果与工程决策之间的“最后一公里”。

拥抱AI,不是把工程判断交给机器,而是让工程师拥有一名能够阅读代码、理解数据、执行分析并协助验证的数字伙伴。

CoSim下载地址

https://pan.baidu.com/s/1yljXY2mBTUltWSumFB_JZg?pwd=MEGG提取码:MEGG



来源:地学云堂
ACTUM离散元
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2026-07-21
最近编辑:1月前
混元仿真
国产工业仿真软件-CoSim
获赞 24粉丝 18文章 6课程 2
点赞
收藏
作者推荐
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈