基于ABAQUS二次开发的橡胶-金属衬套仿真技术研究

摘    要:基于ABAQUS-Python提出了一种橡胶-金属衬套快速仿真技术。该技术将典型橡胶-金属衬套结构参数化,并通过开发的独立图形用户界面和ABAQUS脚本程序,实现自动前处理、仿真计算和后处理;读取仿真结果文件中力、扭矩、位移和角度值,采用最小二乘法计算出多向静刚度值,导出应力、应变等云图;对比仿真与实测结果,误差在10%以内,满足工程化应用要求。此外,该方法进行一次仿真分析约需8~15 min,极大地提高了分析效率。

关键词:参数化;橡胶-金属衬套;仿真技术;

随着汽车工业的迅速发展,越来越多的人们重视整车舒适性和操稳性。作为一种阻尼材料,橡胶具有良好的弹性特性和能量吸收能力,因此被广泛应用于汽车减振领域,如底盘衬套、动力总成悬置和其他橡胶制品等。

底盘衬套类橡胶减振制品由芯轴、外套和橡胶组成,通过橡胶硫化过程,实现3者连接。常规橡胶衬套可通过调节各组件结构、尺寸和橡胶硬度,实现在x、y、z轴平移和偏转的性能要求。由于车型和车辆系统各部位的差异很大,对橡胶减振制品的性能要求也不同,因此需根据不同的性能要求选择合适的结构、尺寸和橡胶材料,并进行优化设计。

在设计橡胶衬套类制品时,常采用试验法和数值模拟分析法来确定相关参数。数值模拟分析法因具有直观、快速、成本低等优点而被广泛应用,但数值模拟分析法中的建模、前处理和后处理等过程繁琐,费时费力。因此,研究参数化建模、自动前处理和后处理的方法,对橡胶衬套类制品的快速开发和优化有显著的实际工程意义。

为了提高橡胶-金属件数值模拟分析的效率,刘志国等[1]通过模型重建与专家分析经验封装构建轨道车辆金属橡胶件有限元模型参数化建模方法,实现了金属橡胶件分析模型的参数化与仿真分析自动化。周炜等[2]利用刚度叠加原理和参数有限元分析,建立了橡胶衬套几何参数与刚度的关系式;针对刚度匹配的设计要求,通过设定不同的目标函数,得到了橡胶衬套结构的最优解。宋颖等[3]基于ABAQUS二次开发功能,开发了圆柱形橡胶堆的插件程序,实现了圆形橡胶堆参数化建模和后处理的自动化。

综上所述,国内众多学者已对橡胶金属衬套件的参数化建模和快速仿真进行了研究,并且利用现有的有限元软件进行了二次开发,提高了开发效率。但这些研究都无法实现输入参数后快速得到结果的目的。鉴于此,本文基于ABAQUS-Python提出了一种橡胶-金属衬套件快速仿真分析技术。该方法构建了独立的交互界面,无需启动ABAQUS有限元软件,用户只需输入产品结构参数,即可快速得到静刚度值并输出应力、应变等结果云图。本文的研究成果为提高橡胶-金属衬套件开发效率打下了坚实的基础,具有操作简单、快速输出结果等优点。

1 橡胶-金属衬套结构参数化建模

1.1 尺寸结构参数提取

将橡胶-金属衬套结构进行参数化,包括衬套的尺寸、形状等参数,如图1所示。具体参数详见表1。

基于ABAQUS二次开发的橡胶-金属衬套仿真技术研究的图1

图1 橡胶-金属衬套结构和尺寸

表1 橡胶-金属件尺寸和材料参数

基于ABAQUS二次开发的橡胶-金属衬套仿真技术研究的图2

芯轴的外侧、外套的内外侧通常为圆柱形或旋转面。芯轴和外套通常采用金属或塑料制成,刚度明显高于橡胶。为了简化分析,提高效率,在前处理过程中省略芯轴和外套,并将橡胶内表面耦合到一个点。此外,为了实现衬套结构中外套的缩颈过程,将橡胶外表面定义为柱面坐标系。

1.2 基于ABAQUS-Python构建程序

1.2.1 参数化建模

本文研究的橡胶-金属衬套结构为回转体结构,上下对称,因此只需绘制1/4结构,并通过镜像的方法得到完整模型。图2展示了绘制的1/4结构。

基于ABAQUS二次开发的橡胶-金属衬套仿真技术研究的图3

图2 橡胶-金属衬套1/4结构

结合表1中的数据,运用几何计算的方法,易得图2中6个点和其他各点坐标值。本文编写的程序可得每条特征线段和圆弧,其中部分直线和圆弧代码为:

s.Line(point1=(X2, Y2), point2=(X4, Y4)) #画出直线

s.ArcByCenterEnds(center=(X3, Y3), point1=(X2, Y2), point2=(X1, Y1), direction=CLOCKWISE) #画出圆弧

