曾 軍,何興鳳,莫貴文
(1.湖南湖大艾盛汽車技術(shù)開發(fā)有限公司,湖南 長沙 410013;2.中汽研(天津)汽車工程研究院有限公司,天津 300300)
基于輪心載荷的整車路噪分析是通過建立整車有限元模型(包括Trimbody車身系統(tǒng)、動力傳動排氣系統(tǒng)、轉(zhuǎn)向系統(tǒng)、前后懸掛和制動系統(tǒng)、輪胎系統(tǒng)等),并在該整車模型4個輪胎轉(zhuǎn)向節(jié)輪心處(每個點六個方向)施加單位力激勵,分析得到試驗提供的轉(zhuǎn)向節(jié)16個測點、每個點三個方向的振動傳遞函數(shù)。將樣車在實際道路上行駛時測試得到的汽車轉(zhuǎn)向節(jié)處的加速度結(jié)合逆矩陣法、主成分分析法[1]求得路噪載荷激勵(當(dāng)處于前期開發(fā)階段無樣車時,該路噪分析激勵可借用同底盤平臺的其他車型)。將路噪激勵施加到CAE整車模型4個輪胎轉(zhuǎn)向節(jié)輪心處、經(jīng)計算求解得到路噪分析[2]的仿真結(jié)果,基于該仿真結(jié)果可實現(xiàn)汽車在研發(fā)設(shè)計階段的 NVH路面噪聲性能的評估、診斷、優(yōu)化和提升等。
基于輪心載荷的整車路噪分析是汽車研發(fā)設(shè)計階段整車NVH性能前期開發(fā)中關(guān)鍵的一環(huán),但整車路噪分析在載荷提取、模型建立、工況加載、結(jié)果處理、問題診斷和優(yōu)化都需要耗費大量的時間,且極易出錯,從而導(dǎo)致分析效率、可靠性下降,影響開發(fā)周期和成本,最終影響汽車產(chǎn)品投放到市場中的競爭力。
Tcl /TK是由John K. Ousterhout于1988 年開始開發(fā)的解釋型、無需編譯、易拓展的腳本語言。Tcl(具命令語言)語法固定、語言簡明高效、易閱讀,常用于快速原型開發(fā)、腳本編輯、GUI和測試等方面;TK是使用最廣泛的Tcl 拓展,為用戶提供簡潔豐富的圖形功能,讓用戶可以輕松地創(chuàng)建簡單的圖形界面。HyperGraph是應(yīng)用廣泛、強大的有限元后處理軟件,其提供了Tcl二次開發(fā)接口,但與HyperMesh前處理二次開發(fā)不同,HyperGraph需要根據(jù)幫助文檔提供的由上到下樹狀Tcl/TK命令流,通過獲取每一級的handle來讓用戶進(jìn)行二次開發(fā),相對而言比較麻煩,但根據(jù)自身工作需求開發(fā)出的各種功能,可實現(xiàn)將繁瑣、重復(fù)的操作高效率地完成并保持高度的準(zhǔn)確性。
Python是由荷蘭人Guido van Rossum于1989年發(fā)明的一種面向?qū)ο?、任?wù)直譯式計算程序設(shè)計語言,在編程和行業(yè)應(yīng)用中廣泛應(yīng)用,尤其是在大數(shù)據(jù)和人工智能方面,故Python特別適合于NVH工程分析領(lǐng)域中(載荷、前后處理、報告等都涉及大量的數(shù)據(jù)參數(shù))。其簡單易用,開發(fā)效率高,且豐富的語言生態(tài)使 Python能夠在編程過程和環(huán)境中使用多種外部編程資源,當(dāng)然能夠與Tcl/TK結(jié)合進(jìn)行應(yīng)用的混合編程開發(fā)。除此之外,Python語言簡短、方便靈活的特性使得其比C/C++的開發(fā)效率高5~10倍。
TPA的基本方法為如下的公式,關(guān)于TPA詳細(xì)原理介紹,目前行業(yè)內(nèi)文獻(xiàn)較多,本文不再贅述。
圖1 計算裝配狀態(tài)下系統(tǒng)接附力、計算響應(yīng)結(jié)構(gòu)在獨立狀態(tài)下的傳凼(NTF)
分別計算加載了輪心載荷的整車有限元模型(裝配狀態(tài)下)的系統(tǒng)接附力、不包括動力傳動和底盤系統(tǒng)的Trimbody有限元模型的NTF傳函,將這兩個計算結(jié)果在 HyperGraph中利用NVH→Transfer Path Analysis加載進(jìn)行TPA后處理分析,可以初步得到一個主分量工況下的路噪問題峰值的診斷排序,包括多個接附點輸入路徑貢獻(xiàn)及其每個路徑下的NTF傳函、力、動剛度速度導(dǎo)納貢獻(xiàn)排序。在后處理中診斷提供的信息仍不夠清晰明了,想要進(jìn)一步的提煉信息進(jìn)行診斷報告編寫,以方便地進(jìn)行展示和傳閱。
圖2 HyperGraph后處理路噪分析TPA診斷
為了進(jìn)一步得到TPA分析結(jié)果的客觀展示以及報告,方便工程師快速得到準(zhǔn)確的診斷結(jié)果,本文對此進(jìn)行了整車路噪TPA分析自動化報告程序的定制化開發(fā)。TPA分析自動化報告程序開發(fā)流程如下:
圖3 開發(fā)簡易邏輯流程
首先需要從 HyperGraph中提取信息,包括圖片以及Notes下的文本信息(問題峰值的24主分量貢獻(xiàn)排序、主分量下的接附點路徑輸入排序信息,以及該接附點下的NTF噪聲傳函、硬點動剛度和傳遞力的排序信息)。如下為基于HyperGraph二次開發(fā)[3]從后處理中自動獲取每個plot窗口下的Notes文本信息并自動截圖保存的部分tcl代碼:
得到了需要的數(shù)據(jù)信息,需要對其進(jìn)行必要的“清洗操作”,也即根據(jù)需求,按照一定的規(guī)則和格式,對每張截圖進(jìn)行重命名、文本信息拆分。以上操作可通過編寫Python代碼來自動化實現(xiàn)。
圖4 獲取的圖片和文本信息
最后,利用 Python的 pptx模塊進(jìn)行報告自動化生成[4]的代碼編寫,結(jié)合優(yōu)秀的PyQt5 GUI編寫工具,制作完成如下的TPA自動化報告生成程序。
圖5 路噪TPA診斷自動化報告程序
從Optistruct求解器得到的整車路噪分析純文本pch結(jié)果文件,到自動化生成的圖文并茂的TAP自動化分析報告,僅需要花費30 s的時間(傳統(tǒng)手工處理得到TAP分析報告需要花費 30~60 min),不僅極大地減少了報告的編寫時間,而且報告的內(nèi)容直觀、準(zhǔn)確、可靠,極大避免了人為主觀因素導(dǎo)致的錯誤,且后續(xù)還可根據(jù)不同需求修改程序進(jìn)行不同的報告定制。生成的報告內(nèi)容由三部分組成,如圖6所示。
圖6 TPA路噪峰值主分量貢獻(xiàn)排序、路徑診斷和分解、主分量路徑分解柱狀圖
通過路噪TPA自動化分析報告,可以直觀地得出以下結(jié)論:
在調(diào)查進(jìn)行前,設(shè)計問卷調(diào)查表與臨床診斷結(jié)果記錄表;參加調(diào)查的2名醫(yī)生均為口腔科??漆t(yī)生。采用統(tǒng)一診斷標(biāo)準(zhǔn)對患者進(jìn)行診斷,并對2名醫(yī)師的診斷結(jié)果進(jìn)行一致性檢驗,kappa值大于0.9;每份調(diào)查表在數(shù)據(jù)錄入前經(jīng)專人集中審核,再由專人錄入數(shù)據(jù)庫,確保數(shù)據(jù)真實、可靠。
(1)哪些主分量對問題峰值路噪響應(yīng)起主導(dǎo)作用;
(2)相應(yīng)主分量下哪些接附點路徑貢獻(xiàn)主導(dǎo)著主分量問題峰值路噪響應(yīng);
(3)高響應(yīng)的原因在于傳函過高、傳遞力過高,還是局部動剛度過低;
(4)最后,可著手于降低傳函、調(diào)整隔振率平衡力的分布、提高局部動剛度等方向進(jìn)行結(jié)構(gòu)、參數(shù)等優(yōu)化。
因為輪心載荷是通過 24個主分量激勵分析工況加載到整車有限元模型中的,所以其分析結(jié)果對應(yīng)有24條響應(yīng)結(jié)果曲線,需要在HyperGraph中手動將響應(yīng)點的24條響應(yīng)曲線全部加載。為了得到24個工況的最終合成的噪聲曲線,需要將響應(yīng)點的24條響應(yīng)曲線作RSS(the root sum of squares,平方根)處理,用于對標(biāo)的測試曲線單位往往是 dB(A),故需要將其進(jìn)行dB(A)A計權(quán)處理,如圖7所示。
圖7 手動加載處理的24條路噪曲線分析結(jié)果
該過程極其機械、繁瑣,且容易遺漏曲線加載導(dǎo)致出錯,從路噪分析結(jié)果,得到如駕駛員右耳響應(yīng)點的路面噪聲結(jié)果(在頻域Frequency[Hz]下的聲壓級SPL[dB(A)])的正確展示,需要耗費約7~10 min,且一般2排座椅的車內(nèi)有前排駕駛員右耳、前排副駕駛左耳以及后排中間成員3個響應(yīng)點,則需要花費20~30 min不等。如此耗時費力的結(jié)果處理,在后面的問題頻率峰值優(yōu)化結(jié)果處理中更加讓工程師崩潰,且這種方式處理的結(jié)果在HyperGraph保存的mvw文件十分不利于向其他人員傳閱(因為結(jié)果曲線引用的路徑是本機的,而拷貝到其他人員電腦上會無法識別報錯)。
HyperGraph中通過values的方式添加曲線數(shù)據(jù)是可以直接保存在mvw文件中的。通過HyperGraph利用Tcl/TK進(jìn)行二次開發(fā),可將從pch結(jié)果中提取的數(shù)據(jù)通過tcl代碼加載到HyperGraph中。最后兩行代碼為關(guān)鍵代碼,就是通過values的方式添加曲線數(shù)據(jù),基于HyperGraph二次開發(fā)[3]的部分tcl代碼如下:
基于頻率的聲壓(dB(A))數(shù)據(jù)可以通過可通過編寫Python代碼直接從pch結(jié)果讀取,整車路噪仿真結(jié)果后處理自動化程序部分python代碼[5]如下:
其中的A_w為A計權(quán)系數(shù),不同頻率系數(shù)不同。
結(jié)合PyQt5 GUI工具編寫好的程序如圖8、圖9,只需要選擇路噪分析結(jié)果pch文件(可選多個一鍵處理),然后根據(jù)關(guān)鍵信息設(shè)置提取頻率和響應(yīng)點,第四步選擇需要加載數(shù)據(jù)展示到已打開的HyperGraph后處理程序窗口名稱,最后單擊確定(處理)即可快速將路噪結(jié)果展示到HyperGraph后處理當(dāng)中。比如處理一個pch文件到最終的結(jié)果展示,只需要不到1 s的時間,即使選擇了20個pch結(jié)果文件,需要耗費的時間也不會超過10 s,相對于一般手動處理無誤的情況下需要花費30 min而言,極大地提升了結(jié)果后處理的效率、準(zhǔn)確性以及自動化水平。
圖8 整車路噪仿真結(jié)果后處理自動化程序
圖9 程序自動化處理加載的路噪分析結(jié)果
該路噪結(jié)果后處理自動化程序?qū)崿F(xiàn)了將數(shù)據(jù)后臺自動化處理與HyperGraph中結(jié)果自動展示的無縫結(jié)合。且程序集成了多個實用功能:測試數(shù)據(jù)加載對比、目標(biāo)線導(dǎo)入、應(yīng)用模板展示等(該功能將會根據(jù)需求持續(xù)地增加和拓展),極大地方便了工程師的后處理、顯著提高了工作效率,使工程師能夠?qū)W⒂诼吩胄阅艿姆桨竷?yōu)化當(dāng)中。
當(dāng)前,具備大數(shù)據(jù)應(yīng)用、大數(shù)據(jù)處理、優(yōu)秀的混合編程特性、易于開發(fā)等優(yōu)點的Python語言,十分適合于NVH性能分析多數(shù)據(jù)、多參數(shù)特點的應(yīng)用場景當(dāng)中。且具有完整NVH工程解決方案的HyperWorK工程仿真軟件能夠方便地使用Tcl/TK語言進(jìn)行二次開發(fā),所以可方便地將Tcl/TK和Python編程結(jié)合起來,在NVH性能仿真的載荷、建模、分析、診斷、優(yōu)化、報告等眾多場景進(jìn)行各種自動化應(yīng)用工具的定制開發(fā),實現(xiàn)汽車工程 NVH性能分析領(lǐng)域的高效率、高精度、低成本、全自動的現(xiàn)代化辦公。