首页 > 技术 > Altair > > 基于HyperWorks的CAE流程自动化系统设计开发

基于HyperWorks的CAE流程自动化系统设计开发

作者:曹文钢 范超    来源:佳工机电网    发布时间:2012-05-09    收藏】 【打印】  复制连接  【 】 我来说两句:(0逛逛论坛

为满足产品零件结构合理、实用等市场要求,在产品设计阶段利用计算机进行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模块开发而成。如何开发是本文研究重点。

newmaker.com

1.2 系统开发流程

CAE流程自动化系统开发流程如图2所示。


newmaker.com

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,为用户提供参数输入界面。


newmaker.com

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所示。

newmaker.com

tclincludes文件夹里存放.tcl文件。.tcl文件是实现系统功能的核心部分。

3.3.2 Process Tree的建立

Process Tree每个节点是一个具体任务,都有相应GUI与用户形成交互。通过GUI,用户可以输入参数以供求解计算使用。图5所示即为求解谐响应的Process Tree。


newmaker.com

此外,还应设置Process Tree的任务属性见图6。


newmaker.com

 
分享到: 收藏