CAE/模拟仿真
按行业筛选
请选择行业
----------------------
-全部行业
------------------
-机床与金属加工设备
-刀具/量具/夹具/磨具
-模具设计与制造
-塑料机械/橡胶机械
-通用机械/化工机械
-工程机械/建材机械
-交通运输/海工装备
-农业机械
-食品机械/烟草机械
-包装机械
-印刷机械/广告设备
-纺织机械
-木工/造纸/环保/医疗设备
-物流设备
-智能楼宇/安防设备
-炉窑/热处理设备
-五金工具
------------------
-工业自动化
-佳工激光网
-仪器/仪表/衡器
-电力设备
-电子/通讯/办公文具
-家电/照明/健康设备
------------------
-基础件/通用件
-标准件
-工业原材料
-电子元器件及材料
-包装材料
------------------
-CAD/CAM/PDM/PLM
-ERP/制造业信息化
-管理咨询/认证
-服务/培训/工业设计
按产品筛选
----------------------
-本行业全部文章
--------------------
-CAD/CAM软件
-CAE/模拟仿真
-PDM/PLM/C
-EDA/专用CAD
-三维打印机
-三坐标测量机
-三维扫描仪
-CAD硬件/先进制
查看本类全部文章
基于HyperWorks的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.2 系统开发流程
CAE流程自动化系统开发流程如图2所示。
2 流程开发关键技术
2.1 HyperWorks内置命令
HyperWorks为用户提供丰富的功能函数。主要有两种:其一是“*”命令函数,如*shrink(2);其二则是“hm”命令函数,它们是Tcl/TkCommands。如: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。
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所示。
tclincludes文件夹里存放.tcl文件。.tcl文件是实现系统功能的核心部分。
3.3.2 Process Tree的建立
Process Tree每个节点是一个具体任务,都有相应GUI与用户形成交互。通过GUI,用户可以输入参数以供求解计算使用。图5所示即为求解谐响应的Process Tree。
此外,还应设置Process Tree的任务属性见图6。
3.3.3 GUI设计与制作
Process Tree每个任务节点都有相应的GUI与之对应。如与Input Setup节点相对应GUI页如图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节所述方法可获取命令流(这里只列出修改过的一小部分):
4.2 创建Process Tree及相应GUI
利用Process Studio创建谐响应分析流程Tree(见图9),Tree的每个节点都有相应页面与之对应,如定义动态载荷节点Defme Dload与之相对应的用户交互界面如图10所示。利用3.3.4节介绍的方法建立数据传递与函数调用关系。
4.3 系统运行
系统在运行过程中,面的重新划分、线的压缩、相邻点的合并等进一步细化清理则一般是利用HyperMesh自身的几何清理工具来完成。现将系统运行的主要过程介绍如下:
(1)调用CAE系统
为方便操作,利用宏命令将调用系统的按钮添加到HyperMesh的User页。如随机、谐响等。如图8所示。点击相应按钮即可调用相应的分析流程。
图8 用户页
(2)谐响应分析系统界面 谐响应系统流程如图9所示。
图9 谐响应系统流程
(3)定义动态载荷 定义动态载荷界面如图10所示。
图10 定义动态载荷界面
(4)定义频率范围 频率范围输入界面如图11所示。
图11 额频率范围输入界面
(5)设定Lanczos法求解 Lanczos法参数输入界面如图12所示。
图12 Lanczos法参数输入界面
(6)求解结果 谐响应分析结果如图13所示。
图13 谐响应分析结果
以上功能界面所需命令流均存放于tclincludes文件夹.tcl文件中。
5 结束语
本文系统地阐述了CAE流程自动化系统的开发过程与关键技术。通过对一个汽车半轴进行实例分析,验证了CAE流程自动化系统的实用性和方便性以及开发方法的可行性和有效性。对企业开发此类系统具有一定的参考和指导价值。
文章内容仅供参考
(投稿 )
(如果您是本文作者,请点击此处 )
(4/19/2012)
对 CAE/模拟仿真 有何见解?请到 CAE/模拟仿真论坛 畅所欲言吧!