为保证生成的橡胶型面没有线条交叉和尖点,图2中6个点坐标必须满足式(1)所示约束条件。

基于ABAQUS二次开发的橡胶-金属衬套仿真技术研究的图4

1.2.2 定义橡胶本构

超弹理论认为:橡胶材料具有与应变率无关的非线性弹性特性,随着外力的消失,材料可以恢复到原始状态,橡胶材料应力应变关系可以用单位体积应变能来度量。Yeoh[4]通过分析应变能函数,提出了三次应变能函数,如式(2)所示,称为Yeoh本构方程。

W=C10 (I1-3)+C20 (I2-3)2+C30 (I1-3)3 (2)

式中:W为应变能函数,C10、C20、C30为材料常数;I1为Cauchy-Green变形张量的第一基本不变量。

Yeoh本构方程得到的应变能与试验结果较吻合,可由简单的单轴拉伸试验拟合出材料参数,进而用来预测其他的力学行为,常用于橡胶制品结构的大变形分析[5,6]。本文采用Yeoh本构,参数为实测结果经拟合得出。部分代码如下:

mymaterial = myModel.Material(name=′Rubber_′+str(hardness) +′ShA′)

mymaterial.Density(dependencies=1, table=((1.2e-09, 0.0),))

mymaterial.Hyperelastic(materialType=ISOTROPIC, testData=OFF, type=YEOH, volumetricResponse=VOLUMETRIC_DATA, table=((c10, c20, c30, d1, d2, d3),))

mymaterial.Expansion(table=((expantemp, 0.0),), dependencies=1)

1.2.3 定义边界和输出类型

为了保证分析精度,同时提高分析效率,本文省略了橡胶衬套的内、外套等不必要细节,橡胶内圆柱面采用rbe2方式耦合为一点,并将橡胶外圆柱面定义为柱坐标系。

分析过程主要分为两步:第1步,耦合点固定,外圆柱面第一坐标值的变化量为(L-F)/2;第2步,外圆柱面固定,耦合点于径向、轴向、偏摆和扭转方向分别加载0.5 mm、0.5 mm、3°和3°。

输出类型定义为常见的应力、应变、位移、扭矩、支反力等,部分代码如下:

myModel.FieldOutputRequest(name=′F-Output-1′, createStepName=′cool_ass′, variables=(′S′,′LE′,′U′,′UR′,′RF′,′RM′,′CF′,′CSTRESS′,′TEMP′))

myModel.HistoryOutputRequest(name=′H-Output-1′, createStepName=′cool_ass′, variables=(′U1′,′U2′,′U3′,′UR1′,′UR2′,′UR3′,′RF1′,′RF2′,′RF3′,′RM1′,′RM2′,′RM3′,′CF1′,′CF2′,′CF3′,′CM1′,′CM2′,′CM3′), region=regionDef, sectionPoints=DEFAULT, rebar=EXCLUDE)

1.2.4 网格划分和提交计算

为提高计算的速度和精度,本文采用六面体网格,并且选择了C3D8H类型的网格。利用submit语句完成计算的提交,waitForCompletion()语句可实现多工况的顺序计算。橡胶-金属制品网格模型如图3所示。网格划分和提交计算的部分代码如下:

partInstances = (myAssembly.instances[′rubberInstance′],)

myAssembly.seedPartInstance(regions=partInstances, size=1.0, deviationFactor=0.1, minSizeFactor=0.1)

myAssembly.generateMesh(regions=partInstances)

elemType = mesh.ElemType(elemCode=C3D8H, elemLibrary=STANDARD)

myJob = mdb.Job(name=jobName, model=modelName, type=ANALYSIS, numCpus=numCores)

myJob.submit()

myJob.waitForCompletion()

基于ABAQUS二次开发的橡胶-金属衬套仿真技术研究的图5

图3 橡胶-金属衬套网格模型

1.2.5 后处理

计算完成后,可读取相应的ODB文件提取位移或旋转角度、支反力或扭矩等信息,输出应力、应变云图;利用最小二乘法计算各向静刚度值,并绘制曲线。以径向计算为例,图4示出了橡胶最大主应力结果,图5示出了橡胶最大主应变结果,图6示出了位移与支反力曲线。静刚度输出涉及部分代码如下:

def LSM(data1,data2): #最小二乘法

lenData = len(data1)

averageX = sum(data1)/lenData; averageY= sum(data2)/lenData

upperData = 0; lowerData = 0

for i in range(lenData):

upperData += (data1[i]-averageX)*(data2[i]-averageY)

lowerData += (data1[i]-averageX)**2

stiffness = upperData/lowerData

inaccuracy = averageY-averageX*b

return stiffness, inaccuracy

tempDataX=myOdb.steps[loadCaseName].historyRegions[′Node ASSEMBLY.1′].historyOutputs[′U1′]

for i, j in tempDataX.data: dataX.append(j)

