完顏振海+梁磊+楊亮+沈志軍+羅軍



摘要: 為提高數值仿真后處理的效率,滿足分布式仿真系統在數值仿真數據方面的可視化需求以及實現仿真試驗過程的可視化,基于EnSight的二次開發開展數值仿真可視化系統設計.提出基于Qt開發框架的系統集成、基于Python的功能開發和基于Socket的通信接口開發,實現具有協同功能的數值仿真可視化系統.該系統采用模板化技術實現帶場景的可視化和快速后處理功能.給出系統架構、組成、實現效果及應用案例.應用結果表明:該系統能夠適應多仿真類型結果分析,實現動態仿真過程的協同可視化.
關鍵詞: 分布式仿真系統; 數值仿真; 后處理; 可視化; 協同系統
中圖分類號: TP311.1文獻標志碼: B
Abstract: To improve the postprocessing efficiency for numerical simulation, satisfy the requirements of distributed simulation systems on numerical simulation data visualization and fulfill the numerical simulation process visualization, a system is designed on the basis of secondary development of EnSight. The system integration is implemented by Qt, the functions are developed by Python, and the communication interfaces are designed with Socket. So the visualized numerical simulation system with collaborative functions is developed. The system architecture, components, implementation results and application cases are also given. The application results show that, the system can be applied in the analysis on various types of simulation results and implement collaborative visualizations during dynamic simulation.
Key words: distributed simulation system; numerical simulation; postprocessing; visualization; collaborative system
0引言
CAE包括結構有限元分析、計算流體力學和多體動力學等,在產品研發和設計中的應用越來越廣泛,已經成為一種非常重要的現代工程輔助設計方法.隨著計算理論以及計算機硬件和軟件的發展,利用CAE技術對復雜的工程問題進行精確模擬和分析已經成為可能.然而,CAE計算過程的可視化和計算結果的后處理仍然是薄弱環節:一方面有些分析計算是很漫長的過程,例如流體力學分析即使利用高性能計算平臺也需要數天甚至數星期的時間,而現有的計算過程的可視化不完善,如果等計算全部完成再檢查分析結果,一旦發現分析有誤再重新計算會浪費大量的時間和計算資源;另一方面,CAE計算結果的后處理往往需要花費大量的時間,有些有限元分析后處理的時間甚至比計算時間還長,特別是對于多工況分析應用,計算結果的處理分析需要花費更多的時間[1].隨著CAE應用的深入,多物理場耦合分析開始受到越來越多的重視,耦合分析往往需要多個求解器,其分析結果難以進行統一的顯示和后處理.因此,開發高效適用的可視化系統是充分發揮CAE功效的重要途徑之一,在此基礎上構建可視化協同系統是實現分布式數值仿真的重要支撐.
CAE數值仿真的可視化,也可稱作科學計算可視化,最早由美國國家科學基金會在1986年召開的一次關于科學計算與圖形學及圖像處理的討論會上提出,是將計算機圖形學和圖像處理技術應用到科學計算領域,將科學計算過程中產生的數據轉換為直觀的圖形或圖像在屏幕上顯示并進行交互處理的理論、方法和技術,涉及到計算機圖形學、計算機輔助設計、圖像處理、計算機視覺及人機交互技術等多個領域.[2]現有CAE軟件的可視化和后處理功能以軟件自帶的后處理模塊為主,各軟件后處理模塊大部分針對軟件專有的仿真數據格式,因此相關數據的可視化和后處理必須借助該仿真軟件才能使用[3],無法滿足多專業耦合仿真應用分析結果的展現、分析研究和協同的需要.同時,一些軟件的后處理不具備并行計算和渲染能力,導致后處理時間過長,特別是對于一些多工況分析的后處理,需要大量的重復勞動.[46]由于各類分析軟件種類差異較大,很難適應多專業耦合仿真分析結果的可視化需求,也造成不同專業研究人員之間交流不便.
考慮到各種CAE結果的數據格式差異,可視化顯示和結果后處理較為復雜,因此要求系統具有良好的適應性,同時考慮到后續發展,該系統還要具備擴展性,能夠支持多種CAE結果的可視化工作,包括常用的Abaqus,Nastran,ANSYS,LSDYNA,FLUENT和CFX等常用的CAE軟件.專業科學計算可視化軟件能夠適應不同的數據格式,但是軟件自身無法實現自動可視化和后處理功能,也不能實現分布式仿真應用的協同支持,需要進行二次開發.
目前,能夠支持多類型CAE結果數據可視化和后處理的專業軟件主要有AVS/Express,EnSight和Tecplot等.AVS/Express是面向對象、基于虛擬編程范例的模塊化三維可視化開發環境,具有跨平臺的應用能力,可開發能力強,但CAE軟件接口更新較慢.Tecplot主要支持計算流體力學類軟件的后處理,對各類有限元分析的支持稍顯不足.EnSight可支持多種類型CAE軟件數據的可視化和后處理,包括常用的有限元分析軟件、計算流體力學軟件、多體動力學軟件和CAD軟件,同時該軟件也具備較好的二次開發能力,支持沉浸式虛擬現實設備,因此選擇在EnSight上進行開發.
1EnSight簡介
EnSight是面向工程應用的科學工程可視化與后處理軟件,支持多種操作系統,包括Linux/Unix平臺,Windows平臺和MacOS平臺等.EnSight特點如下:(1)支持多類型數據格式.該軟件支持大多數主流CAE程序接口和數據格式,包括50多種CAE和CAD軟件,支持多個數據集,能夠支持計算流體力學、有限元分析、計算機輔助設計和多體動力學結果的聯合展示,具備多專業耦合分析結果顯示能力;(2)支持服務器/客戶端運行模式.該軟件可以隨意訪問任意地點的數據,采用的服務器/客戶端運行模式具有快速、穩定和跨平臺的優點;(3)二次開發能力.該軟件支持用戶界面定制,可使用開源編程語言Python對EnSight的功能進行腳本編程[7].
2系統架構及組成
2.1系統架構
在EnSight提供的應用模塊接口的基礎上,使用Python作為開發語言,采用Qt開發框架作為軟件集成開發環境,系統架構示意見圖1.
系統完整地集成EnSight的圖形界面,并允許用戶進行定制,以最大程度地滿足實際應用的需要.開發通信和數據接口,支持系統獨立運行和協同運行2種工作模式:獨立運行時可以作為單獨的可視化后處理系統,支持各類分析結果的回放和輸出;協同運行時可以接收來自分布式仿真平臺的顯示命令和數據,進行仿真過程中的可視化顯示以及仿真結束后的后處理.
2.2系統組成
根據獨立和協同工作的需求,系統由4部分組成,分別為系統界面模塊、總線通信模塊、可視化顯示模塊和后處理輸出模塊.系統完整集成EnSight的圖形顯示窗口,并提供統一的用戶界面和管理功能.總線通信模塊提供總線通信API,基于Socket通信模式能夠接收總線的命令信息和數據,并執行相應的操作.系統根據總線命令進行初始化,包括選擇應用場景、啟動可視化顯示.來自總線的數據包含數據模型信息、視景模型信息、應用場景信息、關鍵的監視參數信息、數據存儲位置信息等,通過這些信息可視化系統可以自動讀入要顯示和處理的數據,并給出相應的顯示結果.系統總線通信示意見圖2.
可視化顯示模塊是系統的核心組成部分,其功能基于應用場景模板,用于仿真過程或結果數據的展現,包含數據預處理功能、顯示控制功能和交互處理功能.數據預處理功能既能對仿真結果數據進行預處理,包括仿真部件的管理、變量的創建、動作信息等,也能對視景模型進行預處理,包括匹配仿真模型進行大小縮放、相對位置定義等.顯示控制功能基于模板提供的控制面板,實現對顯示效果的控制以及多視口顯示等功能,例如對于計算流體力學分析結果,可以實現云圖、矢量圖、等值線和等值面、流線和粒子追蹤等顯示效果的控制,可以分別顯示在不同的視窗當中.交互處理功能通過對圖形顯示界面進行交互式操作,能夠實現模型及場景的縮放和旋轉等功能,以實現全方位的展示和分析.
后處理輸出模塊也是系統的核心組成部分,其功能同樣基于應用場景模板,用于仿真數據可視化結果輸出,包含結果分析、渲染輸出、生成報告3方面的功能.結果分析可以實現單工況分析結果參數提取、瞬態結果的時間歷程分析,也可以給出不同工況下結果的對比分析.渲染輸出將分析結果以高分辨率的圖片、動畫、視頻的形式以及虛擬現實數據格式輸出.生成報告功能則根據模板實現分析結果的自動生成,報告的內容包括各類分析結果及相應的圖片.
3系統實現及應用案例
3.1系統實現
為實現系統的功能,分別對EnSight的Server和Client進行二次開發,其中系統的各功能模塊均在Client端開發,Server端配合系統的輸入接口模塊和總線通信模塊開發自動數據更新系統.系統集成EnSight的圖形窗口,通過Driver發送命令給EnSight,調用其可視化和后處理功能.
在系統界面功能方面,通過動態生成Python腳本隱藏EnSight菜單欄、工具欄、列表面板等界面元素.考慮到高級用戶的需求,允許用戶對EnSight圖形顯示窗口進行定制,最大程度地滿足實際應用的需要.
在總線通信方面,可視化協同系統與分布式應用系統的主控系統之間采用基于以太網Socket鏈路發送TCP/IP消息機制收發控制信息,通過二次開發實現由部署在仿真端的EnSight服務器端讀取CAE仿真結果,然后通過EnSight自身的網絡傳輸方式實現顯示數據的推送,總線配置模塊見圖3.
模板可以方便地實現軟件擴展和重用.[8]可視化顯示模塊通過Python實現定制化的應用場景模板,包括仿真數據的顯示樣式、顯示效果以及與視景仿真的結合等.對于不同的應用來說,系統提供應用場景模板的管理和更改,帶場景背景的可視化效果見圖4.
后處理輸出模塊采用定制的模板庫控制輸出結果的樣式和格式,樣式包括云圖、矢量圖等,格式包括圖片、視頻和立體動畫等.模板庫定義語句為
……
顯示接口模塊通過二次開發調用EnSight實現相應的功能,包括支持顯示屏、投影設備以及沉浸式虛擬現實設備等.
3.2應用案例
分別以計算流體力學仿真結果和結構有限元仿真結果開展應用案例分析.計算流體力學仿真采用FLUENT對圓柱體繞流的穩態流場進行仿真分析.結構有限元仿真采用LSDYNA對小汽車碰撞防護欄過程進行顯式動力分析.
對于FLUENT仿真結果分析,數值仿真可視化系統處于獨立運行模式,用于對不同工況下的仿真結果進行快速處理,包括云圖、矢量圖、流線圖以及曲線圖等,后處理系統界面及功能模板見圖5.
對于LSDYNA仿真過程的可視化,數值仿真可視化系統處于協同工作模式,并由仿真主控系統接收來自仿真計算軟件的數據,實現仿真過程可視化顯示,見圖6.仿真結束后,系統也可以對仿真結果進行后處理,例如顯示不同部件和節點單元的詳細信息,碰撞仿真結果的后處理見圖7.
4應用前景分析
基于EnSight的數值仿真可視化協同系統支持多種應用場景,并且在以下方面發揮巨大優勢.
4.1顯著提高工程仿真效率
系統在以下3個方面大大提高工程仿真后處理的效率.首先,由于系統通過應用模板的方式實現自動化的可視化顯示和后處理輸出,模板具有無限擴展能力,因此只需通過一次定制可以實現重復使用,尤其在多工況分析等應用場景,可以顯著減少仿真分析時間.其次,使用系統的仿真過程可視化功能可以避免必須仿真結束后才能判讀結果的情況,大大增強仿真過程的可控性.最后,當前大多數復雜工程應用一般采用圖形工作站進行前后處理、高性能計算服務器求解的方式,仿真數據的后處理需要從服務器上把計算結果下載到本地,大量數據下載導致人力物力浪費,而該系統能夠跨操作系統使用,無須將高性能計算系統上的仿真結果下載到本地,從而可以節省大量時間.
4.2可以提供協同的仿真分析環境
目前,航空航天產品的協同設計正逐漸從數字樣機向虛擬樣機轉變[910],通過可視化協同系統可以實現虛擬樣機的協同,支持不同專業的仿真工程師和設計工程師共同進行產品的設計與改進.特別是對于復雜環境條件下的工程產品分析,由于需要多物理場耦合分析,仿真過程和結果分析需要各個專業的設計師共同參與,所以此可視化協同系統可以作為研究媒介和手段,為不同專業開展協同仿真分析提供環境.參考文獻:
[1]喬愛科, 張乃龍, 孫洪鵬, 等. 鋼結構CAE的簡潔可視化后處理[J]. 北京工業大學學報, 2005, 31(3): 313317.
QIAO A K, ZHANG N L, SUN H P, et al. Postprocessing with concise visualization of CAE of steel structure[J]. Journal of Beijing University of Technology, 2005, 31(3): 313317.
[2]DeFANTI T A, BROWN M D, McCORMICK B H. Visualization: expanding scientific and engineering research opportunities[J]. Computer, 1989, 22(8): 1216. DOI: 10.1109/2.35195.
[3]汪旭, 田凌, 溫穎怡. 協同仿真信息可視化共享系統的設計和實現[J]. 工程圖學學報, 2011(2): 111117.
WANG X, TIAN L, WEN Y Y. Development of the visualization and sharing system on collaborative simulation information[J]. Journal of Engineering Graphics, 2011(2): 111117.
[4]孫國勇, 劉浙. 工程可視化仿真技術應用和發展[J]. 計算機仿真, 2006, 23(1): 176179.
SUN G Y, LIU Z. Application and development of engineering visual simulation[J]. Computer Simulation, 2006, 23(1): 176179.
[5]付正波. 機械系統虛擬樣機仿真結果可視化的研究與應用[D]. 武漢: 華中科技大學, 2006.
[6]唐儀. 基于體繪制的有限元分析結果可視化研究[D]. 廣州: 廣東工業大學, 2014.
[7]房俊杰, 陸正剛, 孫效杰. 基于Ensight的軌道車輛運行可視化研究[J]. 內燃機車, 2012(5): 2325.
FANG J J, LU Z G, SUN X J. Railway vehicle running visualization based on EnSight[J]. Diesel Locomotives, 2012(5): 2325.
[8]屠立, 張樹有, 陸長明. 基于知識模板的復雜產品設計重用方法研究[J]. 計算機集成制造系統, 2009, 15(6):10411048.
TU L, ZHANG S Y, LU C M. Design reuse method of complex product based on knowledge template[J]. Computer Integrated Manufacturing Systems, 2009, 15(6): 10411048.
[9]韓祥蘭, 吳慧中, 張建明, 等. 大型武器系統虛擬采辦方案研究[J]. 南京理工大學學報, 2005, 29(1):3034.
HAN X L, WU H Z, ZHANG J M, et al. Inland approach of applying simulation based acquisition to major weapon systems[J]. Journal of Nanjing University of Science and Technology, 2005, 29(1):3034.
[10]李伯虎, 柴旭東, 朱文海, 等. SBA支撐環境技術的研究[J]. 系統仿真學報, 2004, 16(2): 181185.
LI B H, CHAI X D, ZHU W H, et al. Supporting environment technology of simulation based acquisition[J]. Journal of System Simulation, 2004, 16(2): 181185.(編輯武曉英)