ANSYS二次开发技术的应用与实践

1 前言
    随着有限元理论的成熟和计算机技术的飞速发展,计算机辅助技术(CAE)获得了重大发展,国外相继出现了很多优秀的CAE软件,包括ANSYS,MSC/NASTRAN,ABAQUE,MARC等。其中,ANSYS软件以其强大的前后处理功能,友好的操作界面,得到了广泛的应用。作为一款大型通用有限元分析软件,ANSYS能进行温度场、应力场、电磁场和流场的分析,但正是由于其通用型,使得其对不同行业的具体问题不具有针对性,这给专业分析人员造成一定的障碍。由于CAE工作的不断深入,对分析类型、分析方法及分析精度提出了更高的要求。因此,结合各自行业特点,利用ANSYS自带二次开发工具,开发适用于用户自己的模块,提高分析效率和质量,充分体现专业化、客户化、便捷化已经成为一种趋势。
2 ANSYS二次开发工具简介
    ANSYS为用户提供了良好的二次开发环境,使用户可以将 ANSYS的功能向更深,更广的方向发展。 ANSYS提供了三种二次开发工具:参数化设计语言 (ANSYS Parametric Design Language, APDL),用户界面设计语言 (User Interface Design Language, UIDL)以及用户可编程特性 (User Programmable Features, UPFs),其中,前两种可归结为标准使用特性,后者为非标准使用特性。
    与其他有限元软件相比, ANSYS提供了简洁明了的命令流,结合 ANSYS二次开发工具与ANSYS命令,可以很方便的开发一些适合用户自身的工具。
2.1 APDL语言
    APDL是用来自动完成某些功能或建模的一种脚本语言,提供一般程序语言的功能。它包含三个方面的内容:工具条、参量和宏命令。灵活运用这三种工具,可以实现快速操作,数据快速传递、更新等功能。
2.2 UIDL语言
    ANSYS用户界面设计语言 UIDL可以客户化 ANSYS图形交互界面的许多部件,包括:菜单项、对话框、在线帮助以及在 ANSYS环境中集成自己开发的程序。相比较于 APDL语言,UIDL有较严格的编写格式。
2.3 UPFs
    UPFs是非标准应用,通过预留接口,用户可将自己编写的代码连接到 ANSYS,甚至将ANSYS作为子程序来调用,从而使得 ANSYS具有特殊功能。
3 二次开发运用技术实例
    在进行 CAE分析时,往往会遇到同一模型多个方案或者同一方案不同模型的对比计算,对于计算人员来说,往往是简单操作的重复执行。在对分析精度要求较高的情况下,或者遇到函数载荷时,要求针对单元、节点进行操作,由于有限元网格众多,手工无法实现。在这些情况下,灵活运用二次开发工具,会给分析工作带来很大便利。
3.1 ANSYS工具按钮开发
    在分析过程中,往往会遇到重复问题,例如一组不同管径,不同材料的高压油管预应力计算,如表 1所示。要求得到在预应力作用下的应力分布及塑性变形,在工作压力作用下周向应力分布等结果:
表1 油管计算列表
    当尺寸、材料众多时,计算会变得相当繁杂。但是由于在建模,加载等处理时,往往都是进行相同的操作,因此用 APDL语言可以很方便的处理此问题。
    首先开发计算所需要的按钮,如图 1所示,MODAL为建立模型按钮, LOAD为加载按钮,RES1,RES2, RES3分别为读取三种不同结果。然后根据按钮需对应的功能编写 APDL宏命令,并将按钮指向该宏命令。
本例中, MODAL按钮实现用户输入尺寸及材料信息,生成模型并划分网格,如图 2所示;LOAD按钮施加预应力载荷及工作载荷,并设定载荷步; RES1-3按钮读取不同载荷步下的计算结果,生成云图及 PATH图并保存。
图1 工具按钮
图2 用户交互界面
    若采用传统分析方法,单个分析大约耗费时间 15-20分钟,通过工具按钮的开发,每次计算只需点击五次,输入六个参数,耗费时间不到 1分钟,大大提高了工作效率。
3.2 ANSYS用户化界面开发
    工具条的开发可以大大提高工作效率,但是如果开发内容较多,生成的宏文件较多,不便于管理。为此,可以将这些操作固化在 ANSYS GUI菜单中。这样,每次启动 ANSYS即可使用这些工具,而不用查找对应的宏文件。如在进行连杆分析时,按照有限元离散方法处理连杆惯性载荷过程。由于本文仅阐述 ANSYS二次开发,略去连杆惯性载荷公式推导过程和符号说明,仅给出各节点加速度的最终公式。
据此开发连杆加载系统。如图 3所示,此系统中包含四步:定义部件及参数、选择加载范围、施加载荷和显示载荷总量。
图3 连杆加载菜单开发 图4 连杆参数对话框
图5 连杆加载结果
    对于某型号连杆部件,连杆杆身划分97634单元,147605节点,按照上述算法,手工无法完成此加载过程,通过此系统,如图5所示,ANSYS在大约20分钟时间内完成连杆惯性载荷加载。
4 结论
    本文着重介绍了ANSYS二次开发工具APDL语言和UIDL语言的使用,并开发了两个 应不同工程求解问题的工具,将原本很繁杂甚至是不可能完成的任务变得很简单。充分体现了参数化语言的优越性和开发专业化分析工具的重要性。

 

返回Ansys文章专题列表>>>