ANSYS经典APDL编程

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ANSYS经典APDL编程相关的知识,希望对你有一定的参考价值。

在使用ANSYS的过程中的一些经验总结:

 

1.ANSYS中的一些关键概念的理解;

参数化程序设计语言(APDL) 参数化程序设计语言(APDL:ANSYS Parametric  Design  Language)实质上由类似于FORTRAN77的程序设计语言部分和1000多条ANS YS命令组成。其中,程序设计语言部分与其它编程语言一样,具有参数、数组表达式、 函数、流程控制(循环与分支)、重复执行命令、缩写、宏以及用户程序等。标准的AN SYS程序运行是由1000多条命令驱动的,这些命令可以写进程序设计语言编写的程序,命 令的参数可以赋确定值,也可以通过表达式的结果或参数的方式进行赋值。从ANSYS命令 的功能上讲,它们分别对应ANSYS分析过程中的定义几何模型、划分单元网格、材料定义 、添加载荷和边界条件、控制和执行求解和后处理计算结果等指令。   用户可以利用程序设计语言将ANSYS命令组织起来,编写出参数化的用户程序,从而 实现有限元分析的全过程,即建立参数化的CAD模型、参数化的网格划分与控制、参数化 的材料定义、参数化的载荷和边界条件定义、参数化的分析控制和求解以及参数化的后 处理。   宏是具有某种特殊功能的命令组合,实质上是参数化的用户小程序,可以当作ANSY S的命令处理,可以有输入参数或没有输入参数。   缩写是某条命令或宏的替代名称,它与被替代命令或宏存在一一对应的关系,在AN SYS中二者是完全等同的,但缩写更符合用户习惯,更易于记忆,减少敲击键盘的次数。 ANSYS工具条就是一个很好的缩写例子。 用户界面设计语言(UIDL) 标准ANSYS交互图形界面可以驱动ANSYS命令,提供命令的各类输入参数接口和控制 开关,用户在图形驱动的级别上进行有限元分析,整个过程变得直观轻松。用户图形界 面设计语言(UIDL)就是编写或改造ANSYS图形界面的专用设计语言,主要完成以下三种 图形界面的设计: 主菜单系统及菜单项 对话框和拾取对话框 帮助系统   通过用户界面设计语言(UIDL),用户可以在扩充ANSYS功能的同时建立起对应的图 形驱动界面,如在主菜单的某位置增加菜单项,设计对应的对话框、拾取对话框,实现 参数的输入和其它程序运行的控制,同时提供相应的联机帮助,使操作者能方便地获取 系统帮助。 用户程序特性(UPFs) 用户程序特性(UPFs)向用户提供丰富的FORTRAN77用户程序开发子程序和函数,用 户利用它们从开发程序源代码的级别上扩充ANSYS的功能。使用这些子程序和函数,编写 用户功能的源代码程序,在与ANSYS版本要求匹配的FORTRAN或C++编译器上重新编译和连 接,生成用户版本的ANSYS程序。另外,还提供了外部命令功能,允许用户创建ANSYS可 以利用的共享库。用户可以开发下列方面的功能程序: 开发用户子程序实现从ANSYS数据库中提取数据或将数据写入ANSYS数据库。该种子程序 可以编译连接到ANSYS中,此时ANSYS提供了10个数据库操作命令;如果作为外部命令处 理,可以在ANSYS的任何模块中运行; 利用ANSYS提供的子程序定义各种类型的载荷,其中包括BF或BFE载荷、压力载荷、对流 载荷、热通量和电荷密度等; 利用ANSYS提供的子程序定义各种材料特性,包括塑性、蠕变、膨胀、粘塑性、超弹、层 单元失效准则等; 利用ANSYS提供的子程序定义新单元和调整节点方向矩阵; 利用ANSYS提供的子程序修改或控制ANSYS单元库中的单元; 利用UEROP创建用户优化程序; ANSYS程序作为子程序在用户程序中调用。 ANSYS数据接口 ANSYS程序在分析过程中存在大量的设计分析数据,一部分在运行时置于计算机的内 存之中,一部分以文件的形式存放在工作目录中。除LOG文件和出错文件等文本文件之外 ,其它文件都是二进制文件,分别以不同的格式进行写入,如:数据库文件、结果文件 、模态结果文件、单元矩阵文件、子结构矩阵文件、对角化刚度矩阵文件、缩减位移矩 阵文件、缩减频率矩阵文件和完整的刚度-质量矩阵文件等等。ANSYS数据接口详细地阐 述每种二进制文件的格式,然后介绍从这些数据文件提取各种数据的子程序或函数,从 而实现对二进制数据的读写和修改。显然,它满足了用户以下三种基本需要:检查或观 察过程数据或结果数据;通过修改ANSYS的数据文件达到控制或修正计算;提取结果数据 进行分析处理。 ANSYS数据接口提供了两条模型和数据库信息的转换和传递命令,即CDREAD和CDWRI TE,前者将一个符合ANSYS读入或写出格式的模型和数据库文件信息读入到ANSYS数据库 中,后者的作用正好相反。同时,为了减少转换或传递的时间,提高效率,还提供重定 向自由度映射关系和其它数据库代码化的辅助命令,如/DFLAB、NBLOCK、EBLOCK、EN等 等。该功能大大提高了ANSYS与其它有限元程序之间的模型数据的传递和转换,也实现了 ANSYS自身数据库文件代码化后便于存储或机器之间的传递。 ANSYS数据接口还阐述了图形文件的格式,帮助用户将ANSYS图形文件转换成其它格 式,如AI等。

 

