基于HyperWorks的CAE流程自动化系统设计开发
2011-07-29曹文钢
曹文钢, 范 超
基于HyperWorks的CAE流程自动化系统设计开发
曹文钢, 范 超
(合肥工业大学机械与汽车工程学院,安徽合肥 230009)
针对企业应用HyperWorks进行CAE分析时存在操作复杂和操作者需熟悉系统功能的问题,给出了基于HyperWorks、Process Manager和Process Studio的HyperWorks CAE流程自动化系统的结构及其开发流程,应用Tcl/Tk程序设计技术开发出产品零件CAE流程自动化系统。并以某零件CAE分析实例,验证自动化系统可操作性。为产品设计、分析提供一种快捷方法,缩短了企业产品设计分析周期。对企业开发工作具有一定的指导意义。
计算机应用;CAE流程系统;程序设计;系统开发
为满足产品零件结构合理、实用等市场要求,在产品设计阶段利用计算机进行CAE分析是十分必要的。目前国外一款高效实用的CAE软件HyperWorks在产品开发、设计、分析中得到日益广泛应用。但在使用HyperWorks软件进行分析时,操作比较复杂,且不利于企业已有使用经验的传承。因此,在保证CAE分析的正确性和精确性条件下,如何使软件使用便捷、高效成为企业所关注的重要问题。目前国内许多应用HyperWorks的企业只停留在使用阶段,对HyperWorks CAE流程自动化系统的开发仍是空白。本文以HyperWorks的Process Studio模块为开发环境,综合运用Tcl/Tk语言和HyperWorks内置函数,开发出适用性很强的CAE流程自动化系统。详细阐述自动化系统的开发流程及其关键技术,辅以实例分析论证其实用性和可行性,对国内企业开发工作具有很强指导意义。
1 CAE流程自动化系统
1.1 系统结构
HyperWorks CAE流程自动化系统结构如图1所示。HyperWorks提供一个标准化流程执行工具软件:Process Manager。它将工程师的专业知识转化成企业CAE流程并进行固化,最终实现分析流程标准化和自动化,提高企业CAE分析的质量和效率。利用它建立CAE分析流程标准模板,并以此模板为向导,实现CAE分析过程自动化。Process Manager提供与其他应用程序的接口APIs,利用APIs控制HyperWorks内的所有应用软件,如调用用于后处理的HyperView。此外,还可以利用相应的APIs启动第三方软件包和服务以及建立与它们之间的联系和通信。Process Studio是HyperWorks编制模板模块,利用它可将标准的CAE分析过程制成模板。每一个CAE分析过程中的操作任务都是应用Tcl/Tk或Process Studio内置UI模块开发而成。如何开发是本文研究重点。
图1 HyperWorks CAE系统结构
1.2 系统开发流程
CAE流程自动化系统开发流程如图2所示。
图2 开发流程
2 流程开发关键技术
2.1 HyperWorks内置命令
HyperWorks为用户提供丰富的功能函数。主要有两种:其一是“*”命令函数,如*shrink(2);其二则是“hm”命令函数,它们是Tcl/Tk Commands。如:hm_entitylist entityType listType。在HyperWorks 4.0及以后更高版本中就已嵌入了Tcl/Tk,使开发定制流程成为可能。命令函数用来实现与HyperMesh的DataBase通信,例如,从HyperMesh DataBase可获取如下信息:IDs on a mark、list of assemblies、components、node values等。
2.2 Tcl/Tk程序设计技术
Tcl即Tool command language的首字母,读作Tickle。与C++和Java语言类似,是一种脚本语言。与C++和Java相比,Tcl能方便地向应用程序添加其解释器。Tk是Tcl的图形界面工具包,用于定义Tcl命令、创建和操纵用户界面部件。Tk是Tcl最有用的扩展,其所有的功能都可以通过Tcl获得,这给了Tk很大的弹性,动态可控性,并使得它比其他工具包功能更强大。Tcl/Tk易学、易用、易嵌入,在流程自动化系统开发过程中,用来组织界面背后代码,实现代码间逻辑关系,实现CAE流程自动化目的。给开发工作带来极大方便。利用Tk创建CAE流程自动化系统与用户交互的GUIs。如图3所示,是一个人机交互的Panel,为用户提供参数输入界面。
2.3 HyperWorks内置GUI命令函数
HyperWorks内置创建GUI的命令函数如:hwt::createWindow win_name ?options ?。此命令的功能是创建一个窗口。使用这类命令可以方便快速地开发出适用的人机交互界面。
2.4 数据库的连接
CAE流程自动化系统应有相应数据库作为支撑。通常需建立材料数据库和载荷数据库。材料库以材料名称、弹性模量、密度等字段建立。为方便操作与维护,可选用Ms sql 2000或Oracle作为数据库环境。本系统以Ms sql 2000为环境。数据库名称为mydb,用户名为user。其连接代码为:package require tclodbc;
database connect db {DRIVER=SQLServer; SERVER=dbs1;DATABASE=mydb;Username=user};
3 CAE流程自动化系统开发的实施
明确产品零件类别,保证开发出的CAE流程自动化系统最大范围地适用企业各类产品CAE分析,保证CAE流程自动化系统具有最大柔性,是系统开发首要要求。
3.1 综合分析产品或零件
对产品或零件进行分析有两个要求:首先,为保证对某类产品或零件进行CAE分析(模态分析、谐响应分析等)操作正确性,必须由专业CAE人员进行实际操作。其次,在分析时要认真选择好分析对象。选择分析对象应该遵循原则:被分析对象应具备充分代表性,尽可能多地代表一类产品或零件,即在对这一产品或零件CAE分析时,应包括在对某类产品或零件CAE分析时所需全部要求。
3.2 获取命令流
综合分析的目的是获取CAE操作的命令函数。用户与HyperMesh开始会话时,HyperMesh自动记录所有“会话”内容,即启动软件、用户建模、单元的建立、创建component以及后处理等所有操作会自动以命令流的方式记录在command.cmf文件中。command.cmf 存在HyperMesh的工作目录之下,若command.cmf不存在,HyperMesh会在启动时自动创建。在Windows系统上设置起始目录的步骤是:①右击HyperMesh的桌面图标;②从弹出的菜单中选择Properties(属性)菜单项;③设置Shortcut(快捷方式)栏中的Start In(起始位置)字段中的路径,如可设置起始路径为:F:myCMF9.0。
command.cmf文件中命令流为:命令全部以“*”开头,如*enablemacromenu(1);命令名称部分直到左边括号;命令的参数是在左右括号中间,以列表的形式给出且以逗号分隔。如:*window(0,0,0,0,0)。HyperWorks识别命令时,把星号“*”和左括号“(”之间的部分看作是命令名,命令名称之后皆为参数。命令经过相应修改后使之符合Tcl/Tk语法,即为要获取的命令流。如定义动态载荷名称的命令:*collectorcreate loadcols "$reload2" " " 5 ,其中$reload2 参数传递用户在页面中输入的载荷名。
3.3 利用Process Studio标准化CAE流程
Process Studio是开发CAE流程自动化系统的平台,是Process Manager的模块。CAE流程自动化系统在Process Manager管理下运行,实现CAE流程自动化。
3.3.1 CAE流程自动化系统的文件结构
CAE流程自动化系统的文件结构如图4所示。
图4 文件结构图
tclincludes文件夹里存放.tcl文件。.tcl文件是实现系统功能的核心部分。
3.3.2 Process Tree的建立
Process Tree每个节点是一个具体任务,都有相应GUI与用户形成交互。通过GUI,用户可以输入参数以供求解计算使用。图5所示即为求解谐响应的Process Tree。
图5 Process Tree
此外,还应设置Process Tree的任务属性见图6。
图6 设置任务属性
3.3.3 GUI设计与制作
Process Tree每个任务节点都有相应的GUI与之对应。如与Input Setup节点相对应GUI页如图7所示。
图7 参数输入页面
3.3.4 utils之间数据传递及Tcl Script的调用
utils即Process Studio中控件总称。它们之间可以用两种方法实现数据通信:① Using Tcl Script to Write Callbacks。② Using HWPM Script to Write Callbacks。例如,要获得一个名字为“mytext”文本框的值可以用语句:
set strValue [::hw::pmgr::PmgrGetData 0 "mytext. value"]。要调用Tcl Script,只须将脚本放在tclincludes文件夹里面,并在相应的utils的属性中设置所调用的Tcl Script即可。
3.4 CAE流程自动化系统扩展与完善
对所开发系统应进行测试,以进一步完善其功能。根据某类产品CAE分析的共性,进行功能扩展,提高CAE流程自动化系统的柔性,以适用于更多产品零件的分析。
4 CAE流程自动化系统应用实例
对某汽车半轴进行模态频率响应分析。根据实际工况进行约束,施加单位载荷,其频率范围为0~2000Hz。用于响应求解的频率为20Hz开始,步长为20Hz,频率增加次数为100次。用Lanczos法确定频率范围,设为1~2000Hz。选定点的位移―频率图见图13。经与实验数据分析对比,验证了求解正确性。
4.1 获取命令流
用3节所述方法可获取命令流(这里只列出修改过的一小部分):
*collectorcreate loadcols "$reload2" " "
5 ;*createmark loadcols 2 "$reload2";
hm_createmark loadcols 2 $reload2;set
id [hm_getmark loadcols 2];
*dictionaryload loadcols 2 "[hm_info exporttemplate]" "RLOAD2";
4.2 创建Process Tree及相应GUI
利用Process Studio创建谐响应分析流程Tree(见图9),Tree的每个节点都有相应页面与之对应,如定义动态载荷节点Define Dload与之相对应的用户交互界面如图10所示。利用3.3.4节介绍的方法建立数据传递与函数调用关系。
4.3 系统运行
系统在运行过程中,面的重新划分、线的压缩、相邻点的合并等进一步细化清理则一般是利用HyperMesh自身的几何清理工具来完成。现将系统运行的主要过程介绍如下:
(1)调用CAE系统
为方便操作,利用宏命令将调用系统的按钮添加到HyperMesh的User页。如随机、谐响等。如图8所示。点击相应按钮即可调用相应的分析流程。
图8 用户(User)页
(2)谐响应分析系统界面 谐响应系统流程如图9所示。
图9 谐响应系统流程
(3)定义动态载荷 定义动态载荷界面如图10所示。
图10 定义动态载荷界面
(4)定义频率范围 频率范围输入界面如图11所示。
图11 频率范围输入界面
(5)设定Lanczos法求解 Lanczos法参数输入界面如图12所示。
图12 Lanczos法参数输入界面
(6)求解结果 谐响应分析结果如图13所示。
图13 谐响应分析结果
以上功能界面所需命令流均存放于tclincludes文件夹.tcl文件中。
5 结束语
本文系统地阐述了CAE流程自动化系统的开发过程与关键技术。通过对一个汽车半轴进行实例分析,验证了CAE流程自动化系统的实用性和方便性以及开发方法的可行性和有效性。对企业开发此类系统具有一定的参考和指导价值。
[1] 张胜兰, 郑科黎, 等. 基于HyperWorks的结构优化与设计技术(第1版)[M]. 北京: 机械工业出版社, 2007. 7.
[2] 王道义, 乔陶鹏, 等. Tcl/Tk组合教程(第2版)[M]. 北京: 电子工业出版社, 2001. 2.
[3] 王 坚, 金 革. Tcl/Tk和C语言的接口[J]. 计算机应用, 2000, 20(12): 20.
[4] HyperMesh, OptiStruct and Batch Mesher. Altair HyperWorks9.0 Help [CP/OL] 2007. http://www. altair.com.cn.
[5] 刘荣军. 有限元建模中的几何清理问题[J].机械设计与制造, 2005, (9): 146.
Design and Development of CAE Process Automation System Based on HyperWorks
CAO Wen-gang, FAN Chao
( Shool of Mechanical and Automotive Engineering, Hefei University of Technology, Hefei Anhui 230009, China )
Aiming at sovling the problems of complexity and substantial experience needed in using HyperWorks to do CAE analysis for enterprise, the structure and development process of HyperWorks CAE process automation system is given based on HyperWorks Process Mananger and Process Studio. CAE process automation system is developed by using the Tcl/Tk programming technology. CAE analysis result of some product parts demonstrates the operability of CAE automation system. It provides a shortcut for designing and analyzing products and reduces the analysis and design cycle of the product eventually. It has a great guiding significance for enterprise development work.
computer application; CAE process system; program design; system development
TP 391
A
1003-0158(2011)01-0016-06
2009-04-15
安徽省科技攻关资助项目(06012141H)
曹文钢(1957-),男,河北涞源人,副教授,硕士,主要研究方向为数字化设计与制造,CAD,计算机图形学。