zoukankan      html  css  js  c++  java
  • ANSYS经典APDL编程

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

    Ansys Workbench 有限元分析虽然进入UI阶段,但是语言命令仍然是其基础核心。

    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        !划分网格
    求解:
    ... ...
    后处理:
    ... ... 
    未完待续

  • 相关阅读:
    toj 2819 Travel
    toj 2807 Number Sort
    zoj 2818 Prairie dogs IV
    zoj 1276 Optimal Array Multiplication Sequence
    toj 2802 Tom's Game
    toj 2798 Farey Sequence
    toj 2815 Searching Problem
    toj 2806 Replace Words
    toj 2794 Bus
    css截取字符
  • 原文地址:https://www.cnblogs.com/johnsen/p/ansys-apdl-programming.html
Copyright © 2011-2022 走看看