几年前,我作为一个计算机专业与技术的毕业生,意外的,进入了一个硬件平台部门。也不曾想过,会在这里度过自己职业生涯的前几年。现在,简单记录一下一个仿真部门的组织结构与工作内容。
硬件部分是指什么呢?这里指一个电子产品的结构设计。这个结构设计需要满足各种硬件参数的要求,外形设计,以及内部空间设计,力学设计,热学设计,声学设计,涵盖内容非常广泛。仿真又是做什么的呢?由于结构设计复杂,生产验证的周期太长,而仿真可以在初期的设计过程中,及早的给出反馈,缩短设计周期,节约设计成本,提高设计质量。所以仿真对于结构设计来说,还是非常重要的。
那么对于一个完整的仿真部门来说,需要包含哪些部分呢?至少应该包含以下几个小组:
- 仿真技术的研究组,这是一个专家团队,需要负责对材料属性、仿真方法、建模方式、评判标准等,给出决定性的意见
- 仿真平台的技术组,该组主要负责仿真平台的建设,提供各种各样的工具供团队使用,增强团队的能力,提高团队的效率
- 仿真项目的支持组,该组主要对每一个需要仿真的项目进行分析评估,运用专家团队的知识和技术团队的工具,支撑主要业务流程的运转
建设一个仿真平台是一个复杂的事情,需要计算资源的支持,软件的支持,业务流程的梳理,操作流程的定义,软件平台的开发等各个方面均有必要的支持才可以。
计算资源和软件支持主要指仿真模型建立之后,需要大量的计算资源来完成计算,得出仿真的结果。这些内容主要通过采购获得。
业务流程主要包含以下过程:
- 结构文件的输入,仿真工况的定义。在明确对什么模型,进行哪种类型的仿真之后,这个任务就定义清楚了
- 仿真模型的前处理。这个过程几乎是最复杂,且是最重要的一个过程。在这个过程中,一个几何模型会被划分成数以百万计的网格,定义好各种连接方式,设定运动方式,最终输出一个几百兆的文本文件用来计算。
- 仿真计算。提交计算任务到计算资源池中,根据资源情况需要几个小时甚至上天的计算时间
- 仿真结构后处理。从计算的结果中,提取有用的数据、图片
- 仿真报告生成。根据计算的结果进行分析,生成报告,标记各项指标并报告风险
- 报告的分享与下载
- 实际测试反馈,修正仿真的参数和标准。
仿真平台在这个过程中可以做的事情:
- 对整个仿真过程进行管理
- 对计算资源的池化,存储资源的管理
- 自动化前处理
- 几何模型的自动化前处理。如去掉一些细小的倒角与薄壁
- 网格划分的自动化处理。包括几何清理,2D网格生成,2D网格质量调整,3D网格生成,3D网格质量调整,连接关系建立等。需要熟悉网格划分的软件,网格划分的规则,网格划分的代码实现,平面几何与立体几何的一些知识等。
- 材料属性的赋予
- 仿真工况的定义
- 多角度、多强度仿真文件的导出
- 自动化后处理
- 数据的采集、入库
- 报告的自动生成
其中,计算资源的池化、存储的管理主要是硬件资源的管理。自动化前处理则是仿真与软件开发结合比较紧密的部分。自动化后处理与报告的自动生成,对于数据库的建模提出了比较高的要求,多维度数据的定义、存取。报告的自动生成使用微软的 API 可以实现,参考对应的模板抓取数据并生成即可。
网格划分过程中,2D网格的处理是最麻烦的部分,几何清理,2D网格生成,处理穿插和自由边,调整网格质量均比较繁琐,考验操作者的耐心。自动化的过程也比较复杂,对一些特殊的情况往往不能完全自动化处理,需要人工介入。
整体而言,仿真也是一件挺有意思的事情,在后面元宇宙、数字孪生等内容发展的同时,也一定会促进仿真技术的发展。仿真的价值也会被广泛认可。