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

基于 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 流程自动化系统的实用性和方便性以及开发方法的可行性和有效性。 对企业开发此类系统具有一定的参考和指导价值。


相关文档

HyperWorks在航空航天中的应用- CAE 自动化设计流程
HyperWorks缩短CAE流程
CAE流程自动化系统—HyperMesh二次开发
基于HyperWorks的CAE流程自动化系统设计开发
HyperWorks在国防中的应用-模型建立及流程自动化
ABAQUS-CAE定制与企业流程的自动化
朱君鸣_HyperWorks二次开发以及自动化处理
HyperWorks流程
hyperworks_CAE二次开发技术应用
HyperWorks在消费品的应用-流程自动化
电脑版