基于ABAQUS裂纹自动扩展二次开发及分析_马野
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第29卷 第1期 飞 机 设 计V o l 129N o 11
2009年 2月 A IRCRA FT D ESI GN F eb 2009
收稿日期:
2008-08-30;修订日期:
2009-01-06
文章编号:1673-4599(2009)01-0021-04
基于ABAQUS 裂纹自动扩展二次开发及分析
马 野1
,许希武1
,宁晋建
2
(1.南京航空航天大学结构强度研究所,江苏南京 210016)
(2.沈阳飞机设计研究所,辽宁沈阳 110035)
摘 要:基于A BAQU S 平台应用P ython 脚本语言开发了一套裂纹自动扩展程序包,该程序包含有众多子程序,可实现从参数化建模到提交计算,提取并分析结果文件等全部功能。通过二次开发能避免重复建模,节省分析结果文件等工作所需的大量时间,显著提高工作效率。该程序可分析并模拟出裂纹扩展轨迹曲线,并已用于飞机壁板裂纹扩展轨迹的分析工作,有一定的工程价值。关键词:二次开发;裂纹扩展;
FE M;应力强度因子;A BAQU S ;P ython
中图分类号:V 21512 文献标识码:A
Second -developed Progra m about Crack G row th Si m ulation
and Analysis Based on ABAQUS
MA Ye 1
,XU X-i w u 1
,N I NG Ji n -jian
2
(1.Research I nstitute o f Structure Streng t h ,N anji n g University o fA eronautics and Astronautics ,
Nan ji n g 210016,Ch i n a)
(2.Shenyang A ircraft Design and Research I nstitute ,Shenyang 110035,Ch i n a)
Abst ract :U sing python scri p ting language develop a progra m package wh ich conta i n s l o ts of subpro -g ra m to si m u late crack gro w th based on AB AQU S ,and this progra m package has functi o ns fr o m pa -ra m eter-m ode li n g to subm itting j o b ,pick i n g data fro m resu lt files and analysis .
It can save lots of
ti m e in t h e w or ks of repeating m odeli n g and dea ling w it h resu lts thr ough second deve l o p m en,t and
w ork effic i e ncy can be i m proved obv i o usly .This pr ogra m package that can si m u late crack gro w th curve had been used in t h e wo r k on crack gro w th i n a ircraft panels ,w hich has eng ineeri n g values .K ey w ords :second -deve l o p m en;t crack propagation ;FE M;stress i n tensity factor ;AB AQUS ;Py -
thon
AB AQUS 是目前国际上先进的大型通用非线
性有限元计算分析软件[1]
。它拥有丰富的单元库和材料库,应用范围十分广泛且求解功能强大。同时ABAQUS 还向用户提供了大量的二次开发端口,除了用户可根据自己的需要开发用户子程序外,Py t h on 语言作为ABAQUS 的脚本语言,具有
语法简洁、动态输入和面向对象等特点,其开发
功能十分强大[2]
,可实现从建模到显示结果等过程的全程控制,还可以开发用户自定义界面。随着AB AQU S 的应用率提高,目前应用Py thon 对ABAQUS 进行二次开发的案例也越来越多
[3]
。
ABAQUS 软件具有很强的裂纹计算功能,可
22 飞 机 设 计第29卷
以计算裂纹的I 型和II 型应力强度因子、J 积分和裂尖的T 应力,因此ABAQUS 能满足断裂力学领域大部分的工程需要。王生楠等应用ABAQUS 对整体加筋壁板裂纹的扩展轨迹进行了模拟和分析[4]
,但目前ABAQUS 还不具备裂纹自动扩展功能,裂纹每扩展一步都需要重新创建草图、定义裂纹、划分网格、提交计算和读取结果,所以计算裂纹人为的工作量相当巨大。裂纹自动扩展程序包就是基于以上原因开发的,通过二次开发可避免重复建模,重新划分网格,节省分析结果文件等工作所需的大量时间,显著提高了工作效率。该程序包可实现从参数化建模到提交计算,提取并分析结果文件等全部功能,可分析和模拟出裂纹扩展轨迹曲线,并已用于飞机壁板裂纹扩展轨迹的分析工作,有一定的工程价值。
1 二次开发和程序功能介绍
111 二次开发简介
AB AQUS /CAE 的内核就是基于Python 平台开发出来的,所以应用Python 脚本语言进行AB AQUS 的二次开发十分有利且功能强大。
ABAQUS 脚本接口(AB AQUS Scripti n g I nterface)是一个基于对象的程序库。脚本接口中的每个对象都拥有相应的数据成员和函数。用户自定义的脚本通过AB AQUS 脚本接口与ABAQUS /C AE 内核相连从而进行各种操作。ABAQUS 对象模型是指ABAQUS 脚本接口中的各种对象类型之间的层次结构和相互关系。AB AQUS 的对象模型关系复杂,一般分为3大类(见图1)。其中session 对象主要用于视图、远程队列等;m db 对象用于保存模型空间的对象,其中包括m odel 对象和jobs 对象;odb 对象为结果数据库对象,包含模型数据和结果数据。
ABAQUS 脚本用户手册解释了命令流与ABAQUS /CAE 内核间的关系(见图2)。命令流可以通过图形用户界面(GU I)、命令行窗口(CLI)和脚本(script)程序3种方式来进行,命令流首先进入Python 解释器,通过解释器与AB AQUS /C AE 内核相连,命令经AB AQUS /CAE 内核编译通过后才能运行。本文所述的开发就是采用第三种方
式来进行的。
图1 A BAQU S 对象模型
112 程序功能介绍
程序包可实现参数化建模、创建草图、定义材料、定义分析步、定义裂纹、划分网格、定义载荷和边界条件、提交计算、结果分析和处理等一系列功能,从而可以使裂纹能够根据上一步的计算结果在所求得扩展方向上继续向前扩展。在输入相关的参数后运行程序,裂纹扩展就可以自动计算完成,从而避免了以往手动工作所需的大量时间。裂纹扩展程序包工作流程如图3所示。
裂纹自动扩展程序包的功能主要由其子程序实现:创建草图子程序的功能是根据上一步的计算结果创建新的模型草图,即模拟的裂纹扩展轨迹(见图4)。由于模型草图的形状酷似空中飞翔的风筝,故又把裂纹的扩展曲线叫做/风筝曲线0;定义裂纹子程序的功能是定义裂纹,在生成的模型草图的基础上,能自动地选取裂纹扩展过的曲线定义为裂缝,自动选取裂尖前缘区域和裂尖点定义裂纹,自动生成的裂纹如图5所示;