tempDataY=myOdb.steps[loadCaseName].historyRegions[′Node ASSEMBLY.1′].historyOutputs[′RF1′]

for i, j in tempDataY.data: dataY.append(j)

stiffnessAZ, inaccuracyDataAZ=LSM(dataX, dataY)

基于ABAQUS二次开发的橡胶-金属衬套仿真技术研究的图6

图4 最大主应力

基于ABAQUS二次开发的橡胶-金属衬套仿真技术研究的图7

图5 最大主应变

基于ABAQUS二次开发的橡胶-金属衬套仿真技术研究的图8

图6 位移和支反力曲线

2 开发独立图形用户界面

图形用户界面是一种将人、机、环境3者作为一个系统进行总体设计,强调人性化、操作方便等特点的人机系统工程。它对使用者的认知要求较低,更适合普通使用者操作使用。

基于ABAQUS二次开发的橡胶-金属衬套仿真技术研究的图9

图7 独立图形用户界面

本文第1节中开发的程序可以通过ABAQUS中‘Run Script’或 ‘Plug-ins’运行,但需要先运行ABAQUS。为了进一步节约时间、降低使用难度,本文利用python中tkinter库,利用选值框、画布和边框等指令开发独立于ABAQUS的图形用户界面,如图7所示,其中右侧的橡胶截面可随输入参数的变化同步更新。

当点击‘Submit’时,程序启动运行run.bat文件,调用bat文件的代码如下:

thisPath =os.path.dirname(os.path.abspath(__file__))

file_path = thisPath +′\\′+′run.bat′

Popen(file_path, creationflags=subprocess.CREATE_NEW_CONSOLE)

文件run.bat用于在后台运行第1节编写的程序(normalFEA.py),run.bat文件代码如下:

abaquscae noGUI=normalFEA.py

3 试验对比和分析验证

橡胶衬套刚度测试采用INOVA双轴测试机,型号为FEH 25-7-400 v1,产品测试见图8。本文选取3种不同尺寸的橡胶-金属衬套制品,产品的结构尺寸和橡胶参数详见表2。

基于ABAQUS二次开发的橡胶-金属衬套仿真技术研究的图10

图8 产品测试

仿真和实测结果以及误差值见表3,其中误差值取(仿真值-实测值)与仿真值的比值。通过表3可知,仿真值与实测值间存在一定的误差。这是部分由于实际生产和仿真分析中存在误差导致的,比如实际生产过程中胶料硬度会存在波动,而仿真分析中采用的橡胶硬度是名义值;仿真分析中对结构的简化和网格参数的选取会影响计算的准确度。误差值控制在10%以内,满足工程化应用的要求。经过大量案例仿真的用时统计,本文涉及的橡胶-金属衬套类结构,绝大多数产品的仿真分析可在8~15 min内完成,极大地提高了分析效率。

表2 产品参数

基于ABAQUS二次开发的橡胶-金属衬套仿真技术研究的图11

表3 仿真和实测值

基于ABAQUS二次开发的橡胶-金属衬套仿真技术研究的图12

4 结论

本文基于ABAQUS-Python接口,进行ABAQUS二次开发;开发独立于ABAQUS的图形用户界面,得出如下主要结论。

(1) 该方法和过程可实现橡胶-金属衬套制品的有限元快速分析。前处理、计算、后处理等工作可自动完成,仿真分析可在8~15 min内完成,极大地提高了分析效率。

(2) 通过与实测结果分析对比,结果误差小于10%,满足工程化应用的要求。

(3) 操作简单、高效,使用者无需具有专业的有限元分析知识即可进行仿真分析,极大地降低了使用门槛。

参考文献

[1] 刘志国,王炳杰.轨道车辆金属橡胶件参数化建模及仿真分析方法研究[J].铁道车辆,2017,55(12):8-15.

[2] 周炜,黄友剑,李建林.基于参数化有限元的橡胶衬套结构优化设计[J].特种橡胶制品,2012,33(4):50-54.

[3] 宋颖,荣继刚,马秋成,等.基于ABAQUS的圆柱形橡胶堆参数化建模的二次开发[J].信息技术,2022,52(1):146-148.

[4] YEOH OH.Some Forms of the Strain Energy Function for Rubber[J].Rubber Chemistry and Technology,1993,66(5):754-771.

[5] 李晓芳,杨晓翔.橡胶材料的超弹性本构模型[J].弹性体,2005,15 (1):50-58.

[6] 朱艳峰,刘锋,黄小清,等.橡胶材料的本构模型[J].橡胶工业,2006,53(2):119-125

文章来源特种橡胶制品. 2023,44(05)

(2条)
默认 最新
大神,请问,您的例子里面是用,Python做了橡胶材料本构模型的二次开发吗,如果是的话,我是不是也可以用同样的方法,开发一个hjc混凝土模型。
评论 点赞
感谢分享
评论 点赞
点赞 5 评论 2 收藏 4
关注