基于Marc的汽车密封条有限元分析及二次开发.docx

上传人:b****4 文档编号:12232047 上传时间:2023-04-17 格式:DOCX 页数:24 大小:519.99KB
下载 相关 举报
基于Marc的汽车密封条有限元分析及二次开发.docx_第1页
第1页 / 共24页
基于Marc的汽车密封条有限元分析及二次开发.docx_第2页
第2页 / 共24页
基于Marc的汽车密封条有限元分析及二次开发.docx_第3页
第3页 / 共24页
基于Marc的汽车密封条有限元分析及二次开发.docx_第4页
第4页 / 共24页
基于Marc的汽车密封条有限元分析及二次开发.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

基于Marc的汽车密封条有限元分析及二次开发.docx

《基于Marc的汽车密封条有限元分析及二次开发.docx》由会员分享,可在线阅读,更多相关《基于Marc的汽车密封条有限元分析及二次开发.docx(24页珍藏版)》请在冰豆网上搜索。

基于Marc的汽车密封条有限元分析及二次开发.docx

基于Marc的汽车密封条有限元分析及二次开发

毕业设计

题目基于Marc的汽车密封条有限元

分析及其二次开发

学院机械工程学院

专业机械工程及自动化

班级机自0902

学生李清杰

学号20090421147

指导教师宋卫卫

 

二〇一三年五月二十四日

摘要

采用非线性有限元分析软件MSC.Marc对车窗和车门密封条受力过程进行分析,并掌握了它们的整个分析过程,对整个分析过程进行进一步的研究和简化,来提高工作效率。

而对于各种不同的密封条的分析有些过程是一样的,因此可以对其进行二次开发,省略其中的繁琐的过程,而MSC.Marc支持Python程序的调用,使用PyMentat模块来建立或修改模型时,Python脚本就会发送一系列命令给MSC.MarcMentat,这些命令和选择适当的菜单选项时提交的命令是相同的,也就是说Python脚本程序命令MSC.Marc软件执行相应的操作,来进行不同程度的建模、分析以及后处理。

所以采用Python语言进行一系列的编程,简化了车窗和车门密封条的有限元分析过程,而且通过PyMentat模块在Python脚本中使用MSC.MarcMentatPARAMETERS可以很简单的进行变量的输入,在调用Python程序前可输入要改变的变量,例如受力的大小等。

关键词:

MSC.Marc;密封条;python程序;有限元分析

 

ABSTRACT

ByusingthenonlinearfiniteelementanalysissoftwareMSC.Marcforwindowanddoorsealforceprocessanalysis,andgraspthewholeanalysisprocessaresimplified,andfurtherresearchonthewholeprocessofanalysis,toimproveworkefficiency.Analysisofsealingstripforavarietyofsomeprocessisthesame,soitcanbetwotimesthedevelopmentofits,omitthetediousprocess,whiletheMSC.MarcPythonprogramtosupportthecall,tocreateormodifythemodelusingthePyMentatmodule,thePythonscriptwillsendaseriesofcommandstotheMSC.MarcMentat,thesecommandsandselecttheappropriateoptionsmenutosubmitordersisthesame,thatistosaythePythonscriptcommandsofMSC.Marcsoftwareimplementationofthecorrespondingoperation,tovaryingdegreesofmodeling,analysisandprocessing.SoaseriesofprogrammingusingPythonlanguage,simplifythefiniteelementwindowanddoorsealanalysisprocess,butalsothroughthePyMentatmoduleinthePythonscriptusingtheMSC.MarcMentatPARAMETERScanbeverysimpleforvariableinput,inputtochangethevariablesinthecallingPythonprogram,forexample,forcesizeetc..

Keywords:

MSC.Marc;seal;Pythonprogram;finiteelementanalysis

 

目录

摘要I

ABSTRACTII

1前言1

1.1汽车密封条研究背景及意义1

1.2密封条的介绍1

1.3Marc软件的简介1

1.4Python程序简介2

2车窗密封条的有限元分析3

2.1车窗密封条分析参数的确定3

