ANSYS二次开发概述_第1页
ANSYS二次开发概述_第2页
ANSYS二次开发概述_第3页
ANSYS二次开发概述_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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用户程序开发子程序和函数,用户利用它们从开发程序源代码的级别上扩充ANSYS的功能。使用这些子程序和函数,编写用户功能的源代码程序,在与ANSYS版本要求匹配的FORTRAN或C+编译器上重新编译和连接,生成用户版本的ANSYS程序。另外,还提供了外部命令功能,允许用户创建ANSYS可以利用的共享库。用户可以开发下列方面的功能程序:开发用户子程序实现从ANSYS数据库中提取数据或将数据写入ANSYS数据库。该种子程序可以编译连接到ANSYS中,此时ANSYS提供了10个数据库操作命令;如果作为外部命令处理,可以在ANSYS的任何模块中运行;利用ANSYS提供的子程序定义各种类型的载荷,其中包括BF或BFE载荷、压力载荷、对流载荷、热通量和电荷密度等;利用ANSYS提供的子程序定义各种材料特性,包括塑性、蠕变、膨胀、粘塑性、超弹、层单元失效准则等;利用ANSYS提供的子程序定义新单元和调整节点方向矩阵;利用ANSYS提供的子程序修改或控制ANSYS单元库中的单元;(6).利用UEROP创建用户优化程序;ANSYS程序作为子程序在用户程序中调用。一个典型的UPFs包括下列步骤: 1.在FORTRAN77中编制用户程序。在ANSYS中所有的用户程序源代码都是公开的。大部分完成至少一个简单的功能,因此在编制程序前应列出一份完整的可用程序表。 2.编译并将用户程序连接到ANSYS程序中。在ANSYS Installation and Configuration Guide中有这方面的详细描述。 3.用户可能要验证自己做的改动是否影响其他ANSYS标准功能的使用。可以通过做几个ANSYS Verification Manual中的例题来验证。在ANSYS中也有输入这些问题的方法。 4.用用户认为可以满足要求的过程检验用户子程序。请牢记本步由用户完成,用户要对子程序负责。 ANSYS程序将在用户使用时自动激活一些子程序,如用户单元等。例如,要激活一个用户单元,仅仅在模型建立时指定它为其中的一个单元类型(ET命令或MainMenuPreprocessorElement TypeAdd/Edit/Delete),将单元类型属性指针设置好,然后用该单元进行实体划分AMESH,VMESH等或直接生成单元ET等命令即可。 对于其他一些UPFs,用户需要做一些别的操作来激活它们。即,需要输入USRCAL命令或选择下列菜单:Main MenuPreprocessorLoads-Load Step Opts-OtherUser Routines或Main MenuSolution-Load Step Opts-OtherUser Routines。如果没有做这一步,将执行标准的ANSYS功能。例如,如果想施加对流载荷,即便连接了用户对流子程序,缺省时仍是使用标准的ANSYS功能。因此用户必须使用USRCAL命令(或相应路径)激活正确的用户子程序才能使用用户过程。请参阅USRCAL命令描述得到命令可以影响的用户过程列表。使用NSVR命令定义在用户过程中要存储的另外的变量数目。(NSVR命令无相应的路径)。 另一个有用的命令是/UCMD,可以使用户在用户

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论