(1)几何模型和有限元模型

       几何模型是指模型的几何信息,在ANSYS中的体现就是关键点(keypoint),面(area),体(volume)等。        而有限元模型是指用于有限元计算的信息,常常和关键点,面,体等混淆的是节点(node),单元(单元)。 真正的用于有限元计算的是节点和单元,而不是所谓的关键点(keypoint)等,关键点等是创建有限元模型时的几何信 息而已。

 (2) 待续。。。

2.APDL中的选择命令总结

 

    在使用APDL编程的过程中,不管是几何建模,还是网格剖分,求解,计算,后处理等,常见的模式就是选中相
应的对象,然后对对象施加一些ansys定义好的操作。相对来讲最常用,最有技巧性的操作往往是选择(select),选
择点,线,面,体,节点,单元等施加操作的对象, 通常的选择方式有:

       技术分享

<1>.  通过图元的编号来进行选择

    包括给定其具体的编号,或编号的序列(等差序列:其开始,结束,步长),在APDL中相应的命令中指定Vmax,Vmin等参数;

        常用的命令流有    *SEL,(其中*代表K,N A V E L等)

<2>.  通过依附关系(attached to)来选取

  ANSYS中的图元是有关联关系的,低维的对象是依附于高层次的对象的,比如说关键点是依附于线,面,体,节点依附于单元的。

        常用的命令流有    *SL*   (其中前一个*代表要选择的对象,后一个*代表依附的对象)

<3>.  通过位置(by location)来选择

        这种方式包含在*SEL命令的参数里面。

<4>.  由材料属性,单元类型的不同进行选择

        这也是一种很方便的方式, 在命令流中是通过指定*SEL的参数来执行的。

在选择方式上,即在*SEL的参数中包括选择方式的选项。即S,R,U,A等,他们的含义分别是  

        S:从包含所有的同类型的对象集合中选取一个集合。

        R:从当前选择的对象集合中选取一个集合。

        U:从当前选择的对象集合中反选取一个集合。
        A:从包含所有同类型对象的集合中选取一个集合并入当前集合。

PS:这些选择方式都是在GUI下面有相应的选项的。

3.从数据库中提取数据的方法

 

    APDL编程的另一个重要的操作就是如何提取ANSYS数据库的信息。

   

    <1>.*GET和*VGET命令;其中*GET是提取标量参数的命令,而*VGET是批量提取数据库的信息的命令。

    <2>.等价的内嵌提取函数;

    <3>.对象信息查询函数;ANSYS中提取数据库信息的查询函数是**INQR(其中**代表KP,LS,AR,VL,ND,分
别代表关键点,线,面,体,节点等的信息),但是对应于单元的查询函数是ELMIQR。
    <4>.用/INQUIRE函数来查询系统信息,包括路径,工作目录,工作文件名等。

4.常见的一些操作的模板

 

比如说,几何建模,划分网格,求解及其设置,后处理等都是用几行APDL就能搞定的,并且大同小异。因此总
结一些模板有利于编程。  
几何建模的一些程序:
... ...
划分网格:

1.    ASEL, 2     !选择面

SMRT,3      !网格尺寸

MSHAPE,1,2D     !网格类型
MSHKEY,0  !网格生成方式
AMESH,ALL        !划分网格
求解:
... ...
后处理:
... ... 
未完待续

以上是关于ANSYS经典APDL编程的主要内容,如果未能解决你的问题,请参考以下文章

ansys的apdl中怎么实现面积积分

大神 ansys 调用apdl的问题 求指导??

ansys中如何生成模型APDL语言

Ansys热应力计算

ansys APDL扭矩施加

结构优化与可靠性设计方法