文档详情

Python语言和ABAQUS后处理二次开发定稿.docx

发布:2024-10-25约8.08千字共5页下载文档
文本预览下载声明

Python语言和ABAQUS后处理二次开发

1

易桂莲杜家政隋允康2

(北京工业大学机械工程与应用电子技术学院,100124北京)

摘要:采用Python脚本语言二次开发ABAQUS的后处理模块,讨论了ABAQUS的脚本接口和对象模型在二次开发中的作

用和调用流程。通过开发Python脚本程序提取ABAQUS进行数值模拟后的计算结果,有效地解决了提取大量结果进行重复操作

的问题,提高了后处理的效率。

关键词:ABAQUS后处理二次开发;Python;动力响应分析;振动特性

0引言

ABAQUS是国际上最先进的大型通用有限元计算分析软件之一,可以模拟绝大部分工程材料的线性和非线性行

为。ABAQUS自带的CAE是进行有限元分析的前后处理模块,也是建模、分析和后处理的人机交互平台,它具有良好

的人机对话界面,因此ABAQUS软件在工程中得到了广泛的应用。

Python是一种面向对象的脚本语言,它功能强大,既可以独立运行,也可以用作脚本语言。特别适用于快速的

应用程序开发

[1]。

通过开发Python脚本程序提取ABAQUS进行数值模拟后的计算结果,有效地解决了提取大量结果进行重复操

作的问题

1二次开发接口介绍

ABAQUS脚本接口是一个基于对象的程序库,脚本接口中的每个对象都拥有相应的数据成员和函数。对象的函数专门用于处理对象中的数据成员,被称为相应对象的方法,用于生成对象的方法被称为构造函数。在对象创

建后,可以使用该对象提供的方法来处理对象中的数据成员[2]。

ABAQUS提供了一套应用程序编程接口(API,ApplicationProgramInterface)来操作ABAQUS/CAE实现建模/后处理等功能。接口编程采用Python的语法编写脚本,但扩展了Python脚本语言,额外提供了大约500个对象

模型。对象模型之间关系复杂,图1展示了这些对象模型之间的层次结构和相互关系。其中,Container表示容

器,里面包含有其他的对象;Singularobject表示单个对象。整个对象模型被分成三类,session对象用来定义视图,远程队列,用户定义的视图等。mdb对象包括计算模型对象和作业对象。odb对象包括计算模型对象和计

算结果数据[2]。

图1.对象模型之间的层次结构和相互关系图2.odb文件中的模型数据和结果数据

2ABAQUS后处理二次开发的实现

ABAQUS后处理的二次开发,就是对ABAQUS的计算结果odb文件中的对象进行读取、计算和输出,最终让用户得到便于分析的结果[3]。

ABAQUS的odb文件中主要包括了模型数据和结果数据(如图2),其子对象steps是主要考虑的对象类型,包括

1国家自然科学基金、大连理工大学工业装备结构分析国家重点实验室基金项目(GZ0819)、湖南大学汽车车身先进设

计制造国家重点实验室开放基金、高校博士点基金(20060005010)项目资助。

2通讯作者:ysui@bjut.edu.cn

分析步、分析步中一系列的增量步、场变量输出和历史变量输出。不同类型的数据在ABAQUS中表示为不同的对

象模型,利用面向对象的Python脚本语言可以对这些对象进行有效操作。编写好的脚本文件提交给ABAQUS的执

行过程为:ABAQUS自带的Python解释器解释脚本语言;调用ABAQUS内核执行脚本命令;打开结果文件读取数

据;操作数据;输出数据。

ABAQUS二次开发主要有如下四几种途径[1]:〔1〕用户子程序接口,通过用户子程序可以开发新的模型,控制

ABAQUS计算过程和计算结果;〔2〕通过环境初始化文件可以改变ABAQUS的许多缺省设置;〔3〕脚本接口

(ABAQUSScriptingInterface),通过内核脚本可以实现前处理建模和后处理分析计算结果;〔4〕图形用户接口工

具包(ABAQUSGUIToolkit),通过GUI脚本可以创建新的图形用户界面和用户交互。

本文用到的是第3种方法,通过编写Python脚本控制ABAQUS内核实现自动后处理。首先获取模态分析过程中

前十阶固有频率的模态振型图及1~2000Hz频率范围内的固有频率,通过数据分析,得到约束阻尼处理后拱板的

固有振动特性。然后对拱板的随机响应分析结果进行历史变量输出能反映结构振动特性的5个典型点的法向加速度

及法向加速度最大值,全面反映敷设约束阻尼层对整个结构的整体振动特性和减振效果。

3应用举例

本文将某薄壁变速箱上箱体的拱板部分单独隔离出来,在拱板的内表面粘贴阻尼层和约束层,对边界

显示全部
相似文档