2.2车窗密封条网格模型的建立3

2.3接触条件定义5

2.4车窗密封条分析的后处理结果5

3车门密封条的有限元分析7

3.1车门密封条介绍及分析参数的确定7

3.2车门密封条网格模型的建立7

3.3边界条件定义8

3.4车门密封条分析的后处理结果8

4针对密封条分析的Marc软件的二次开发11

4.1Marc软件与Python联系11

4.2Python开发流程11

4.2Python语言基本应用12

4.3车窗密封条分析的程序代码12

5结论17

5.1总结17

5.2展望17

参考文献19

致谢20

1前言

1.1汽车密封条研究背景及意义

中国汽车的数量越来越多,而中国的汽车制造水平还有很大的提高。

密封条是汽车的重要组成部分,对于汽车的密封性能起到了主要作用。

密封条遍布汽车各部,有车窗密封条、车门密封条、后备箱密封条等,填补了车体间的间隙,对汽车起到了很好的密封盒保护作用。

好的密封条可以大大提高汽车的总体性能和使用寿命,因此密封条的设计是非常有必要的。

对于对密封条新产品的设计与制造,目前已经改变了传统的设计方式,利用先进计算机辅助设计技术,来对密封条进行设计模拟分析,改善密封条结构,提高密封条性能。

由于汽车密封条材料的复杂性、结构的特殊性、接触载荷和边界的非线性等因素,因此应用计算机辅助设计手段,可以提高预测能力,降低开发试制成本。

目前,在汽车密封条结构设计方面,国内密封条企业已有长足进步,数家先进企业已经成功推广应用了CAD/CAE技术,适用了汽车制造厂家的要求。

将计算机辅助试验(CAE)技术用于产品开发、质量改进、缺陷分析、寿命预测等方面,可以有效地缩短产品开发周期、降低生产成本和提高产品质量。

CAE技术在密封条的设计方面起到了非常大的作用,通过CAE技术可以分析密封条的受力情况、温度影响,使用寿命等,提高了密封条的设计制造技术。

本文主要简单模拟了密封条的受力过程,并对起分析过程进行了简化。

1.2密封条的介绍

轿车车身有一个很重要的密封件,就是用合成橡胶制成的密封条,又称为防护性成型镶条。

主要应用在车门门框、侧面车窗、前后档风玻璃、发动机盖和行李箱盖上,起到密封的作用,另外也起到减振保护的作用。

密封条的制作材料主要是聚氯乙烯(PVC)、乙丙烯橡胶(EPDM)、合成橡胶改性聚丙烯(PP-EPDM)等,通过挤压成型或者注射成型等方法制成。

1.3Marc软件的简介

MSC.Marc是功能齐全的高级非线性有限元软件,具有极强的结构分析能力。

为满足工业界和学术界的各种需求,提供了层次丰富、适应性强、能够在多种硬件平台上运行的系列产品。

可以处理各种线性和非线性结构分析包括:

线性/非线性静力分析、模态分析、简谐响应分析、频谱分析、随机振动分析、动力响应分析、自动的静/动力接触、屈曲/失稳、失效和破坏分析等。

为满足工业界和学术界的各种需求,提供了层次丰富、适应性强、能够在多种硬件平台上运行的系列产品。

它提供了丰富的结构单元、连续单元和特殊单元的单元库,几乎每种单元都具有处理大变形几何非线性,材料非线性和包括接触在内的边界条件非线性以及组合的高度非线性的超强能力。

MSCMarc是世界著名的非线性有限元分析软件,并且MSCMarc软件拥有300多个具有特定功能的开发程序公共块和100多个用户子程序。

用户可以根据自己的需求调用特定的用户程序模块。

对于MSCMarc有限元分析的用户子程序的应用的成功案例所国内外有很多,特别是在用户对材料属性的定义、复杂边界条件定义等方面特别成功。

MSCMarc软件为用户提供了实用的、完善的、多层次的二次开发功能,以MSCMarc已有的软件为基础平台,可以开发出很多典型的材料本构、边界条件的用户分析子程序,从而形成自身的可长期持续应用和发展的非线性有限元分析系统。

