寧東坡 劉質(zhì)加 徐志明
(航天東方紅衛(wèi)星有限公司 北京 100094)
隨著衛(wèi)星功能日趨多樣化,衛(wèi)星受到越來越多用戶的青睞[1-2]。衛(wèi)星運(yùn)行在空間軌道中,所處空間環(huán)境情況復(fù)雜,對(duì)于熱控分系統(tǒng)設(shè)計(jì)來說,主要關(guān)注外部熱源[3](太陽輻射、地球反照和地球的紅外輻射)。衛(wèi)星各面外熱流的變化和大小直接影響散熱面的分布和星內(nèi)設(shè)備的布局,因此衛(wèi)星外熱流分析非常重要。
Justus等[4]根據(jù)建立太陽、地球、衛(wèi)星的相互位置和衛(wèi)星外形,建立起相互坐標(biāo)系關(guān)系,推算出衛(wèi)星在軌道上不同位置處各艙板的外熱流數(shù)值。然而這種數(shù)值解析來計(jì)算外熱流設(shè)計(jì)20多個(gè)參數(shù),需要的空間想象能力、數(shù)學(xué)推導(dǎo)能力較高。劉洋等[5]指出可以通過熱分析軟件計(jì)算外熱流,然而這種熱分析軟件計(jì)算的外熱流并不是軌道周期內(nèi)的平均外熱流,不能滿足衛(wèi)星熱控設(shè)計(jì)中的需要。
由于衛(wèi)星所處軌道不同,陽光和軌道面夾角在一年中變化劇烈,尤其傾斜軌道,陽光和軌道面夾角成周期性變化。為找到最大熱流和最小熱流需要計(jì)算多種工況的外熱流,而且由于常用分析外熱流的工具Thermal Desktop并不能直接輸出外熱流計(jì)算結(jié)果,需要使用該軟件的后處理工具對(duì)所生成的外熱流數(shù)據(jù)原文件進(jìn)行處理計(jì)算才能得到軌道周期平均外熱流[6]。整個(gè)后處理需要手動(dòng)計(jì)算導(dǎo)致計(jì)算量巨大,因此需要一種能夠自動(dòng)計(jì)算多種軌道、多種工況下的衛(wèi)星外熱流分析計(jì)算軟件,縮短計(jì)算時(shí)間,同時(shí)避免手動(dòng)進(jìn)行后處理帶來的錯(cuò)誤。
本文針對(duì)上述衛(wèi)星外熱流分析所面臨的問題,基于MATLAB[7-8]和Thermal Desktop軟件的接口,開發(fā)了能夠?qū)崿F(xiàn)衛(wèi)星多工況外熱流自動(dòng)計(jì)算分析的軟件,減少了手動(dòng)的步驟,縮短了衛(wèi)星外熱流分析的時(shí)間。
衛(wèi)星外熱流分析是衛(wèi)星熱控分系統(tǒng)設(shè)計(jì)中一個(gè)重要環(huán)節(jié)[9]。熱控分系統(tǒng)作為衛(wèi)星的主要分系統(tǒng)之一,需要對(duì)外熱流變化情況進(jìn)行分析,給出衛(wèi)星壽命內(nèi)不同位置外熱流計(jì)算結(jié)果,以確定整星散熱面位置和整星高低溫工況提供設(shè)計(jì)和計(jì)算的依據(jù)[10]。
基于AutoCAD軟件環(huán)境的Thermal Desktop,是美國(guó)NASA的熱設(shè)計(jì)標(biāo)準(zhǔn)工具。在AutoCAD的Thermal Desktop模塊中可建立衛(wèi)星熱模型,賦予熱物理參數(shù)。然后輸入衛(wèi)星的軌道參數(shù)(包括空間環(huán)境參數(shù)和β角),進(jìn)行計(jì)算衛(wèi)星模擬在軌的溫度場(chǎng)計(jì)算。Thermal Desktop計(jì)算外熱流計(jì)算原理如圖1所示。
圖1 衛(wèi)星外熱流計(jì)算原理
如圖1所示,Thermal Desktop計(jì)算衛(wèi)星外熱流時(shí)需要提前設(shè)置一下把一個(gè)軌道等分成n+1個(gè)位置(圖中用POS 0~n表示),相鄰位置之間時(shí)間間隔相等。Thermal Desktop計(jì)算完一個(gè)工況后,可通過其后處理功能得到衛(wèi)星各艙板在一軌內(nèi)POS 0到POS n位置上對(duì)應(yīng)時(shí)刻外熱流,并輸出到Excel文件里。在Excel文件里對(duì)每塊艙板的一個(gè)軌道周期內(nèi)的每個(gè)時(shí)刻的外熱流數(shù)據(jù)求平均,便得到每塊艙板對(duì)應(yīng)的軌道周期平均外熱流。需要注意的是,由于該軟件在進(jìn)、出陰影區(qū)位置附近時(shí)刻自動(dòng)多2或3個(gè)時(shí)刻的外熱流數(shù)據(jù),因此在計(jì)算平均外熱流時(shí)需要將這些多余位置的外熱流數(shù)據(jù)刪除才能得到正確的周期平均外熱流[11]。
采用Thermal Desktop軟件進(jìn)行衛(wèi)星外熱流分析流程如圖2所示。
圖2 原有外熱流分析流程
圖2為計(jì)算一個(gè)工況外熱流的步驟,其中每個(gè)步驟都需要手動(dòng)操作。剔除數(shù)據(jù)文件中多余外熱流數(shù)據(jù)的過程是比較繁瑣的,而且易刪錯(cuò)數(shù)據(jù)。按照上述步驟計(jì)算一個(gè)工況大約需要180秒的時(shí)間,對(duì)于傾斜軌道需要分析的β角比較多,這樣總時(shí)間便會(huì)很長(zhǎng)。由于手動(dòng)處理,這個(gè)過程容易計(jì)算錯(cuò)誤而且很難察覺。
原有衛(wèi)星外熱流計(jì)算的缺點(diǎn)是過程繁瑣,而且手動(dòng)后處理易出現(xiàn)刪除正確位置的外熱流,對(duì)于需要計(jì)算多個(gè)β角的外熱流,重復(fù)進(jìn)行上述計(jì)算工作量大。
原有計(jì)算方法中大部分時(shí)間用來輸出儲(chǔ)存外熱流的數(shù)據(jù)文件和對(duì)數(shù)據(jù)文件后處理。對(duì)數(shù)據(jù)文件后處理可以通過MATLAB強(qiáng)大的數(shù)據(jù)處理能力實(shí)現(xiàn)。然而儲(chǔ)存有外熱流的數(shù)據(jù)文件Thermal Desktop并不能自動(dòng)輸出,查找計(jì)算中生成的文件中也沒有儲(chǔ)存到達(dá)外熱流的,只有生成衛(wèi)星表面吸收外熱流的數(shù)據(jù)文件。通過設(shè)置衛(wèi)星表面材料的吸收率為1,使得到達(dá)衛(wèi)星表面的外熱流全部被吸收,這樣Thermal Desktop所自動(dòng)輸出的外熱流數(shù)據(jù)文件中的外熱流在數(shù)值上即為衛(wèi)星表面到達(dá)的外熱流。
COM是公用的二進(jìn)制組件標(biāo)準(zhǔn),代表接口調(diào)用者和執(zhí)行者之間的通信約定,因此不同語言的軟件可通過COM組件來實(shí)現(xiàn)信息交換。Thermal Desktop支持COM組件作為二次開發(fā)的接口,MATLAB可以通過調(diào)用Thermal Desktop的COM組件的接口來和Thermal Desktop進(jìn)行通信。
解決重復(fù)輸入軌道、β角等參數(shù),重復(fù)進(jìn)行后處理的途徑是采用MATLAB通過接口調(diào)動(dòng)Thermal Desktop軟件。將軌道高度、β角、太陽輻射強(qiáng)度、地球反照率、地球紅外輻射強(qiáng)度參數(shù)化,通過Thermal Desktop接口能夠被計(jì)算人員通過MATLAB程序進(jìn)行指令輸入,加上循環(huán)實(shí)現(xiàn)多工況的自動(dòng)計(jì)算。
基于2.1節(jié)的方案設(shè)計(jì)思路編寫衛(wèi)星多工況外熱流自動(dòng)計(jì)算分析軟件。軟件架構(gòu)如圖3所示。
圖3 軟件架構(gòu)
整個(gè)軟件由用戶輸入層、MATLAB控制與計(jì)算分析層組成。其中用戶層是用戶通過GUI界面輸入所要計(jì)算衛(wèi)星外熱流所需要的輸入?yún)?shù)(軌道高度、太陽常數(shù)、地球反射率、地球輻射、β角范圍及計(jì)算步長(zhǎng))。輸入?yún)?shù)通過MATALB與Thermal Desktop之間的接口輸入到Thermal Desktop的熱模型中,并且Thermal Desktop接收MATLAB后臺(tái)控制程序的命令完成不同工況下的熱計(jì)算。
分析模塊是軟件中最核心的軟件模塊,實(shí)現(xiàn)了讀取Thermal Desktop計(jì)算完衛(wèi)星熱模型后的結(jié)果文件,對(duì)各艙板的熱流進(jìn)行篩查,剔除非等時(shí)間間距的熱流數(shù)據(jù)。軟件的分析模塊能夠通過字符串識(shí)別外熱流數(shù)據(jù)文件中分別為衛(wèi)星哪個(gè)艙板的外熱流,通過時(shí)間間隔對(duì)比刪除多余的外熱流數(shù)據(jù)。最后將外熱流求平均和求和,得到衛(wèi)星各面的軌道周期平均外熱流以及總外熱流,并且輸出得到所需格式的外熱流數(shù)據(jù)文件。
在使用軟件前需要先在Thermal Desktop中完成衛(wèi)星模型建立。衛(wèi)星熱模型在Thermal Desktop中建立完成后,將軌道參數(shù)、β角和熱環(huán)境等參數(shù)參數(shù)化,并通過Thermal Desktop接口使用Fortran編寫程序,使得這些參數(shù)能夠被MATLAB調(diào)用。以常見的立方體星為例,各面熱模型的名稱按照坐標(biāo)系分別命名為PX、PY、PZ、NX、NY、NZ,代表正X艙板、正Y艙板、正Z艙板、負(fù)X艙板、負(fù)Y艙板、負(fù)Z艙板。
為方便用戶操作,采用MATLAB的GUI[12-13]工具建立的衛(wèi)星外熱流計(jì)算分析軟件的操作界面,如圖4所示。該界面由初始化、空間環(huán)境設(shè)置、計(jì)算設(shè)置3部分組成?!俺跏蓟钡墓δ苤饕乔謇韮?nèi)存,刪除MATLAB工作空間的變量,防止計(jì)算出錯(cuò)。然后通過“讀取文件”功能讀取要分析的衛(wèi)星的熱模型,建立起MATLAB與Thermal Desktop之間的連接??臻g熱環(huán)境設(shè)置是輸入軌道高度與太陽常數(shù)、地球反照率、地球輻射等參數(shù)。對(duì)于一顆衛(wèi)星來說,軌道高度確定后不用再修改,其他3個(gè)參數(shù)和要計(jì)算的一年中的時(shí)刻有關(guān)。計(jì)算設(shè)置要求給出β角的上下限以及步長(zhǎng),計(jì)算在某時(shí)刻(冬至或者夏至)極限β角變化引起的衛(wèi)星外熱流變化是衛(wèi)星外熱流分析一般都要計(jì)算的工況。
圖4 軟件GUI界面
當(dāng)用戶點(diǎn)擊界面上的“計(jì)算”命令后,軟件開始驅(qū)動(dòng)Thermal Desktop進(jìn)行衛(wèi)星的外熱流計(jì)算。MATLAB會(huì)在每個(gè)工況計(jì)算完成后,分析數(shù)據(jù)并計(jì)算,然后進(jìn)行下一個(gè)工況計(jì)算,最后軟件輸出一個(gè)Excel文件,包含了各個(gè)工況下每個(gè)艙板的軌道周期平均外熱流和總外熱流。整個(gè)過程不需要人工參與,只需要等待結(jié)果輸出。
為比較本文涉及的衛(wèi)星外熱流多工況自動(dòng)分析計(jì)算軟件與原有計(jì)算方法的之間計(jì)算時(shí)間的差異和結(jié)果的準(zhǔn)確性。建立了一個(gè)衛(wèi)星模型進(jìn)行外熱流分析。
衛(wèi)星為長(zhǎng)方體構(gòu)型,空間熱環(huán)境參數(shù)如表1所示。分別使用原有分析方法和本文開發(fā)的軟件計(jì)算0°、5°、10°、15°、20°5個(gè)β角工況的衛(wèi)星外熱流。
表1 空間熱環(huán)境參數(shù)
圖5是軟件最后輸出的計(jì)算結(jié)果,輸出文件中給出了每個(gè)工況的β角,各面的軌道周期平均外熱流和衛(wèi)星表面總外熱流。數(shù)據(jù)格式簡(jiǎn)潔明了,可以直接用于衛(wèi)星熱控分系統(tǒng)的分析和設(shè)計(jì),節(jié)省設(shè)計(jì)人員的時(shí)間。
圖5 輸出的結(jié)果文件
為比較所開發(fā)軟件的外熱流計(jì)算準(zhǔn)確性與計(jì)算速度,給出兩種方法在每個(gè)β角下每個(gè)面的計(jì)算結(jié)果之間的相對(duì)誤差,并且對(duì)它們的計(jì)算時(shí)間進(jìn)行了統(tǒng)計(jì)。結(jié)果如表2所示。
表2 軟件與原有方法計(jì)算結(jié)果對(duì)比
從計(jì)算結(jié)果上來看,本文開發(fā)的軟件與原有方法計(jì)算結(jié)果相對(duì)誤差很小。在絕對(duì)值上的差異最大也只有4 W·m2??偀崃髯畲蟛町悶? W·m2,這說明本文開發(fā)的軟件計(jì)算準(zhǔn)確,完全能夠代替原有方法進(jìn)行計(jì)算。這是因?yàn)樵谟?jì)算過程中有些計(jì)算誤差被舍去。軟件計(jì)算的結(jié)果完全可以替代。從計(jì)算耗費(fèi)時(shí)間上來看,軟件所需時(shí)間僅為1 min 6 s,而手動(dòng)后處理時(shí)間需要15 min,本文開發(fā)的軟件計(jì)算時(shí)間僅為原有方法的7%。實(shí)際應(yīng)用中,如果計(jì)算的β角工況更多,手動(dòng)后處理所耗費(fèi)的時(shí)間達(dá)到數(shù)小時(shí),并且由于疲勞性,計(jì)算中帶來的錯(cuò)誤也不可避免,并且難以察覺。而本文開發(fā)的軟件能夠精準(zhǔn)識(shí)別每次工況進(jìn)行計(jì)算,不存在疲勞性和手動(dòng)誤差。因此從準(zhǔn)確性和計(jì)算速度以及最后輸出的文件來看,本文開發(fā)的衛(wèi)星外熱流多工況計(jì)算工具具有顯著的優(yōu)越性。
通過MATLAB的接口功能和強(qiáng)大的數(shù)學(xué)計(jì)算能力,編寫的面向用戶的GUI友好界面,計(jì)算衛(wèi)星外熱流的所有輸入?yún)?shù)都在這個(gè)界面可以輸入。通過MATLAB和Thermal Desktop的接口,MATLAB可將用戶通過GUI界面輸入的參數(shù)輸入到Thermal Desktop中,控制Thermal Desktop計(jì)算不同輸入工況下的外熱流。MATLAB的分析模塊可從Thermal Desktop的輸出結(jié)果中抓取數(shù)據(jù),計(jì)算分析,輸出所需格式的外熱流數(shù)據(jù)文件。通過MATLAB減少了人為對(duì)Thermal Desktop的操作,實(shí)現(xiàn)了多工況自動(dòng)計(jì)算分析。
本文為解決原有的計(jì)算衛(wèi)星外熱流工作量大,手動(dòng)處理易出錯(cuò)的問題,基于MATLAB與Thermal Desktop接口開發(fā)了衛(wèi)星外熱流多工況自動(dòng)計(jì)算分析軟件。與原有計(jì)算方法比較,該軟件用戶操作界面簡(jiǎn)單,計(jì)算準(zhǔn)確,避免了手動(dòng)后處理帶來的計(jì)算錯(cuò)誤,計(jì)算時(shí)間僅是原有方法的7%左右。該軟件已經(jīng)在衛(wèi)星設(shè)計(jì)中得到實(shí)際應(yīng)用。