美国某洲际大桥桥梁结构的有限元分析
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
美国某洲际大桥桥梁结构的有限元分析
摘要:采用Python面向对象语言来进行二次开发的应用,计算平台采用著名的Simulia Abaqus,本文主要讨论Abaqus脚本接口和对象结构逻辑化在开发中的优势,把工业模拟计算平台再次模块化可以减少重复逻辑的调用,流程更清晰、简明,应用更方便,提高效率。
关键词:有限元分析桥梁结构Abaqus Python
Finite element analysis of An InterContinental bridge frame structure Abstract:The secondary development of object-oriented language Python was used to calculate the axial force in a certain bridge structure with the application platforms of the famous Simulia Abaqus.Advantages of Abaqus scripting interface and objects logical structure in the development was discussed in this paper.Reliability analysis codes were also introduced to carry out bridge structural reliability analysis.Re-modularization of industrial simulation platform can highly reduce duplication of logic,make the process clear and concise and thus improve efficiency and reliability of bridge design.
Key word:Finite Element Analysis,Bridge frame structure,Abaqus,Secondary Development,python
ABAQUS是国际上最先进的大型通用有限元计算分析软件之一,
可以模拟绝大部分工程材料的线性和非线性行为。ABAQUS自带的CAE是进行有限元分析的前后处理模块,也是建模、分析和后处理的人机交互平台,它具有良好的人机对话界面,因此ABAQUS软件在工程中得到了广泛的应用。Python是一种面向对象的脚本语言,它功能强大,既可以独立运行,也可以用作脚本语言。特别适用于快速的应用程序开发。
1 二次开发接口介绍
ABAQUS 二次开发有4种途径,二次开发语言也有很多种,我们这次采用内核语言Python,二次开发途径如下:(1)通过内核脚本可以实现前处理建模和后处理分析计算结果;(2)通过GUI脚本可以创建新的图形用户界面和用户交互。(3)通过用户子程序可以开发新的模型,控制ABAQUS计算过程和计算结果;(4)通过环境初始化文件可以改变ABAQUS的许多缺省设置
本文采用第一种用法。Python脚本建模的好处就是可以进行参数分析,即改变我们要分析模型的几何尺寸、材料属性等可变参数,对数值模型进行求解计算,从而对所分析的对象有更全面的了解。
(1)对自己要进行参数分析的参数赋值:如几何尺寸或材料属性等a1=20,b1=30,c1=40,命名要符合python规则。
(2)cae与Python混合建模,不会的命令就利用cae自动生成,用Python reader记录命令然后进行修改,可以弥补不熟悉Python的缺点。
(3)逐句修改Python脚本,可以去掉一些不必要的语句并在cae中逐句进行验证(图1)。
运行脚本的途径有:(1)在ABAQUS/ CAE主窗口中的最下面有一个命令行接口(CLI),可以在里面输入脚本命令执行。既可以输入单行的命令执行;也可以把编写好的命令一整块复制进去执行;还可以利用命令execfile(‘xxx. Py’)运行脚本文件. 这种执行脚本的方式有一个优点,就是可以交互执行命令,在某一条命令出错的情况下重新输入正确的命令,而不需要跑到文本编辑器里面修改脚本文件,再回到ABAQUS重新运行。(2)启动ABAQUS 的时候会显示一个启动对话框,选择Run Script 运行脚本文件。(3)从ABAQUS/CAE主窗口选择菜单File - > Run Script运行脚本文件。(4)以命令行方式运行ABAQUS时可以在命令行中指定要运行的脚本文件,例如: abaquscae script = xxx.py.
2 算法例子
下面以一个美国某洲际大桥为例,以展示有限元分析的过程。该桥为U型钢组成,顶梁、侧梁,桥身弦杆,底梁,桥底基架等分别采用6种不同型号钢结构。桥长L=480m,桥高H=65m,桥身由60段组合架组成,每段具有自己的伸缩处理系统,每段长8m。该桥可以通行限高5米的卡车,如若仅仅考虑N辆卡车连行,假设每辆卡车质量为8000kg, 若取某段模型,我们可以将卡车对大桥的作用力称为P1,P2,P3等,其中P1=P3=5000N,P2=10000N(图2)。
下面开始分析一些脚本命令.
fromabaqus import 3
from abaqusConstants import 3
为了使用ABAQUS提供的对象模型,我们需要导入几个模块。比如导入abaqus 模块后可以在脚本
中使用mdb对象,导入abaqusConstants 模块后可以在脚本中使用ABAQUS预定义的一些常量abaqus已事先存储在文件中,要引入才这些模块能运行相应的命令
session.viewports[´Viewport:1´].makeCurre nt()
session.viewports[´Viewport:1´].maximize() session.journalOptions.setValues(replayGeometry=COORDINATE, recoverGeometry=COORDINATE)
对cae视窗的操作命令;maximize()的括号好像是默认为当前值
from caeModules import *
from driverUtils import executeOnCaeStartup executeOnCaeStartup()
调用mdb对象的方法:Model创建一个模型,命名为Model A.把创建好的模型赋给变量myModel,下面的语句要用到模型的时候就可以直接使用myModel 这个简短的名字,而不需要使用mdb.model s[Model A].接着创建一个sketch 对象,设定大概尺寸为模型宽度的两倍,命名为Sketch A.mySketch. rectangle (point1 = (0,0), point2 = (iWidt h, iHeight))i =2 3 iRadiuswhile i < iWidt h:j =23iRadius while j < iHeight:mySketch.