Hype rMe s h二次开发在客车CAE分析前处理上的应用
2015-08-25丁涛彭旺纪绪北
丁涛,彭旺,纪绪北
Hype rMe s h二次开发在客车CAE分析前处理上的应用
丁涛,彭旺,纪绪北
(比亚迪汽车工业有限公司,广东深圳518118)
利用TCL语言对HyperMesh进行二次开发,编写脚本程序执行繁琐的重复工作,提高工作效率。本文结合客车CAE分析流程,通过二次开发脚本案例,说明HyperMesh二次开发在客车CAE分析中的重要作用。
CAE分析;二次开发前处理;TCL脚本程序
1 客车CAE分析前处理概述
对于CAE分析前处理通用软件HyperMesh,其支持的二次开发语言是TCL(Tool Command Language),用户可以根据自己所要实现的功能编写相应的TCL代码,然后在HyperMesh中运行即可。TCL是一种脚本语言(Scripting Language),由John K.Ousterhout Ken Jones创建[1-2]。TCL易学且功能强大,经常被用于快速原型开发、脚本编程、GUI和测试等方面[3-4]。用户可以利用其创建很多特定的界面从而满足多样化的需求,而且可以根据自己的需求在短时间内开发出大量的应用程序。与其它语言相比,在实现相同的功能的前提下,其具有开发时间短、所写代码数量少等特点。TCL适于快速开发的另外一个原因在于它是解释语言。使用TCL程序时,可以在运行中生成和使用新的脚本,而无需重新编译和重启应用程序,这使得可以迅速尝试新的想法,迅速修正程序中的错误[5]。客车CAE分析前处理中所要进行的几何清理、实体抽中面等工作比较繁琐。对于整车分析而言,工程师处理起来任务量过大。对HyperMesh利用TCL语言进行有针对性的二次开发来提高工作效率,减轻工程师的劳动强度显得非常必要。
在客车的设计研发中,通常会进行大量的CAE模拟仿真计算辅助客车的设计,从而极大缩短研发周期和节约成本。客车的CAE分析通常有整车强度分析、整车侧翻分析、顶压分析、整车碰撞分析等。一般地,对客车CAE分析的前处理在HyperMesh中进行比较方便可行。在HyperMesh中,客车CAE分析前处理的步骤通常包括几何数据模型导入、实体抽取中面分组(骨架为薄壁结构,可利用板壳单元模拟计算则需要抽取中面)、几何清理(针对抽取的中面进行修补)、网格划分、焊接铆接模拟链接、材料属性赋予、抛撒质量点(整车有限元模型建立时将质量点附着在车身骨架的方式达到整车配重的目的)、边界载荷设置等步骤。图1是客车CAE分析前处理的流程图。
客车骨架多而且杂,材料种类也相对繁多,型材各式各样。在做CAE分析前处理的时候,就存在着巨大的工作量。客车CAE分析中几乎所有的前处理工作看起来都可以采用TCL语言二次开发的模式来完成,对于每个步骤可以编写相应的模块让计算机来解放工程师繁重的劳动量。
2 HyperMesh二次开发主要工作
2.1HyperMesh简介
HyperMesh是一款强大的CAE前处理软件,提供了功能丰富的二次开发接口。用户可以通过它提供的API函数或Hm命令来编制程序以实现所需的功能[6]。在HyperMesh前处理软件中,在菜单栏Utility中的User面板中,提供了可供用户自己开发创建按钮的区域,按键的创建需要遵循软件设定的规则。
一般地,每一个创建成功了的按钮都可以调用相应的宏命令或脚本文件。二次开发人员只需要将已经写好的脚本文件与按钮按照一定的规则联系起来。当点击按钮时,HyperMesh前处理软件就会自动地按照用户的意愿运行下去。在运行HyperMesh软件时,用户的每一步操作都会被记录在command.cmf文件中。二次开发人员在定制属于自己分析的脚本程序时,可以取用储存在command.cmf文件中相应的命令,然后将脚本与按钮通过宏命令联系起来,这样一个特定的模块也就产生了。
2.2前处理脚本程序
根据客车CAE前处理的特点,对材料分组、焊接铆接模拟、抛撒质量点、材料属性创建等在HyperMesh中进行了二次开发。针对它们编写了相应的脚本程序,实现了在HyperMesh前处理中自动对客车骨架进行材料分组、自动对骨架进行焊接铆接模拟、抛撒质量点的自动化、自动赋予材料属性。用户在进行CAE的各种分析前处理时,均可以使用这些脚本程序来进行有限元模型建模,极大地提高了CAE分析建模的效率。对比手工建模和脚本编程自动化建模的时间,使用流程建模的时间仅是手工建模时间的22%[7]。
通常,客车CAE建模时会利用抛撒质量点的方式对有限元模型进行配重。为了尽可能地使建立的有限元模型质心与结构设计一致,抛撒质量点往往要求准确,这样就极大地影响了工程师的效率。下面对客车CAE分析前处理中的抛撒质量点的脚本程序作为案例进行介绍。
1)抛撒质量点逻辑。抛撒质量点自动化即是让工程师的繁复的测量计算等让计算机依照程序完成,工程师只需要选定需要抛撒质量点的区域、输入需要抛撒的质量、输入对应存放质量点的component的名称即可。在脚本程序运行的过程中,若出现输入错误,程序则会预警返回。抛撒质量点运行的逻辑如图2所示。
2)抛撒质量点脚本程序。对于机械行业CAE分析工程师来说,TCL也是一种重要的工具语言。很多CAE分析软件的深入应用都离不开TCL语言[8]。HyperMesh的二次开发,就是将命令用TCL按照一定逻辑串联起来,形成一个命令脚本。这样前处理过程只需要调用此脚本即可[9]。下面是针对客车前处理中抛撒质点步骤编写的脚本程序。
在程序中,#是注释符,TCL编译器不会执行以#开头的语句。带*的语句是HyperMesh格式命令,Hyper-Mesh在读入脚本后会把这些命令转化为HyperMesh的动作过程[7]。
3)抛撒质量点程序操作步骤。对HyperMesh进行二次开发的初衷是简化CAE工程师的操作步骤和工作量、便于标准化[10]。如果新编写的二次开发程序对实际操作步骤没有简化或减少,实际上就没有达到目的,更谈不上提高工作效率了。一个相对合理的二次开发程序要求执行效率高,操作简单方便快捷。如果新开发的程序操作繁琐、效率低,那就要对程序进行优化了。
对于前处理中抛撒质量点来说,找到抛撒质量点的区域、输入抛撒质量的数值、给定存放质量点的component名称是必要的,其余均可省略,让计算机为工程师代劳。因此,抛撒质量点操作步骤依次为(a)点击抛撒质量点快捷按钮;(b)选定抛撒质量点的区域;(c)输入抛撒质量的数值;(d)给定存放质量点的component名称。图3(a)-(d)是抛撒质量点程序的软件操作步骤。
利用抛撒质量点模块进行客车车辆的配重,使得工作量得到很大减轻。程序自动计算每个质量点的大小、自动创建存放质量点的component、自动将存放质量点的component移送至assembly(mass)里面去,中间省略很多环节,极大提升配重效率。图4是利用抛撒质量点程序完成的质量配重模型界面效果。
3 结论
TCL二次开发可以很方便地在HyperMesh中完成许多批处理工作,大大降低工作强度。在客车CAE分析的前处理当中,有着许多需要批次处理和简化的工作步骤,利用二次开发手段,不仅为工程师提高了工作效率,更使得许多年轻的工程师也能快速掌握CAE分析的相关步骤,从而保证了项目的节点。对于客车CAE工程师来说,巧妙地利用好这一工具,实现CAE分析过程的自动化和标准化,有着非常重要的作用和意义。
[1]John K Outsterhout,Tcl and the Tk Toolkit[M].Addison-Wdsley PublishingCompany,1994.
[2]Brent Welch.Practical Programming in Tcl and Tk[M].Prentice Hall,1995.
[3]张学工,刘业新.X Window/MOTIF编程速成[M].北京:清华大学出版社,1998.
[4]崔鸿,李全福.基于TCL语言的外壳语言实现方法[J].计算机工程,2005,(B07):133-134.
[5]John K.Ousterhout Ken Jones.TCL/TK入门经典[M].北京:清华大学出版社,2010.
[6]宋杰.基于HyperMesh的增强功能镜像工具开发[J].民用飞机设计与研究,2010,(3):57-61.
[7]霍福祥,董嘉林,武斌.流程自动化提高发动机仿真建模效率[C].2007 Altair大中国区用户技术大会论文集,2007.
[8]屈晓峰.基于TCL语言的HyperMesh平台二次开发范例[C]. Altair 2010 HyperWoks技术大会论文集,2010.
[9]王昌胜.HyperMesh二次开发在车门抗凹和下垂的应用[C]. Altair 2010 HyperWoks技术大会论文集,2010.
[10]曹文刚,范超.基于HyperWorks的CAE流程自动化系统设计开发[J].工程图学学报,2011,(1):16-21.
修改稿日期:2015-06-18
Application of HyperMesh Secondary Development to Bus/Coach CAE Analysis Pre-treatment
DingTao,PengWang,Ji Xubei
(BYDAutomobile IndustryCo.,Ltd,Shenzhen 518118,China)
TCL language can be used to do secondary development to HyperMesh,and script programs can be created to execute many and complex repeated tasks,which can increase working efficiency.In combination with CAE analysis process ofbuses/coaches,the authors elaborate the importance ofsecondarydevelopment to HyperMesh in CAE analysis process ofbuses/coaches through the example ofscript secondarydevelopment.
CAE analysis;secondarydevelopment pre-treatment;TCLscript program
U469.1;TP391.72
B
1006-3331(2015)06-0047-03
丁涛(1986-),男,硕士;结构分析工程师;主要从事新能源客车结构分析工作。