王曉燕 郝文權(quán) 蔣永峰
(中國第一汽車股份有限公司 研發(fā)總院,長春 130013)
主題詞:多學科 強耦合 分布式 算法
多學科交叉耦合問題在車輛性能開發(fā)過程中變得越來越突出,采用多學科分析技術(shù)是提高車輛綜合性能的必要手段[1-2]。傳統(tǒng)的多學科分析是一種弱耦合技術(shù)[3-4],不同學科之間只是簡單的信息交互,沒有求解器層面的耦合,因而難以完全表達不同學科之間的相互影響關(guān)系。此外,在車輛性能集成過程中,供應商出于對自身核心技術(shù)保護的角度考慮,不會把子模型以白箱的方式完全提供給主機廠,給整車性能集成帶來困難。因此,需要探索一種強耦合算法,以實現(xiàn)不同學科在求解器層面的耦合,同時每個子模型僅需提供界面上的力與運動信息,實現(xiàn)“分而治之”的多學科強耦合分析[5]。
如前所述,多學科強耦合分析算法只依賴于模型的接口信息,接口指的是兩個模型的連接或共同的表面。接口可以用一組有限元模型中的接口節(jié)點或者一組多體動力學模型的鉸鏈來表征。典型的接口信息分為運動信息和力信息。運動信息包括接口的位移、速度和加速度,力信息指的是接口傳遞的力與力矩。
耦合任何機械系統(tǒng),力學原則要求接口處滿足兩組條件:
(1)力的大小,即接口力必須滿足作用力與反作用力的平衡方程。
(2)接口處的運動量,必須要滿足兼容條件。
如果定義好一組滿足平衡條件的接口力變量,那么在耦合過程中只需要考慮運動量的兼容性條件。在這種情況下,接口力變量可以視為接口運動量的函數(shù),并且這些接口力變量可以利用運動信息和兼容條件進行更新迭代。類似地,如果定義好一組合適的接口運動變量,即接口運動變量滿足兼容性條件,那么在耦合過程中只需考慮接口力的平衡方程。在后者情況下,接口運動變量是接口力變量的函數(shù),它們通過接口力的平衡條件來更新。兩種不同的方式可以衍生出不同的耦合策略。
圖1展示了T-T戰(zhàn)略,以兩個子系統(tǒng)的情況為例進行說明。在這個戰(zhàn)略中,兩個子系統(tǒng)模型的接口處的運動數(shù)量被用作耦合器的輸入。兩個模型的接口力向量和耦合器輸出,將被用于子系統(tǒng)模型的下一步計算。
圖2說明了X-T耦合戰(zhàn)略。在這個方法中,兩個模型的接口向量和被用作耦合器的輸入。向量和是耦合器的輸出(其中X代表位移,T代表力)。
圖1 T-T方法
圖2 X-T方法
下面以第二種情形為例闡述粘合算法的原理。
假設(shè)X是合理定義的接口運動向量,其包含了必要和足夠的變量能夠代表接口的運動向量空間;F是合理定義的接口力向量,其包含了必要和足夠的變量能夠代表接口的力向量空間。并且X-T策略中接口位移X是自平衡,即如果接口處耦合輸入信息是X,此接口自動滿足位移兼容條件。e作為一個誤差測量向量代表了接口力向量偏差,其中e=0表明接口力向量滿足平衡條件。在通常情況,e可視為校正力變量Fc的函數(shù),即
由于采用X-T耦合策略,運動向量自動滿足兼容條件,那么粘合算法的唯一目標就是使得e等于零,即找到適當?shù)腇c滿足
方程(2)定義了一組(線性或非線性)方程,可以通過選擇適當?shù)乃惴ǎň€性或非線性)方程求解器來解決。首先可以嘗試使用擬牛頓法BFGS[8]進行求解,定義T接口校正力變量的初值為,其中yk是梯度差,Bk是Hesse矩陣。
然而工程絕大多數(shù)問題都是大規(guī)模、強非線性問題,BFGS算法雖然計算速度快,但是收斂上存在一定的魯棒問題,因此需要研究更多高效穩(wěn)定的迭代方法,例如LM+TrustRegion[9]方法:
方程(3)以及方程(4)表明可以只利用接口的信息來獲得適當?shù)男Uc,使得接口滿足力平衡條件。工程實踐中,隱式算法首先使用BFGS算法進行初步計算,迭代過程中發(fā)現(xiàn)若不容易收斂,切換至LM+TrustRegion算法計算,這樣既能保證收斂穩(wěn)定性,同時又能提高計算速度。
在多學科耦合過程中多體動力學計算與結(jié)構(gòu)有限元計算存在一個時間步的延遲,迭代不易收斂或者不收斂,可采用近似模型技術(shù)進行預測解決此問題,具體算法步驟如下:
(1)對預測量的時間序列進行差分平穩(wěn)化;
(2)建立時間序列分析模型;
(3)進行模型參數(shù)估計并驗證模型;
(3)還原差分進行預測。
如前所述,多學科強耦合算法需要各子模型邊界上的力與運動信息,在實際問題中,各子模型都是在各自的分析軟件中求解,因此如何將多學科強耦合算法嵌入至商業(yè)化軟件中,是首要解決的問題。比較理想的情況是直接針對商業(yè)化軟件的內(nèi)存進行操作來讀取相應模型的信息,但這樣涉及到各商業(yè)化軟件的底層操作,需要商業(yè)化軟件開放底層信息,實現(xiàn)起來工作量較大。本文在研究過程中,利用分析軟件提供的程序外部接口,將每個子模型的仿真控制信息及計算結(jié)果進行存儲,然后利用程序重新啟動的命令來實現(xiàn)不同軟件的信息傳遞及耦合。圖3顯示了ADAMS與ABAQUS聯(lián)合分析的程序流程,在每一仿真步,ADAMS與ABAQUS分別對相應的子模型進行求解,并將子模型的仿真控制參數(shù)及結(jié)果信息保存至文本中。Mega-Solver粘合算法從結(jié)果文件中讀取相應的邊界運動信息,判斷是否滿足容差條件,如果滿足,則進行下一步求解;如不滿足,則根據(jù)迭代算法計算新的邊界載荷向量,同時更新模型文件中相應的載荷信息,退回到當前步仿真起始點,調(diào)用當前步存儲的模型控制參數(shù)文件,利用重啟動命令重新進行當前步的分析。
圖3 ADAMS與ABAQUS強耦合分析流程
多學科強耦合算法“分而治之”的建模思想,使得分布式建模的技術(shù)手段變得比較容易實現(xiàn)[12][13],因為Mega-Solver粘合算法只需要子模型的邊界信息,不需要模型的詳細內(nèi)部結(jié)構(gòu),因此可以在不同的客戶機上仿真不同子模型的特性,將子模型的分析結(jié)構(gòu)通過數(shù)據(jù)傳輸?shù)姆绞絺鬟f給主機,在主機上運行多學科強耦合Mega-Solver的主程序,通過粘合算法將各子模型的邊界信息進行耦合,再將粘合算法的計算結(jié)果傳遞給各子模型進行迭代求解,從而完成整個系統(tǒng)的耦合分析。
本文在研究過程中,建立了基于OPC技術(shù)的分布式仿真平臺,如圖4所示?;诙囿w與有限元耦合技術(shù),利用MATLAB語言為主控機編寫了控制代碼,通過OPC服務器技術(shù)可以實現(xiàn)對客戶機分配任務及傳遞客戶機的計算結(jié)果;為客戶機編寫了計算控制代碼,可以接受或等待主機分配計算任務并接受主機傳遞的計算結(jié)果數(shù)據(jù),根據(jù)計算需要可以連接多臺客戶機。
圖4 基于OPC的多學科強耦合分布式分析技術(shù)
根據(jù)前述多學科強耦合算法原理,考慮多體動力學耦合分析案例。如圖5所示,在ADAMS中,將一根桿的一端用襯套固定在大地上,另一端加正弦激勵。將桿從中間一分為二,邊界節(jié)點用物體局部Marker表示,擁有6個自由度;節(jié)點之間的相互作用力通過廣義力作用在物體I和物體II上。兩個子模型分別在AD?AMS中進行求解,利用耦合算法進行耦合求解。
圖5 多體動力學強耦合分析案例
圖6 為耦合求解結(jié)果與ADAMS整體求解結(jié)果的對比,從圖中可以看出,耦合算法較精確地模擬了整體系統(tǒng)的運動。
為驗證Mega-Solver算法的分析精度,采用簡易的鋼板彈簧結(jié)構(gòu),其兩端的鏈接方式如圖7所示,在梁的中間施加載荷。傳統(tǒng)的ADAMSFlex在分析過程中,采用模態(tài)疊加的方法,因此在大變形、非線性區(qū)時模型的誤差較大,通過多學科強耦合聯(lián)合分析技術(shù),可以直接耦合ADAMS的動力學分析模型與板簧的有限元模型,因而分析精度大幅提升,圖8為采用Mega-Solver耦合算法、ADAMSFlex及有限元算法的精度對比,可以看出,采用耦合算法后,分析結(jié)構(gòu)與有限元的分析精度基本吻合,而ADAMSFlex在大變形時與有限元的計算結(jié)果偏差較大。
圖6 多體動力學耦合案例仿真結(jié)果
圖7 多體動力學與有限元耦合分析案例
圖8 多體動力學與有限元耦合結(jié)果
利用多學科強耦合分析技術(shù)實現(xiàn)了整車的耦合分析建模,其中底盤系統(tǒng)利用動力學軟件求解,如圖9所示,車身在有限元中進行求解,如圖10所示。每一計算步,底盤與車身在連接點處進行力與運動信息的交換,通過粘合算法進行綜合求解。
利用多學科強耦合Mega-Solver算法,可以實現(xiàn)多學科、多軟件的強耦合分析。Mega-Solver算法只需要界面的力與運動信息,而不必關(guān)注各子模型的內(nèi)部詳細結(jié)構(gòu),從而可以進行分層模塊化的建模及分析工作。由于模型的模塊化處理,可以通過分布式技術(shù)實現(xiàn)子模型的同步求解,大大提高了分析的效率;同時,由于Mega-Solver本質(zhì)上實現(xiàn)了求解器之間的耦合分析,可以充分發(fā)揮不同求解器的優(yōu)勢,在處理強非線性、接觸等問題時可以進一步提升分析精度。
圖9 耦合分析底盤子模型
目前,Mega-Solver粘合算法的穩(wěn)定性仍有待進一步研究,通過引入多種迭代方法相結(jié)合以及多步法等技術(shù)手段,提高算法的魯棒性。