MSCMarc嵌入了Python脚本程序,可以通过脚本编程来完成MSCMarc的很多操作,本设计就是应用Python进行编程来简化MSCMarc的分析过程,对车窗和车门密封条的分析过程进行了简化,提高了工作效率。

1.4Python程序简介

Python是一门优雅而健壮的编程语言,它继承了传统编译语言的强大性和通用性,同时也借鉴了简单脚本和解释语言的易用性,是容易上手且功能强大的程序语言。

Python是免费的,虽然它并不是唯一一个免费的编程语言,但不同的是它提供了丰富的技术支持。

人们可以不用购买任何软件,而且不用担心版权问题就可以编写、发布Python程序。

Python语言写的程序不需要编译成二进制代码。

你可以直接从源代码运行程序。

在计算机内部,Python解释器把源代码转换成称为字节码的中间形式,然后再把它翻译成计算机使用的机器语言并运行。

事实上,由于你不再需要担心如何编译程序,如何确保连接转载正确的库等等,所有这一切使得使用Python更加简单。

由于你只需要把你的Python程序拷贝到另外一台计算机上,它就可以工作了,这也使得你的Python程序更加易于移植。

Python非常易于使用,并且可用于脚本程序,针对Marc软件而嵌入了Python程序,方便使用者进行Marc的二次开发。

它的设计混合了传统计算机语言的软件工程的特点和脚本语言的易用性。

Python语言很适合用作其他应用程序的扩展语言,例如可以用Python来扩展CAD、Marc等设计软件的功能。

 

2车窗密封条的有限元分析

2.1车窗密封条分析参数的确定

由于车窗密封条与车窗玻璃的相互作用过程中表现出了非常复杂的力学特性,而且车窗密封条材料属于橡胶类材料,根据橡胶材料的特性,分析中涉及复杂的非线性有限元分析过程,所以利用功能强大的非线性有限元软件MSCMarc对车窗密封条进行非线性接触分析。

车窗密封条材质为橡胶,橡胶材料的单轴拉伸实验的应力—应变曲线如图2.1所示。

通过Mentat的实验曲线拟合功能得到Ogden的模型参数,并分析在车窗关闭的过程中密封条橡胶的位置变化及应力云图。

图2.1材料的应力—应变曲线

2.2车窗密封条网格模型的建立

利用Marc软件画出玻璃和密封条曲线模型,对密封条曲线添加均匀种子点,然后进行四边形网格划分。

网格划分后共有911个单元,车窗密封条有限元网格如图2.2所示。

由于玻璃压缩过程中的车窗密封条的变形主要是截面面积方向的变形,长度方向变形不大,所以可将密封条变形过程认为是平面应变过程,可按照平面应变问题来建模,这样可以减小模型的规模,从而大大提高分析效率,建模时,可将密封条厚度设置为1mm。

图2.2车窗密封条有限元网格

对车窗密封条进行材料属性定义,将实验测出的材料单轴拉伸应力应变曲线拟合成Ogden材料,并且施加到所以单元上。

拟合后的材料应力应变曲线如图2.3所示。

图2.3拟合后的材料应力应变曲线

2.3接触条件定义

车窗玻璃相对于密封条而言,刚度无限大,故可视玻璃为刚性体,并将密封条为可变形体。

在变形体与刚体的接触过程中,变形体的力和位移是通过与之相接触的刚体的运动产生的,刚体的运动描述通过给定位移来描述,定义玻璃向X方向移动10个单位,玻璃位置表如图2.4所示。

图2.4玻璃位置表

然后进行接触体定义,边界条件的定义和载荷工况定义,最后创建作业。

2.4车窗密封条分析的后处理结果

设置显示等效Cauchy应力图和位移图,指定好要处理的变量EquivalentVonMisesStress。

玻璃未插入车窗密封条时如图2.5所示,玻璃插入时车窗密封条变形图和应力分布云图如图2.6所示。

 

