ANSYS二次开发概述

  • 格式:doc
  • 大小:23.00 KB
  • 文档页数:10

下载文档原格式

  / 10
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

ANSYS二次开发概述

标准ANSYS程序是一个功能强大、通用性好的有限元分析程序,同时它还具有良好的开放性,用户可以根据自身的需要在标准ANSYS版本上进行功能扩充和系统集成,生成具有行业分析特点和符合用户需要的用户版本的ANSYS程序。开发功能包括四个组成部分:

⑴.参数化程序设计语言(APDL)

⑵.用户界面设计语言(UIDL)

⑶.用户程序特性(UPFs)

⑷.ANSYS数据接口

APDL所能实现的功能通俗的说来应该是次于UPF而强与UIDL,但实际上是由于三者具体侧重点不同造成的:UIDL主要控制GUI界面的各类二次开发方法,涉及的分析部分就要少一些,APDL可以称其为和分析部分频繁打交道的一组小型工具,功能强大,但不和UIDL一样能够非常具体的针对某一两方面的二次开发处理,通常情况下融合在分析的角角落落中。UPF是三者之间的最强者,能完成最复杂的二次开发工作,比如说构建新单元,复杂数据库交互,外围命令定制等,但UPF在很多情况下也借助了APDL命令来完全实现其功能。同样也能在UIDL中嵌入APDL命令,来构建比较复杂的GUI二次开发工作。

UIDL、APDL和UPF三者各有所长,密不可分。结合使用三者,就能够实现任何强大的分析功能。

5.2 Ansys的开发功能组成部分Ansys的开发功能由三个部分组成:参数化程序设计语言(APDL)、用户界面设计语言(UIDL)、用户程序特性(UPFs)

5.2.1 参数化程序设计语言(APDL)

参数化程序设计语言(APDL-ANSYS Parametric Design Language)实质上由类似于FORTRAN77的程序设计语言部分和1000多条ANSYS命令组成。其中,程序设计语言部分与其它编程语言一样,具有参数、数组表达式、函数、流程控制(循环与分支)、重复执行命令、缩写、宏以及用户程序等。标准的ANSYS程序运行是由1000多条命令驱动的,这些命令可以写进程序设计语言编写的程序,命令的参数可以赋确定值,也可以通过表达式的结果或参数的方式进行赋值。从ANSYS命令的功能上讲,它们分别对应ANSYS分析过程中的定义几何模型、划分单元网格、材料定义、添加载荷和边界条件、控制和执行求解和后处理计算结果等指令。很多情况下,APDL主要用在优化设计或者自适应网格划分中。

用户可以利用程序设计语言将ANSYS命令组织起来,编写出参数化的用户程序,从而实现有限元分析的全过程,即建立参数化的CAD模型、参数化的网格划分与控制、参数化的材料定义、参数化的载荷和边界条件定义、参数化的分析控制和求解以及参数化的后处理。

宏是具有某种特殊功能的命令组合,实质上是参数化的用户小程序,可以当作ANSYS的命令处理,可以有输入参数或没有输入参数。

缩写是某条命令或宏的替代名称,它与被替代命令或宏存在一一对应的关系,在ANSYS中二者是完全等同的,但缩写更符合用户习惯,更易于记忆,减少敲击键盘的次数。ANSYS工具条就是一个很好的缩写例子。

5.2.2 用户界面设计语言(UIDL)

标准ANSYS交互图形界面可以驱动ANSYS命令,提供命令的各类输入参数接口和控制开关,用户在图形驱动的级别上进行有限元分析,整个过程变得直观轻松。用户图形界面设计语言(UIDL-User Interface Design Language)就是编写或改造ANSYS图形界面的专用设计语言,GUI方面几乎全部的二次开发功能都将由它完成,主要完成以下三种图形界面的设计:

⑴.主菜单系统及菜单项

⑵.对话框和拾取对话框

⑶.帮助系统

通过用户界面设计语言(UIDL),用户可以在扩充ANSYS功能的同时建立起对应的图形驱动界面,如在主菜单的某位置增加菜单项,设计对应的对话框、拾取对话框,实现参数的输入和其它程序运行的控制,同时提供相应的联机帮助,使操作者能方便地获取系统帮助。主要功能有:

[1] 组织强大的菜单系统。

在Ansys中也能轻松做出可以和VC,VB之类主流GUI开发工具媲美的菜单响应效果。

[2] 构建功能繁复的对话框。

利用强大的UIDL工具,也能轻松架构起进行大型工程分析的实用对话框向导。

[3] 建立自己的联机帮助

Ansys中的联机帮助非常实用,构建自己完善的帮助系统,UIDL是这方面不可或缺的理想开发工具

一个完整的UIDL控制文件结构大致如图5-1:

控制文件头

结构块结构

图5-1 UIDL控制文件结构图

任何一个UIDL控制文件开头都是一个控制文件头,其后接一个或多个结构块结构。控制文件头第一行必须有:F filename,filename是UIDL控制文件名。控制文件头第二行必须有:D description,description是对本文件的一些说明。注意到description中有时能带%E%扩展,但只有当拥有类似SCCS的系统(含一源码控制系统),ANSYS才能有效的进行%E%扩展,否则只有手动把这些说明替代%E%写入description中。

控制文件第三行必须有:I 0, 0, 0,各个0必须出现在第9、18、27行。只要在这些位置填入0,ANSYS在调用该文件后会自动在这些位置填入GUI 界面的位置信息。

结构块结构是一个UIDL控制文件的核心,它涵盖了菜单信息,命令信息,以及帮助文件信息,按照其不同的类型可划分为菜单结构块,命令结构块和帮助结构块。一般来说函数结构块还都伴随着构建一个对话框结构。

结构块结构基本框架如图5-2。

头部分

数据控制部分

尾部分

图5-2 UIDL结构块结构图

ANSYS在调用GUI界面时会自动调用menulistxx.ans文件(由版本不同而改变),该文件中描述了UIDL前处理器到哪里去寻找UIDL控制文件。ANSYS在其docu/目录中有一个基本的menulistxx.ans文件和对应的基本UIDL控制文件。默认情况下,ANSYS就调用这一文件。

5.2.3用户程序特性(UPFs)

用户程序特性(UPFs)向用户提供丰富的FORTRAN77用户程序开发子程