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

  • 相关阅读:
    机器学习 深度学习 计算机视觉 资料汇总
    激活层和pooling的作用
    NVIDIA GPU 计算能力
    TX2 刷机过程
    Anaconda tensorflow 安装笔记
    yolo-开源数据集coco kitti voc
    TX2上yolov3精度和速度优化方向
    yolo原理学习
    ubuntu常用命令
    tensorflow mnist模块详解
  • 原文地址:https://www.cnblogs.com/johnsen/p/ansys-apdl-programming.html
Copyright © 2020-2023  润新知