曹志松 ,劉紹然,裴一飛
(1. 可靠性與環(huán)境工程技術重點實驗室;2. 北京衛(wèi)星環(huán)境工程研究所:北京 100094)
衛(wèi)星虛擬熱試驗技術是指在虛擬熱試驗平臺所構建的虛擬熱試驗環(huán)境中,利用建立的衛(wèi)星熱物理數字模型開展試驗研究,獲得衛(wèi)星隨時間和外熱流而變化的溫度場分布[1],以驗證衛(wèi)星的熱設計;另外通過試驗得到的能夠反映衛(wèi)星溫度場的特性參數,對衛(wèi)星的熱物理數字模型進行修正。為了達到這個目的,國內外都在開展衛(wèi)星虛擬熱試驗技術研究。
目前國外已有一些和虛擬熱試驗平臺相似的軟件,但都不具備完整獨立的建模模塊。例如NEVADA[2]軟件在建立模型時要通過用戶輸入一些固定格式的文本來實現,使用起來很不方便;而Thermal Desktop軟件建模時則要通過與AutoCAD耦合來實現,同樣會受到很多制約。
北京衛(wèi)星環(huán)境工程研究所也開展了衛(wèi)星虛擬熱試驗技術研究,自主研發(fā)了衛(wèi)星虛擬熱試驗平臺。它由多個相對獨立的功能模塊構成,各個模塊之間不能直接進行數據交換,數據傳輸需要借助數據庫進行,即各模塊從數據庫檢索并確認源數據,然后讀取源數據并完成特定的任務計算,計算后只需要將計算結果寫入數據庫中相應的位置。由于熱試驗系統的結構都很復雜,包含熱沉、紅外加熱裝置、支架等,加熱條帶的數量多達數千根,同時會有各種位置的開孔。本文開發(fā)的建模工具具有很強的功能,可以根據紅外籠的框架形狀、條帶間距以及用戶輸入的其他參數自動的生成紅外籠模型;還可以用于基于紅外燈陣的加熱籠模型建立,具有模型結構的調整功能。此外,本衛(wèi)星虛擬熱試驗平臺建模工具在三維建模時是一個完全的可視化過程。下面將重點介紹衛(wèi)星虛擬熱試驗平臺建模工具模塊。
虛擬熱試驗平臺的框架結構如圖1所示。首先利用建模工具模塊創(chuàng)建或者從外部導入衛(wèi)星數字模型及試驗系統數字模型,并建立與測控系統以及衛(wèi)星的工作狀態(tài)的接口,然后利用平臺的核心求解器進行模型數值計算,最后對計算結果進行分析。
1)建模工具模塊
虛擬熱試驗平臺的建模工具模塊包含有立方體、球體和圓柱體3種基本幾何體,通過幾何體的選取可進行幾乎任意幾何形狀的建模;能進行幾何體間的布爾運算,比如聯合、交集、一減二運算以及二減一運算等等;還可以進行基于數學函數的曲線、多面體、管道等建模并劃分網格。
圖1 虛擬熱試驗平臺框架結構圖Fig. 1 Frame structure of virtual thermal test platform
如圖 2(a)為建模工具模塊所建立的管道模型示意圖,圖2(b)為管道模型及網格劃分。
圖2 管道模型及其網格Fig. 2 Pipeline model and its grids
2)虛擬熱試驗平臺對模型的接口
虛擬熱試驗平臺對模型的接口描述采用“整體-局部”分層對象組合策略,為表現試驗系統的物理結構提供了強大的功能。試驗系統一般由衛(wèi)星、熱沉、紅外加熱籠、紅外燈陣以及工裝支架等組成。可以利用分層對象組合策略來組建試驗系統模型,以紅外加熱籠為例:可以將紅外加熱籠的結構分解成若干分區(qū),針對每個分區(qū)都可以在軟件模型中表示成一個對象,再將它們組合起來形成紅外加熱籠;針對分區(qū)對象,還可以進一步分解成子分區(qū)對象。圖3是試驗系統樹型結構示意圖。
圖3 試驗系統樹型結構Fig. 3 Tree structure of test system
從圖3看,虛擬熱試驗平臺的模型結構是一個遞推的分層結構,即系統可以分解成各個子系統,而子系統還可以再進行細分,因此系統結構模型是一個樹型結構。描述這種分層結構的數據表有兩種方法:鄰接列表模式和預排序遍歷樹算法。下面比較兩種樹型數據結構的實現:
1)鄰接列表模式
所謂鄰接列表模式(adjacency list mode)是通過給每個節(jié)點增加一個屬性來表示這個節(jié)點的父節(jié)點(parent ),從而將整個樹狀結構以表的形式描述出來[3],如表1所示。
表1 紅外加熱籠分區(qū)結構鄰接數據列表Table 1 Adjacency list of infrared cage sub-areas
如此一來,可以從根節(jié)點知道到任意節(jié)點的路徑。比如“3級子部件 1-1-1”的路徑是“試驗系統>紅外加熱器>紅外加熱籠>主分區(qū) 1”。為了得到這樣的一個路徑,需要從最末級開始查詢得到它的父節(jié)點“紅外加熱籠”,并把它添加到路徑中;然后再查詢“紅外加熱籠”的父節(jié)點并把它也添加到路徑中;以此類推直到最高層的“試驗系統” 。這種方法比較簡單,容易理解。但是也有缺點,主要表現為運行速度很慢,由于尋找每個節(jié)點都需要進行數據庫查詢,在數據量大的時候,要進行很多查詢才能完成一個樹的遍歷;另外由于要進行遞歸運算,遞歸的每一級都需要占用一些內存,所以其空間利用效率也比較低。
2)預排序遍歷樹算法
預排序遍歷樹算法(modified preorder tree traversal algorithm)不需要使用遞歸計算,可以實現更加快速的遍歷。針對圖3所示的樹,首先將每層的結構編排一個序號,如在根節(jié)點“試驗系統“的左側標寫序號 1;再沿著這個樹向下層搜尋,在“衛(wèi)星“的左側寫上序號 2;然后繼續(xù)前進給每層結構的每一個節(jié)點都標上序號??梢詫⑦@些節(jié)點的序號值lft、rgt存儲到數據庫中,如表2所示。
表2 紅外加熱籠分區(qū)結構預排序遍歷樹算法數據表Table 2 Variables inmodified preordered tree traversal algorithm of infrared cage sub-areas
這種方法不使用遞歸查詢算法,具有更高的查詢效率。例如當需要得到“某項下的所有節(jié)點,就可以這樣寫查詢語句:
SELECT * FROM engElement WHERE lft BETWEEN num1 AND num2 ORDER BY lft ASC;
要獲知一個節(jié)點的路徑比較簡單,如果想知道某節(jié)點的路徑,就利用它的序號左右值 num1和num2來做一個查詢,其語句為:
SELECT name FROM engElementWHERE lft
某個節(jié)點的子孫節(jié)點數目計算也很簡單:子孫總數=(右值-左值-1)/2。
本建模工具模塊除了可以根據用戶需求創(chuàng)建出任意形狀的幾何體外,也提供了與 Pro/E[4]、SolidWorks等商業(yè)軟件的接口,用戶可以將這些商業(yè)軟件中的模型導入虛擬熱試驗平臺中。此外,建模工具可以直接存取NEVADA軟件的文件格式,從而方便地進行熱分析計算。
本軟件的建模工具與一般商業(yè)建模造型軟件最大的區(qū)別在于它的服務對象,可以很方便地進行試驗設備模型的建立。下面將介紹利用建模工具模塊來創(chuàng)建紅外加熱籠模型。
紅外加熱籠可以劃分成許多條帶,因此其分區(qū)是由這些條帶組成。劃分的條帶數量非常多,如果由用戶來完成每根條帶的建模,則工作量非常繁重,因此系統為用戶提供了自動批量生成條帶模型的工具。在用戶接口界面中,用戶首先需要輸入該分區(qū)的形狀參數(紅外加熱籠的分區(qū)形狀類型不多,主要有四邊形、三角形、圓柱面、圓錐面等);然后再輸入條帶拉伸方向、條帶間隔等參數,就可以自動生成條帶。同時,一個分區(qū)為了條帶布置方便以及電源的合理配置,往往還需要劃分很多子加熱分區(qū),它們一般是按照一定規(guī)律排列的,系統為其提供了自動劃分加熱分區(qū)的工具。
平臺為加熱籠的分區(qū)設計提供了參數設計界面,可以進行條帶寬度、死區(qū)高度、彈簧長度、擋板尺寸、最大電流等參數的設置。樹型菜單可以使用戶靈活的設置紅外加熱籠模型每一級分區(qū)的參數。
根據熱設計的結果,平臺自動進行紅外加熱籠條帶的生成,同時將結果保存在數據庫中,另外用戶還可以很方便地進行局部修改,這為下一步試驗系統的熱分析計算提供了有力的保證。圖4是使用本平臺的建模工具模塊對某型號的紅外加熱籠所建立的模型圖。
圖4 紅外加熱籠(含條帶)模型Fig. 4 Model of infrared cage with stripes
本文介紹了虛擬熱試驗平臺中的建模工具模塊,它既可建立幾乎任意幾何形狀的模型,又能作幾何體間的布爾運算并劃分網格;模型的接口描述采用“整體-局部”分層對象組合策略,所建立模型的數據保存在數據表中,采用預排序遍歷樹算法,而不是傳統的遞歸算法,具有更高的遍歷效率;建模工具模塊提供了與Pro/E、SolidWorks等商業(yè)軟件的接口,用戶可以方便地將商業(yè)軟件中的模型導入虛擬熱試驗平臺中。
(References)
[1]Luis R. The virtual test bed project, NASA/CR-2003-211527[R], 2003-12-15
[2]TAC Technologies Inc. Nevada user’s guide[G], 2004
[3]宛延凱. 工程數據庫系統[M]. 北京: 清華大學出版社,1999: 7
[4]吳立軍, 陳波. Pro/ENGINEER 二次開發(fā)技術基礎[M].北京: 電子工業(yè)出版社, 2006: 7