宋歡儒 田野 臧晶 冷豐汐



摘? 要:隨著仿真技術的發展,仿真模擬驗證越來越重要。然而多學科仿真致使仿真過程中產生的代數環問題還未得到重視。為了解決聯合仿真中的代數環問題,該文對牛頓下山法進行優化,通過替換雅可比矩陣提高計算速度,并將算法應用在FMI聯合仿真系統中,成功驗證了優化后的代數環求解算法的有效性與實用性。
關鍵詞:FMI仿真系統? 代數環? 牛頓下山? 求解算法
中圖分類號:TP393.08? ? ? ? ? ? ? ? ? ? 文獻標識碼:A文章編號:1672-3791(2021)05(b)-0053-03
Abstract: With the development of simulation technology, the simulation verification of actual industrial products is becoming more and more important. However, the problem of algebraic loop caused by multidisciplinary simulation has not been cared by most people. This paper optimized the Newton Downhill method to improve the calculation speed by replacing the Jacobian Matrix to solve the algebraic ring problem in the co-simulation, and applied the algorithm in the FMI co-simulation system, and successfully verified the effectiveness and practicability of the optimized algebraic ring solving algorithm.
Key Words: FMI Simulation System; Algebraic loop; Newton downhill method; Solution Algorithm
FMI標準的聯合仿真技術已被許多仿真軟件所使用,仿真過程中的代數環問題求解方案中,求解時間較長影響仿真速度。該文通過對代數環求解算法進行優化,替換需要較長計算時間的雅可比矩陣,并將優化算法應用在FMI仿真系統中,在解決代數環問題的同時,提高仿真速度[1-2]。
1? 優化代數環求解算法設計
聯合仿真過程中的代數環問題就是由仿真模型之間的耦合關系造成的,即為各模型之間的連接構成環路,無法確定輸出輸入順序的問題[3]。將其解析為數學問題即為對非線性方程組的求解問題[4]。該文設計牛頓下山法對非線性方程組進行求解[5-6],整個流程分為3個部分:一是對各參數、變量進行定義與設計;二是符合下山條件后的迭代計算;三是不符合下山條件后通過修正向量值直至達到下山條件要求。算法流程圖見圖1。
使用python語言對牛頓下山代數環求解算法進行仿真方法設計,具體如下。
(1)設計main( )主函數,可修改函數中所存儲的方程組內容,包括方程組等式、向量等。
(2)設計down( )函數,完成定義變量、設計求解表達式中包含差分函數等函數表達式。
(3)設計done( )函數,實現牛頓下山算法過程中的下山判決及對非線性方程組求解的迭代循環。
設計差分方法對原算法中的雅可比矩陣進行替換,即為該文的優化代數環求解算法。優化后的求解迭代式為:
2? 仿真與分析
為了驗證該文設計的優化代數環求解算法的正確性及高效性,將算法應用在FMI仿真系統中進行模擬驗證,并對仿真結果進行分析。將仿真模型飛行員、風模型、變體制動器、飛行器動態模型、控制器連接成仿真模型耦合圖,具體見圖2。對變體制動器的輸出端口2進行仿真結果分析。提示仿真模型耦合圖中含有代數環結構提示,具體見圖3。
未優化的代數環求解算法仿真結果見圖4,優化后的代數環求解算法仿真結果見圖5。
將仿真過程中后臺的仿真日志進行截取,對優化前后的代數環求解算法的計算時間進行對比見圖6、圖7。
對比兩次仿真結果,可以看出優化后的代數環求解算法可以對代數環問題進行正確求解;且優化后的代數環求解算法的計算時間為0.548 080 s,比未優化時所用的時間0.697 038 s短。因而可驗證該文設計的基于FMI仿真系統的代數環求解算法的正確性和高效性。
3? 結語
該文首先對FMI仿真系統仿真過程的代數環問題進行闡述,提出利用牛頓下山法的代數環求解算法,并在原有算法基礎上對其進行優化,設計差分函數替換雅可比矩陣從而提高算法的計算速度。最后在FMI仿真系統中對含代數環結構的仿真模型耦合系統進行仿真模擬驗證,通過對仿真結果及后臺日志數據的對比,為代數環求解算法的正確性提供了驗證。
參考文獻
[1] 郭永.編隊飛行航天器有限時間協同控制[D].哈爾濱工業大學,2016.
[2] 胡全義.基于鍵合圖的多領域統一建模與仿真技術研究[D].大連理工大學,2017.
[3] 李志鵬,馬龍祥,孟旭,等.基于Matlab的SAW模態耦合模型的仿真研究[J].重慶理工大學學報:自然科學版,2018,32(4):10-15.
[4] 王靜,孫春虎,方愿捷.基于牛頓迭代控制的分區動態無功補償建模與仿真[J].巢湖學院學報,2020,22(6):104-114.
[5] 冷豐汐,陳永恒.一種求解代數環問題的python仿真實現方法[J].電子世界,2020(15):93-94.
[6] 王樂成,赫亞蘭,韓新麗,等.對牛頓迭代法的改進[J].高師理科學刊,2020,40(3):23-26.