前言:
悬架是汽车最重要的部件之一,对整车的操作稳定性与平顺性影响较大,如汽车在运行过程中出现故障,极易造成严重的后果,所以在开发前期对悬架的强度校核工作必不可少,悬架的校核是一项比较繁琐、重复的事情,建模过程中需要输入的参数众多,如硬点参数、衬套参数、衬套局部坐标系参数等,建模过程十分繁琐且容易出错[1],对于一个全新开发的悬架,可能需要两个钟头的时间才能建好,而且后期结构变更非常频繁,修改也比较麻烦,为了缩减悬架有限元建模的时间,摸索了一套快速而精准的悬架建模方法具有重要的意义,由于悬架结构形式相对比较固定,有限元建模方式也相似,这些都为麦弗逊悬架有限元快速建模提供了有力的保障,本项目选用 abaqus 软件,开展麦弗逊悬架有限元快速建模方法的研究,实现麦弗逊悬架自动建模,可以极大的降低分析人员的工作强度,有效的缩短项目周期,从而有效提高建模的效率弗逊悬架有限元快速建模方法。
1、 模型数据的准备
悬架建模需要输入的数据量较多,考虑数据输入方便性,在程序设计过程,根据建模分析需求,可将用户常用的数据建立相应的数据库:硬点数据、衬套刚度数据,弹簧数据、缓冲块数据,按照要求的格式整理,方便随时调用相关数据,硬点数据按要求整理在 excel 中,并与名称对应,否则就会报错
衬套刚度数据,弹簧数据、缓冲块数据,以 adams 中属性文件形式放在某文件下
2、 python 语言的开发应用
应用 py 语言对弗逊悬架有限元快速建模,主要应用项目如下
1) 硬点模型的参数化建立
将悬架系统各部件连接点如转向节与控制臂的链接点、转向节与减振器连接点,转向节与转向拉杆的连接点,悬架系统与其他部件的连接点按一定顺序写入 excel 中,然后供程序调用,硬点建模快速建立方法如下,然后根据硬点坐标进行 for 循环创建批量硬点,创建脚本命令如下[2]。
mdb.models['mfx'].rootassembly.referencepoint(point=(905, -771, 390))
2) 为了便于后期硬点的修改,硬点名称批量命名,创建脚本命令如下
mdb.models['mfx'].rootassembly.features.changekey(fromname='rp-1', toname=
'damp_down')
3) 批量创建局部坐标
衬套 、弹簧、缓冲块 柱面副赋属性时要求指定局部坐标系,因为衬套、弹簧、柱面副的参数实际上是局部坐标系下的,故每个衬套、弹簧、柱面副都必须建立自己的局部坐标系。
这里指定局部坐标是为了确定活塞运动的方向。而建立局部坐标系最常用的方法就是两点法与三点法,根据形式适当选择两点还是三点建立局部坐标系,创建脚本命令如下
mdb.models['mfx'].rootassembly.datumcsysbythreepoints(coordsystype=cartesia
n, name='topmount', origin=mdb.models['mfx'].rootassembly.referencepoints[8], point1=mdb.models['mfx'].rootassembly.referencepoints[9], point2= mdb.models['mfx'].rootassembly.referencepoints[10])
4) 衬套模型的参数化建立
麦弗逊悬架衬套连接在摆臂与车身,将衬套看作 6 个方向的非线性的弹簧模型,需要输入三个位移方向上力与位移的关系曲线和三个旋转方向上力矩与转角的关系曲线,创建脚本命令如下
mdb.models['mfx'].connectorsection(assembledtype=bushing, name='
lca_front_bush ')
mdb.models['mfx'].sections['lca_front_bush'].setvalues(behavioroptions=(
connectorelasticity(behavior=nonlinear, table=((数据 1)), independentcomponents=(), components=(1, )), connectorelasticity(behavior=nonlinear, table=((数据 2)), independentcomponents=(), components=(2, )), connectorelasticity(behavior=nonlinear, table=((数据 3)), independentcomponents=(), components=(3, )), connectorelasticity(behavior=nonlinear, table=((数据 4)), independentcomponents=(), components=(1, )), connectorelasticity(behavior=nonlinear, table=((数据 5)), independentcomponents=(), components=(1, )), connectorelasticity(behavior=nonlinear, table=((数据 6)), independentcomponents=(), components=(6, ))))
3)弹簧的参数化建立
弹簧参数,将弹簧看作只有一个方向线性刚度,且还需要输入弹簧的自由长度来考虑弹簧的预载作业,创建脚本命令如下
mdb.models['mfx'].connectorsection(name='axial',translationaltype=axial, u1referencelength=320)
mdb.models['mfx'].sections['axial'].setvalues(behavioroptions=( connectorelasticity
(table=((30.0, ), ), independentcomponents=(), components=(1, )), ))
5) 球铰副的创建
摆臂与转向节,转向节与转向拉杆都是通过球铰副连接,创建脚本命令如下
mdb.models['mfx'].connectorsection(name='join', rotationaltype=cardan, translationaltype=join)
6)刚性梁单元的创建
刚性梁作为一个传力单元,可以建一个刚性体等效多个 beam 梁单元,如下摆臂,转向
节,活塞杆与减振器筒,创建脚本命令如下
mdb.models['mfx'].connectorsection(assembledtype=beam, name='beam')
6) 约束与工况的创建
首先要穿件载荷步,创建脚本命令如下
mdb.models['mfx'].staticstep(initialinc=0.01, name='proload', nlgeom=on, previous='initial')
mdb.models['mfx'].staticstep(initialinc=0.01, name='fpb', previous='proload')
mdb.models['mfx'].staticstep(initialinc=0.01, name='jxzx', previous='fpb')
mdb.models['mfx'].staticstep(initialinc=0.01, name='gk', previous='jxzx')
约束 topmount 与摆臂前后点,在轮心位置进行加载,创建脚本命令如下
mdb.models['mfx'].concentratedforce(cf1=1, cf2=2, cf3=3, createstepname='fpb', distributiontype=uniform, field='', localcsys=none, name='load-1', region= region(referencepoints=(mdb.models['mfx'].rootassembly.referencepoints[1],
)))
mdb.models['mfx'].moment(cm1=4, cm2=5, cm3=6, createstepname='fpb', distributiontype=uniform, field='', localcsys=none, name='load-2', region= region(referencepoints=(mdb.models['mfx'].rootassembly.referencepoints[1],
)))
mdb.models['mfx'].loads['load-1'].setvaluesinstep(cf1=2, cf2=3, cf3=4, stepname='jxzx')
mdb.models['mfx'].loads['load-2'].setvaluesinstep(cm1=5, cm2=6, cm3=7, stepname='jxzx')
mdb.models['mfx'].loads['load-1'].setvaluesinstep(cf1=4, cf2=31, cf3=54, stepname='gk')
mdb.models['mfx'].loads['load-2'].setvaluesinstep(cm1=55, cm2=76, cm3=87, stepname='gk')
mdb.models['mfx'].concentratedforce(cf1=11, cf2=22, cf3=33, createstepname=
'fpb', distributiontype=uniform, field='', localcsys=none, name='load-3', region=region(referencepoints=(
mdb.models['mfx'].rootassembly.referencepoints[20], )))
mdb.models['mfx'].loads['load-3'].setvaluesinstep(cf1=22, cf2=68, cf3=90, stepname='jxzx')
mdb.models['mfx'].loads['load-3'].setvaluesinstep(cf1=111, cf2=222, cf3=333, stepname='gk')
mdb.models['mfx'].encastrebc(createstepname='proload', localcsys=none, name=
'bc-1', region=region(referencepoints=(
mdb.models['mfx'].rootassembly.referencepoints[23], mdb.models['mfx'].rootassembly.referencepoints[24], mdb.models['mfx'].rootassembly.referencepoints[25], )))
mdb.models['mfx'].encastrebc(createstepname='proload', localcsys=none, name=
'bc-2', region=region(referencepoints=(
mdb.models['mfx'].rootassembly.referencepoints[1], )))
mdb.models['mfx'].boundaryconditions['bc-2'].deactivate('fpb')
mdb.models['mfx'].displacementbc(amplitude=unset, createstepname='proload', distributiontype=uniform, fieldname='', fixed=off, localcsys=none, name=
'bc-3', region=region(referencepoints=(
mdb.models['mfx'].rootassembly.referencepoints[19], )), u1=0.0, u2=0.0, u3=
0.0, ur1=unset, ur2=0.0, ur3=unset)
3、编写内核执行文件
基于上述脚本可以编制自动创建麦弗逊悬架骨架 cae 模型内核执行程序,该程序由一个主函数组成,该函数有 6 个变量,分别定义 adams 属性 文件路径、弹簧自由长度与刚度参数,缓冲块的间隙参数,硬点名称与坐标信息,工况名称与载荷数据信息。程序中使用了自动创建硬点与修改硬点名称、自动创建衬套、弹簧属性,自动创建坐标系,自动创建连接器,自动创建连接,自动创建载荷步、自动创建约束等函数,可以实现麦弗逊悬架骨架 cae 模型的自动建立,如下为麦弗逊悬架骨架 cae 模型自动建立
图 1 麦弗逊悬架骨架 cae 模型自动建立界面
图 2 麦弗逊悬架骨架 cae 模型
4、结论
通过 abaqus 的二次开发可以快速实现缩短产品设计开发周期、减少研究人员工作量,为汽车悬架仿真自动化提供一定的指导作用。
资料来源:达索官方
2025-12-05
[行业资讯] simulia简介-abaqus代理经销商思茂信息
2025-12-05
[行业资讯] 如何合理选购abaqus软件并获取报价?达索代理商思茂信息
2025-12-05
[行业资讯] 思茂信息亮相2025省博士创新站活动 共探产学研新路径
2025-12-02
[cst] cst软件探索eft虚拟测试:从iec标准到3d仿真实战
2025-12-01
[abaqus] abaqus中理想弹塑性模型和弹塑性硬化模型区别
2025-11-28
2025-11-28
2025-11-28
[abaqus] 上课啦!达索系统 simulia abaqus pcb仿真
2025-11-26
[cst] 无参优化器:利用cst和tosca进行拓扑优化之单极天线(
2025-11-26
2023-08-29
2023-08-24
[abaqus] abaqus如何建模?abaqus有限元分析教程
2023-07-07
[abaqus] 有限元分析软件abaqus单位在哪设置?【操作教程】
2023-09-05
[abaqus] abaqus软件中interaction功能模块中的绑定接
2023-07-19
[abaqus] abaqus怎么撤回上一步操作?abauqs教程
2024-05-01
[abaqus] abaqus里面s11、s12和u1、u2是什么意思?s和
2023-08-30
[abaqus] abaqus单位对应关系及参数介绍-abaqus软件
2023-11-20
[abaqus] abaqus软件教程|场变量输出历史变量输出
2023-07-18
[abaqus] abaqus中的s、u、v、e、cf分别是什么意思?
2024-05-11
[行业资讯] simulia简介-abaqus代理经销商思茂信息
2025-12-05
2025-12-05
[行业资讯] 如何合理选购abaqus软件并获取报价?达索代理商思茂信息
2025-12-05
[行业资讯] 思茂信息亮相2025省博士创新站活动 共探产学研新路径
2025-12-02
[行业资讯] 正版abaqus全国代理商:思茂信息——达索授权认证
2025-11-25
[行业资讯] 怎么联系cst studio suite代理商?达索sim
2025-11-25
2025-11-24
[行业资讯] 广东有限元分析软件abaqus采购指南-认准达索授权思茂信
2025-11-21
[行业资讯] 达索abaqus、cst代理商采购流程-指定授权代理商思茂
2025-11-21
[行业资讯] 广东2025半导体及零部件学会发展论坛落幕,广州思茂信息获
2025-11-20
地址: 广州市天河区天河北路663号广东省机械研究所8栋9层 电话:020-38921052 传真:020-38921345 邮箱:thinks@think-s.com
和记娱乐app官网登录 copyright © 2010-2023 广州思茂信息科技有限公司 all rights reserved. 粤icp备11003060号-2