CAE仿真技术在我国已发展了几十年,软件涉及结构、流体、电磁等,种类多,行业分布广。如何实现CAE仿真流程的自动化?本文将以流体软件Ansys Fluent为例进行介绍。
Ansys Fluent是一款通用的流体软件,具备专业的前处理模块,同时具备流动、传热、多相流等丰富的物理模型,可以求解各种广泛的工业问题。但是功能齐全、模型丰富,也意味着对仿真人员的要求很高。
比如在汽车行业,Fluent可以用于空气动力学分析、噪声分析及优化、热管理问题、成员舱热舒适性分析、空调除霜除雾分析、进/排气系统分析、雨水管理、车身结尘分析等多种需求。面对这么多研究方向,仿真分析既需要技术人员具备行业基础,也需要积累相关仿真经验,对软件操作要有较高的熟练度,所以对企业非专业仿真技术人员或新员工而言,入门难度大,学习周期长。
但有一点值得肯定的是,随着CAE技术数十年的经验沉淀,很多企业针对自己行业所需的仿真技术已建立起完善的仿真制度和标准的仿真分析流程。近年来,随着软件集成技术的不断发展,越来越多的用户选择将仿真流程、经验、规范进行定制化封装,实现仿真过程的规范化,专业化,自动化。通过集成封装,用户仅需通过定制化用户界面输入相关条件、启动应用执行,后台会自动执行仿真计算,得到需要的仿真结果,既解决了行业性问题,也降低了仿真门槛,同时也是数字化资产的沉淀。
仿真平台的集成开发过程主要分为流程梳理、软件设计、软件开发和软件测试四个阶段,如图1。流程梳理需要用户和开发者双方讨论后整理工作流程,如约定命名规则等。软件设计和开发中最为核心的是界面开发、脚本开发和软件封装的技术。软件测试是最费时间的阶段,需要用户和开发人员通力合作,不断提高仿真平台的鲁棒性。
图1 开发流程图
以整车空气动力学分析为例,流程分为几何处理、网格划分、计算设置、提交任务和结果处理四大块。每一块内容都有一套既定的规范,对同类车型,为了准确对比结果,网格参数和计算设置都是相同的。对于不同车型,也只是做些许设置调整。因此,完全可以开发一个仿真平台,完成系列车型的开发。
界面开发就是把必须由用户输入的参数做成图形用户界面,如几何处理中的切地位置,网格流程中的网格尺寸、加密方法,计算设置中的边界条件等,如图2所示。界面独立于Fluent软件,是全封装形式,后台执行Fluent脚本时,界面与Fluent图形窗口无交互,数据间传递不是实时双向传递的。
界面开发可以采用多种界面框架,比如跨平台的QT、.NET的WinForms、Python的Tkinter界面框架等,开发语言可以是C++、C#、Python、JAVA等。界面开发对编程能力要求较高,一般由专业程序员完成。
图2 图形用户界面
如果把界面开发比作五官,那么脚本开发就是心脏。Fluent的所有工作都通过jounal脚本来描述。所以这一块的工作一般需要专业的CFD仿真工作者来完成。
Fluent有文本用户命令(TUI命令)和界面用户命令(GUI命令)两种,两者都是基于Scheme语言编写。TUI命令在控制台窗口输入,通过TUI命令可以完成大多数操作。比如选择realizable kε湍流模型,可用/define/models/viscous/ke-realizable yes语句,如图3所示。
图3 TUI命令
Fluent通过Start Journal功能可以进行TUI日志文件的录制,保存文件的扩展名为*.jou。通过GUI界面来进行仿真流程设置,Fluent后台会自动记录GUI操作。图4是录制的设置湍流模型。同样的操作,TUI命令不涉及选择面板和按钮等操作,显然比GUI命令更简洁易读,所以推荐大家优先采用TUI命令方式编写脚本,只有当没有TUI命令可以使用的时候才使用GUI 命令。
图4 GUI命令
写脚本之前还有一个很重要的工作是约定命名规则。对所有模型都要采用一套命名规则,才能统一管理面和体。我们可以根据约定命名设置预处理或后处理边界,脚本才能实现通用性。使用通配符对于编写通用脚本非常有用,我们可以使用通配符选择多个面或区域,如cas*、* cas*或*cas。*表示选择所有对象。例如,/display/boundary-grid *能够显示网格中的所有边界区域。
只要了解TUI命令的结构,编写TUI脚本是比较简单的。但是,TUI脚本无法进行流程控制,代码复用性不佳。遇到需要做循环控制等复杂的情况,我们可以使用Scheme语言编写脚本,因为TUI的本质是基于Scheme语言的文本命令。Scheme是一个完整的语言,具备数据结构、函数编程、流程控制等功能,通过将Scheme脚本与TUI命令相结合,可以让脚本的通用性和复用性更好。
Scheme可以通过使用ti-menu-load-string函数来调用TUI命令,从而实现流程控制。图5显示的是一个后处理时循环创建ISO 面的脚本,等间距创建多个ISO 面并自动命名。
图5 Scheme循环命令
完成界面和脚本开发后,我们需要把软件进行集成封装。通常是采用批处理方式调用Fluent进程,然后在后台顺序执行Fluent脚本文件,进行仿真操作,流程如图6所示。
图6 封装控制流程
经过多方客户反馈,IDAJ开发的自动化仿真平台可以使他们将整车模型的网格划分、计算设置和后处理三大块工作都缩短到1小时以内,大大提高了工作效率。尤为明显的是后处理模块,仿真平台可以很快地帮助客户输出几百张流场分布图和数据文件,如图7所示。
图7 后处理结果
IDAJ深耕汽车行业CAE仿真和系统开发超过20年,积累了大量流体、结构、电磁及优化的仿真更佳实践及自动化系统开发经验。通过开发自动化仿真平台,可以帮助客户标准化CAE分析工作,使CAE分析结果的评价标准得到统一;提高整个设计环节的效率;让研发人员把更多时间投入到研究创新;加快新员工的培养,缩短员工对CAE软件的学习时间,成为越来越多的企业的开发选择。
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删