基于Python语言的起落架有限元快速分析方法.docxVIP

基于Python语言的起落架有限元快速分析方法.docx

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

基于Python语言的起落架有限元快速分析方法

张剑剑,马成,刘成龙

西安飞机设计研究所

摘要:起落架机构复杂多变,急需一套快速而精准的有限元分析方法,本文对起落架的有限元分

析方法进行研究,选用Abaqus软件,并结合Python语言,最终建立一套起落架有限元快速分析

方法。

关键字:起落架有限元AbaqusPython

1工程背景

起落架机构复杂多变,其设计空间狭小,并牵涉多种学科,尤其对结构优化设计有着更高的

要求,既需考虑结构零件本身的设计要求,又更需综合评估其在整个起落装置运动机构中的适用

性,但目前还未有一套快速而精准的有限元分析方法,极度不能满足目前多型号任务并行的局面。

因此,本文研究目的主要在于提高建立起落架有限元分析模型的便捷性与准确性。

本项目选用Abaqus软件(版本6.12),开展起落架有限元分析方法的研究,提高起落架有

限元分析准确性的同时力求分析结果能直接应用于工程结构设计。

2快速有限元建模与分析方法

2.1建模分析基本流程

通过对起落架机构特点的深入研究并结合实际有限元建模方法的总结,其基本流程可以分为

以下几个过程,如图1所示,总体思路如下:

a)刚体模型的建立:

通过建立刚体模型,可以快速对整个起落架进行传力分析,并直接输出分析的结果,为

后续更详细的优化分析提供数据支撑,这也是进行全起落架有限元分析的基础。

b)有针对性地建立刚柔耦合模型

该模型主要是为了在全起落架下对重点关心的零组件进行详细的有限元分析,具有针对

性、直接性,还可以大大降低对计算机的要求,提高运算速度。

c)全柔性模型的建立

通过上述的刚柔耦合分析,将每个零件逐步柔性化,最终得到整个起落架的柔性有限元

分析模型,这也是最符合实际情况的计算模型。

1

Python脚本程序

自动化处理

图1起落架有限元分析基本流程

2.2Python语言的开发应用

Python语言的开发应用能有效推动起落架有限元模型的快速建立,主要应用项目如下:

a)刚体模型的快速建立

数模导入后,将所有零件进行刚体化,这一过程需要将起落架的所有零件逐个进行

刚体化,鉴于考虑到零件较多,且每个零件的刚体化操作步骤相同,因此通过用

Python语言编写脚本实现自动刚体化,代码参考如下:

fromabaqusimport*

fromabaqusConstantsimport*

TempDensity=7.85E-009

TempObj=session.viewports[Viewport:1].displayedObject

session.viewports[Viewport:1].setValues(displayedObject=mdb.models[TempObj.modelName].rootAssembly)

TempAssembly=mdb.models[TempObj.modelName].rootAssembly

foriinmdb.models[TempObj.modelName].parts.values():

2

TempMP=i.getMassProperties(density=TempDensity)

i.ReferencePoint(point=(TempMP[centerOfMass][0],TempMP[centerOfMass][1],TempMP[centerOfMass][2]))

refPoints=(i.referencePoints[i.referencePoints.keys()[0]],)

region=i.Set(referencePoints=refPoints,name=RP)

i.engineeringFeatures.PointMassInertia(name=MP,region=region,mass=TempMP[mass],

i11=TempMP[momentOfInertia][0],i22=TempMP[momentOfInertia][1],i33=TempMP[momentOfInertia][2],

i12=TempMP[momentOfInertia][3],i13=TempMP[momentOfInertia][5],i23=TempMP[momentOfInertia][4],

alpha=0.0,composite=0.0)

i.setValues(space=THREE_D,type=DISCRETE_RIGID_SURFACE)

i.RemoveCells(cellList=i.cells[:])

TempAssembly.Instance(name=i.name,part=i,dep

文档评论(0)

达芬奇 + 关注
实名认证
文档贡献者

免责声明:本账号发布文档均来源于互联网公开资料,仅用于技术分享交流,不得从事商业活动,相关版权为原作者所有。如果侵犯了您的相关权利,请提出指正,我们将立即删除相关资料。

1亿VIP精品文档

相关文档