图2.5玻璃未插入车窗密封条

图2.6玻璃插入时车窗密封条变形图和应力分布云图

 

3车门密封条的有限元分析

3.1车门密封条介绍及分析参数的确定

车门头道密封条的结构有两种,一种为全海绵胶泡管,另一种由密实胶基体和海绵胶组成。

这种密封胶粘贴或镶嵌在车门上,与门框密封条配合,以增加车门与车体的密封作用。

车门密封条主要用于车门的固定、防尘及密封。

主要由具有良好弹性和抗压缩变形、耐老化、臭氧、化学作用、较宽的使用温度范围(-40℃~+120℃)的三元乙丙橡胶(EPDM)橡胶发泡与密实复合而成,内含独特的金属夹具和舌形扣,坚固耐用,利于安装。

主要应用在车门门扇门框,起到防水、防尘、隔音、隔温、减震、装饰等作用。

3.2车门密封条网格模型的建立

在Marc软件里用贝塞尔曲线和支线画出车门密封条的曲线轮廓,设置好均匀分布的种子点,对其进行四边形网格划分,车窗密封条有限元网格如图3.1所示。

由于车门密封条压缩过程主要是截面方向的变形,所以可以认为密封条的变形方式是平面应变,因此可以简化为平面分析。

在Marc建模时采用四边形单元建模时,将密封条厚度设置为1mm。

图3.1车窗密封条有限元网格

3.3边界条件定义

将车门密封条下端固定,约束X、Y方向的自由度,如图3.1所示施加变化的力模拟车门关开过程的受力情况,作用力的表格如图3.2所示。

玻璃位置表如图2.4所示。

图3.2玻璃位置表

然后进行材料特性定义,定义橡胶材料采用Mooney模型,将

设置为8、

设置为2,。

再进行载荷工况定义,最后创建作业,激活创建的两个工况,单元类型选择为四节点四边形平面应变全积分Herrmann单元(Marc中编号80)。

选取等效柯西应力作为后处理的数据。

3.4车门密封条分析的后处理结果

设置只显示变形后的网格,设置显示应变云图,指定好要处理的变量等效柯西应力(EquivalentofCauchyStress)。

记录的车门关开过程中的密封条的等效柯西应力图如图3.3到图3.5所示。

 

图3.3车门关闭前密封条应力图

图3.4车门关闭后密封条应力图

 

图3.5车门关闭又开开后密封条应力图

 

4针对密封条分析的Marc软件的二次开发

4.1Marc软件与Python联系

在MSC.Marc软件中执行一个操作时就会出现两种结果,一是出现一个新的菜单屏幕,二是提交了一个命令。

本设计二次开发的原理就是利用了第二条,用Python脚本语言编出一系列的命令,当在Marc软件里加载Python程序时,Pyhton就会将这一系列命令发送给MSC.MarcMentat,然后Marc就会执行相应的操作。

例如,如果用户选择下面几何属性定义的菜单:

GeometricProperties

New(Structural)

Planar

PlaneStrain

Properties

Thickness

1

ElementsAdd

AllExisting

用户就会看到在MSC.MarcMentat对话区域会出现一下命令:

*new_geometry*geometry_typemech_planar_pstrain

*geometry_paramnorm_to_plane_thick1

*geometry_optioncdilatation:

on

*geometry_optionassumedstrn:

on

*add_geometry_elementsall_existing

因此,如果用户想用Python脚本来执行几何属性的定义,就是把以上命令传递给MSC.MarcMentat软件,告诉它执行此过程进行几何属性的定义,这样Marc软件就会完成Python脚本发出的命令。

用Python语言进行二次开发的好处是Marc软件可以直接调用Python程序。

不需要像其它语言似的需要建立各种连接才能正常使用。

而且用于Python程序的开发软件小,非常实用和方便。

本设计就是用Python3.3软件进行的程序编写。

4.2Python开发流程

熟悉Marc操作过程中的常用命令,在Python程序编写时

开发流程如图4.1所示。

