前言:
懸架是汽車最重要的部件之一,對整車的操作穩(wěn)定性與平順性影響較大,如汽車在運行過程中出現(xiàn)故障,極易造成嚴重的后果,所以在開發(fā)前期對懸架的強度校核工作必不可少,懸架的校核是一項比較繁瑣、重復的事情,建模過程中需要輸入的參數(shù)眾多,如硬點參數(shù)、襯套參數(shù)、襯套局部坐標系參數(shù)等,建模過程十分繁瑣且容易出錯[1],對于一個全新開發(fā)的懸架,可能需要兩個鐘頭的時間才能建好,而且后期結構變更非常頻繁,修改也比較麻煩,為了縮減懸架有限元建模的時間,摸索了一套快速而精準的懸架建模方法具有重要的意義,由于懸架結構形式相對比較固定,有限元建模方式也相似,這些都為麥弗遜懸架有限元快速建模提供了有力的保障,本項目選用 Abaqus 軟件,開展麥弗遜懸架有限元快速建模方法的研究,實現(xiàn)麥弗遜懸架自動建模,可以極大的降低分析人員的工作強度,有效的縮短項目周期,從而有效提高建模的效率弗遜懸架有限元快速建模方法。
1、 模型數(shù)據(jù)的準備
懸架建模需要輸入的數(shù)據(jù)量較多,考慮數(shù)據(jù)輸入方便性,在程序設計過程,根據(jù)建模分析需求,可將用戶常用的數(shù)據(jù)建立相應的數(shù)據(jù)庫:硬點數(shù)據(jù)、襯套剛度數(shù)據(jù),彈簧數(shù)據(jù)、緩沖塊數(shù)據(jù),按照要求的格式整理,方便隨時調(diào)用相關數(shù)據(jù),硬點數(shù)據(jù)按要求整理在 Excel 中,并與名稱對應,否則就會報錯
襯套剛度數(shù)據(jù),彈簧數(shù)據(jù)、緩沖塊數(shù)據(jù),以 Adams 中屬性文件形式放在某文件下
2、 Python 語言的開發(fā)應用
應用 py 語言對弗遜懸架有限元快速建模,主要應用項目如下
1) 硬點模型的參數(shù)化建立
將懸架系統(tǒng)各部件連接點如轉向節(jié)與控制臂的鏈接點、轉向節(jié)與減振器連接點,轉向節(jié)與轉向拉桿的連接點,懸架系統(tǒng)與其他部件的連接點按一定順序寫入 Excel 中,然后供程序調(diào)用,硬點建??焖俳⒎椒ㄈ缦?,然后根據(jù)硬點坐標進行 for 循環(huán)創(chuàng)建批量硬點,創(chuàng)建腳本命令如下[2]。
mdb.models['mfx'].rootAssembly.ReferencePoint(point=(905, -771, 390))
2) 為了便于后期硬點的修改,硬點名稱批量命名,創(chuàng)建腳本命令如下
mdb.models['mfx'].rootAssembly.features.changeKey(fromName='RP-1', toName=
'damp_down')
3) 批量創(chuàng)建局部坐標
襯套 、彈簧、緩沖塊 柱面副賦屬性時要求指定局部坐標系,因為襯套、彈簧、柱面副的參數(shù)實際上是局部坐標系下的,故每個襯套、彈簧、柱面副都必須建立自己的局部坐標系。
這里指定局部坐標是為了確定活塞運動的方向。而建立局部坐標系最常用的方法就是兩點法與三點法,根據(jù)形式適當選擇兩點還是三點建立局部坐標系,創(chuàng)建腳本命令如下
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) 襯套模型的參數(shù)化建立
麥弗遜懸架襯套連接在擺臂與車身,將襯套看作 6 個方向的非線性的彈簧模型,需要輸入三個位移方向上力與位移的關系曲線和三個旋轉方向上力矩與轉角的關系曲線,創(chuàng)建腳本命令如下
mdb.models['mfx'].ConnectorSection(assembledType=BUSHING, name='
lca_front_bush ')
mdb.models['mfx'].sections['lca_front_bush'].setValues(behaviorOptions=(
ConnectorElasticity(behavior=NONLINEAR, table=((數(shù)據(jù) 1)), independentComponents=(), components=(1, )), ConnectorElasticity(behavior=NONLINEAR, table=((數(shù)據(jù) 2)), independentComponents=(), components=(2, )), ConnectorElasticity(behavior=NONLINEAR, table=((數(shù)據(jù) 3)), independentComponents=(), components=(3, )), ConnectorElasticity(behavior=NONLINEAR, table=((數(shù)據(jù) 4)), independentComponents=(), components=(1, )), ConnectorElasticity(behavior=NONLINEAR, table=((數(shù)據(jù) 5)), independentComponents=(), components=(1, )), ConnectorElasticity(behavior=NONLINEAR, table=((數(shù)據(jù) 6)), independentComponents=(), components=(6, ))))
3)彈簧的參數(shù)化建立
彈簧參數(shù),將彈簧看作只有一個方向線性剛度,且還需要輸入彈簧的自由長度來考慮彈簧的預載作業(yè),創(chuàng)建腳本命令如下
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) 球鉸副的創(chuàng)建
擺臂與轉向節(jié),轉向節(jié)與轉向拉桿都是通過球鉸副連接,創(chuàng)建腳本命令如下
mdb.models['mfx'].ConnectorSection(name='join', rotationalType=CARDAN, translationalType=JOIN)
6)剛性梁單元的創(chuàng)建
剛性梁作為一個傳力單元,可以建一個剛性體等效多個 beam 梁單元,如下擺臂,轉向
節(jié),活塞桿與減振器筒,創(chuàng)建腳本命令如下
mdb.models['mfx'].ConnectorSection(assembledType=BEAM, name='beam')
6) 約束與工況的創(chuàng)建
首先要穿件載荷步,創(chuàng)建腳本命令如下
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 與擺臂前后點,在輪心位置進行加載,創(chuàng)建腳本命令如下
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、編寫內(nèi)核執(zhí)行文件
基于上述腳本可以編制自動創(chuàng)建麥弗遜懸架骨架 CAE 模型內(nèi)核執(zhí)行程序,該程序由一個主函數(shù)組成,該函數(shù)有 6 個變量,分別定義 adams 屬性 文件路徑、彈簧自由長度與剛度參數(shù),緩沖塊的間隙參數(shù),硬點名稱與坐標信息,工況名稱與載荷數(shù)據(jù)信息。程序中使用了自動創(chuàng)建硬點與修改硬點名稱、自動創(chuàng)建襯套、彈簧屬性,自動創(chuàng)建坐標系,自動創(chuàng)建連接器,自動創(chuàng)建連接,自動創(chuàng)建載荷步、自動創(chuàng)建約束等函數(shù),可以實現(xiàn)麥弗遜懸架骨架 CAE 模型的自動建立,如下為麥弗遜懸架骨架 CAE 模型自動建立
圖 1 麥弗遜懸架骨架 CAE 模型自動建立界面
圖 2 麥弗遜懸架骨架 CAE 模型
4、結論
通過 abaqus 的二次開發(fā)可以快速實現(xiàn)縮短產(chǎn)品設計開發(fā)周期、減少研究人員工作量,為汽車懸架仿真自動化提供一定的指導作用。
資料來源:達索官方
[ABAQUS] 結合 DFSS 和 Abaqus 的主軸承蓋設計優(yōu)化
2025-03-13
[ABAQUS] 基于Abaqus的牛圈湖天然裂縫數(shù)值計算
2025-03-13
[ABAQUS] Abaqus對某車型備胎盆屈曲的有限元分析
2025-03-13
[ABAQUS] 基于 Abaqus 的復材圓管芯材剪切性能分析
2025-03-12
[CST] CST軟件基于液態(tài)金屬開關的方向圖可重構天線
2025-03-12
[ABAQUS] 用 Abaqus、Tosca、Isight 軟件的聯(lián)合優(yōu)化
2025-03-12
[ABAQUS] 基于Abaqus 膜單元的充氣囊體結構力學性能研究
2025-03-11
[ABAQUS] Abaqus在動力電池上箱體密封仿真分析中的應用
2025-03-11
[ABAQUS] Abaqus對某中速機主軸承橫拉螺栓螺母壓痕分析
2025-03-11
[ABAQUS] Abaqus對某排氣系統(tǒng)熱端的熱機耦合分析與結構優(yōu)化
2025-03-10
2023-08-24
[ABAQUS] ABAQUS如何建模?ABAQUS有限元分析教程
2023-07-07
2023-08-29
[ABAQUS] 有限元分析軟件abaqus單位在哪設置?【操作教程】
2023-09-05
[ABAQUS] abaqus里面s11、s12和u1、u2是什么意思?s和
2023-08-30
[ABAQUS] Abaqus單位對應關系及參數(shù)介紹-Abaqus軟件
2023-11-20
[ABAQUS] Abaqus怎么撤回上一步操作?Abauqs教程
2024-05-01
[ABAQUS] ABAQUS軟件教程|場變量輸出歷史變量輸出
2023-07-18
[ABAQUS] ABAQUS軟件中Interaction功能模塊中的綁定接
2023-07-19
[ABAQUS] 如何準確的評估真實行駛工況條件下的空氣動力學性能
2020-11-19
[有限元知識] fe-safe風笛安裝支架隨機振動疲勞分析及優(yōu)化
2025-03-06
[有限元知識] 達索系統(tǒng)SIMULIA 2025 新功能介紹(下)
2025-03-06
[有限元知識] SIMPACK對50m長鋼軌非洲某國鐵路運輸車輛動力學仿真
2025-03-04
[行業(yè)資訊] 達索系統(tǒng)SIMULIA 2025 新功能直通車|Simpa
2025-02-26
[有限元知識] 流體動力學(CFD)優(yōu)化電動車輛的電池范圍和熱舒適性
2025-02-25
[有限元知識] 利用SIMULIA在?3DEXPERIENCE? plat
2025-02-25
[有限元知識] 基于 ISIGHT 軟件某架構下白車身輕量化分析
2025-02-24
[有限元知識] 仿真必學!柴油發(fā)動機Abaqus有限元分析
2025-02-18
[行業(yè)資訊] 資訊|SIMULIA Isight 2025FD01 支持
2025-02-14
[行業(yè)資訊] DeepSeek與Abaqus深度融合:人工智能AI+CA
2025-02-13