ANSYS二次开发概述
- 格式:doc
- 大小:23.00 KB
- 文档页数:10
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用户程序开发子程