图4.1Python脚本开发流程

4.2Python语言基本应用

对于Python与Marc的之间的连接调用,就得从py_mentat包中调入所有信息,只需要在Python脚本程序第一行加入以下程序语句,来建立它们之间的连接,不需要进行其它任何设置。

frompy_mentatimport*

同样,使用PyPostt模块的Python脚本需要按下面语法调入py_post模块:

frompy_postimport*

一些Python函数(或子程序)被创建用来生成网格。

在定义一个Python函数时,需要使用复合语句def,语法形式如下:

defNAME’(’[args]’)’’:

冒号后面的内容即为该函数的组成部分,在书写上它们必须要缩进一格。

函数中的代码书写结束后,新的代码不能够继续保持缩进,应该在原位置开始书写。

在本设计的Python代码中,大部分地方创建了一个字符串,然后使用子程序py_send将其发送到MSC.MarcMentat中执行。

就是用来传递命令给Mrac软件进行相应的操作。

在Python中也可以直接在子程序py_send的参数中直接创建字符串,然后传递给子程序py_send发送给MSC.MarcMentat,例如在如下的语句中:

py_send("*add_nodes%f%f%f"%(x,y,z))

需要发送的命令和浮点型数据直接在子程序py_send的调用参数中指定。

4.3车窗密封条分析的程序代码

#该语句将PyMentat模块调入到Python脚本中,对于需要访问PyMentat模块的Python脚本。

frompy_mentatimport*

#几何属性的定义。

defgeom_pr():

py_send("*new_geometry*geometry_typemech_planar_pstrain")

py_send("*geometry_paramnorm_to_plane_thick1")

py_send("*geometry_optioncdilatation:

on")

py_send("*geometry_optionassumedstrn:

on")

py_send("*add_geometry_elementsall_existing")

return

#材料属性的定义。

将实验测出的材料单轴拉伸应力应变曲线拟合成Ogden材料,并且施加到所有单元。

defmate_pr():

py_send("*new_md_table11")

py_send("*table_nametension")

py_send("*set_md_table_type1experimental_data")

py_send("*table_add")

py_send("00")

py_send("0.9100")

py_send("1.6250")

py_send("1.9300")

py_send("2.2500")

py_send("2.4600")

py_send("2.6700")

py_send("2.91000")

py_send("*table_fit")

py_send("*new_materstandard*mater_optiongeneral:

state:

solid")

py_send("*mater_namerubber")

py_send("*mater_optionstructural:

type:

ogden")

py_send("*xcv_tableuniaxialtension")

py_send("*xcv_modelogden")

py_send("*xcv_modeuniaxialon")

py_send("*xcv_positiveon")

py_send("*xcv_checksyes")

py_send("*xcv_compute")

py_send("*xcv_apply_curr")

py_send("*xcurve_fill")

py_send("*current_graphics_windowmodel:

1")

py_send("*add_mater_elementsall_existing")

return

#定义刚体玻璃位置表和接触体。

defglass_po():

py_send("*new_md_table11)

py_send("*table_nameglassl")

py_send("*set_md_table_type1time")

py_send("*table_add")

py_send("00")

py_send("110")

py_send("*table_fit")

py_send("*new_contact_body*contact_deformable")

py_send("*contact_body_namerubber")

py_send("*add_contact_body_elementsall_existing")

py_send("*new_contact_body*contact_rigid")

py_send("*contact_body_nameglass")

py_send("*contact_optioncontrol:

position")

py_send("*contact_valuepx1")

py_send("*cbody_param_tablepxglassl")

py_send("*add_contact_body_curves231#")

py_send("*new_contact_table")

py_send("*contact_table_entry12")

py_send("*contact_table_option$ctbody1$ctbody2touching")

return

#定义边界条件。

约束密封条外侧所有节点的自由度。

defboun_con():

py_send("*new_apply*apply_typefixed_displacement")

py_send("*apply_dofx*apply_dof_valuex")

py_send("*apply_dofy*apply_dof_valuey")

py_send("*add_apply_nodes

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1