卫星多工况外热流自动计算分析软件设计研究
2019-04-01宁东坡刘质加徐志明
宁东坡 刘质加 徐志明
(航天东方红卫星有限公司 北京 100094)
0 引 言
随着卫星功能日趋多样化,卫星受到越来越多用户的青睐[1-2]。卫星运行在空间轨道中,所处空间环境情况复杂,对于热控分系统设计来说,主要关注外部热源[3](太阳辐射、地球反照和地球的红外辐射)。卫星各面外热流的变化和大小直接影响散热面的分布和星内设备的布局,因此卫星外热流分析非常重要。
Justus等[4]根据建立太阳、地球、卫星的相互位置和卫星外形,建立起相互坐标系关系,推算出卫星在轨道上不同位置处各舱板的外热流数值。然而这种数值解析来计算外热流设计20多个参数,需要的空间想象能力、数学推导能力较高。刘洋等[5]指出可以通过热分析软件计算外热流,然而这种热分析软件计算的外热流并不是轨道周期内的平均外热流,不能满足卫星热控设计中的需要。
由于卫星所处轨道不同,阳光和轨道面夹角在一年中变化剧烈,尤其倾斜轨道,阳光和轨道面夹角成周期性变化。为找到最大热流和最小热流需要计算多种工况的外热流,而且由于常用分析外热流的工具Thermal Desktop并不能直接输出外热流计算结果,需要使用该软件的后处理工具对所生成的外热流数据原文件进行处理计算才能得到轨道周期平均外热流[6]。整个后处理需要手动计算导致计算量巨大,因此需要一种能够自动计算多种轨道、多种工况下的卫星外热流分析计算软件,缩短计算时间,同时避免手动进行后处理带来的错误。
本文针对上述卫星外热流分析所面临的问题,基于MATLAB[7-8]和Thermal Desktop软件的接口,开发了能够实现卫星多工况外热流自动计算分析的软件,减少了手动的步骤,缩短了卫星外热流分析的时间。
1 原有卫星外热流计算方法
卫星外热流分析是卫星热控分系统设计中一个重要环节[9]。热控分系统作为卫星的主要分系统之一,需要对外热流变化情况进行分析,给出卫星寿命内不同位置外热流计算结果,以确定整星散热面位置和整星高低温工况提供设计和计算的依据[10]。
基于AutoCAD软件环境的Thermal Desktop,是美国NASA的热设计标准工具。在AutoCAD的Thermal Desktop模块中可建立卫星热模型,赋予热物理参数。然后输入卫星的轨道参数(包括空间环境参数和β角),进行计算卫星模拟在轨的温度场计算。Thermal Desktop计算外热流计算原理如图1所示。
图1 卫星外热流计算原理
如图1所示,Thermal Desktop计算卫星外热流时需要提前设置一下把一个轨道等分成n+1个位置(图中用POS 0~n表示),相邻位置之间时间间隔相等。Thermal Desktop计算完一个工况后,可通过其后处理功能得到卫星各舱板在一轨内POS 0到POS n位置上对应时刻外热流,并输出到Excel文件里。在Excel文件里对每块舱板的一个轨道周期内的每个时刻的外热流数据求平均,便得到每块舱板对应的轨道周期平均外热流。需要注意的是,由于该软件在进、出阴影区位置附近时刻自动多2或3个时刻的外热流数据,因此在计算平均外热流时需要将这些多余位置的外热流数据删除才能得到正确的周期平均外热流[11]。
采用Thermal Desktop软件进行卫星外热流分析流程如图2所示。
图2 原有外热流分析流程
图2为计算一个工况外热流的步骤,其中每个步骤都需要手动操作。剔除数据文件中多余外热流数据的过程是比较繁琐的,而且易删错数据。按照上述步骤计算一个工况大约需要180秒的时间,对于倾斜轨道需要分析的β角比较多,这样总时间便会很长。由于手动处理,这个过程容易计算错误而且很难察觉。
2 软件设计
2.1 方案设计
原有卫星外热流计算的缺点是过程繁琐,而且手动后处理易出现删除正确位置的外热流,对于需要计算多个β角的外热流,重复进行上述计算工作量大。
原有计算方法中大部分时间用来输出储存外热流的数据文件和对数据文件后处理。对数据文件后处理可以通过MATLAB强大的数据处理能力实现。然而储存有外热流的数据文件Thermal Desktop并不能自动输出,查找计算中生成的文件中也没有储存到达外热流的,只有生成卫星表面吸收外热流的数据文件。通过设置卫星表面材料的吸收率为1,使得到达卫星表面的外热流全部被吸收,这样Thermal Desktop所自动输出的外热流数据文件中的外热流在数值上即为卫星表面到达的外热流。
COM是公用的二进制组件标准,代表接口调用者和执行者之间的通信约定,因此不同语言的软件可通过COM组件来实现信息交换。Thermal Desktop支持COM组件作为二次开发的接口,MATLAB可以通过调用Thermal Desktop的COM组件的接口来和Thermal Desktop进行通信。
解决重复输入轨道、β角等参数,重复进行后处理的途径是采用MATLAB通过接口调动Thermal Desktop软件。将轨道高度、β角、太阳辐射强度、地球反照率、地球红外辐射强度参数化,通过Thermal Desktop接口能够被计算人员通过MATLAB程序进行指令输入,加上循环实现多工况的自动计算。
2.2 架构设计
基于2.1节的方案设计思路编写卫星多工况外热流自动计算分析软件。软件架构如图3所示。
图3 软件架构
整个软件由用户输入层、MATLAB控制与计算分析层组成。其中用户层是用户通过GUI界面输入所要计算卫星外热流所需要的输入参数(轨道高度、太阳常数、地球反射率、地球辐射、β角范围及计算步长)。输入参数通过MATALB与Thermal Desktop之间的接口输入到Thermal Desktop的热模型中,并且Thermal Desktop接收MATLAB后台控制程序的命令完成不同工况下的热计算。
分析模块是软件中最核心的软件模块,实现了读取Thermal Desktop计算完卫星热模型后的结果文件,对各舱板的热流进行筛查,剔除非等时间间距的热流数据。软件的分析模块能够通过字符串识别外热流数据文件中分别为卫星哪个舱板的外热流,通过时间间隔对比删除多余的外热流数据。最后将外热流求平均和求和,得到卫星各面的轨道周期平均外热流以及总外热流,并且输出得到所需格式的外热流数据文件。
2.3 使用方法
在使用软件前需要先在Thermal Desktop中完成卫星模型建立。卫星热模型在Thermal Desktop中建立完成后,将轨道参数、β角和热环境等参数参数化,并通过Thermal Desktop接口使用Fortran编写程序,使得这些参数能够被MATLAB调用。以常见的立方体星为例,各面热模型的名称按照坐标系分别命名为PX、PY、PZ、NX、NY、NZ,代表正X舱板、正Y舱板、正Z舱板、负X舱板、负Y舱板、负Z舱板。
为方便用户操作,采用MATLAB的GUI[12-13]工具建立的卫星外热流计算分析软件的操作界面,如图4所示。该界面由初始化、空间环境设置、计算设置3部分组成。“初始化”的功能主要是清理内存,删除MATLAB工作空间的变量,防止计算出错。然后通过“读取文件”功能读取要分析的卫星的热模型,建立起MATLAB与Thermal Desktop之间的连接。空间热环境设置是输入轨道高度与太阳常数、地球反照率、地球辐射等参数。对于一颗卫星来说,轨道高度确定后不用再修改,其他3个参数和要计算的一年中的时刻有关。计算设置要求给出β角的上下限以及步长,计算在某时刻(冬至或者夏至)极限β角变化引起的卫星外热流变化是卫星外热流分析一般都要计算的工况。
图4 软件GUI界面
当用户点击界面上的“计算”命令后,软件开始驱动Thermal Desktop进行卫星的外热流计算。MATLAB会在每个工况计算完成后,分析数据并计算,然后进行下一个工况计算,最后软件输出一个Excel文件,包含了各个工况下每个舱板的轨道周期平均外热流和总外热流。整个过程不需要人工参与,只需要等待结果输出。
3 软件计算验证
为比较本文涉及的卫星外热流多工况自动分析计算软件与原有计算方法的之间计算时间的差异和结果的准确性。建立了一个卫星模型进行外热流分析。
卫星为长方体构型,空间热环境参数如表1所示。分别使用原有分析方法和本文开发的软件计算0°、5°、10°、15°、20°5个β角工况的卫星外热流。
表1 空间热环境参数
图5是软件最后输出的计算结果,输出文件中给出了每个工况的β角,各面的轨道周期平均外热流和卫星表面总外热流。数据格式简洁明了,可以直接用于卫星热控分系统的分析和设计,节省设计人员的时间。
图5 输出的结果文件
为比较所开发软件的外热流计算准确性与计算速度,给出两种方法在每个β角下每个面的计算结果之间的相对误差,并且对它们的计算时间进行了统计。结果如表2所示。
表2 软件与原有方法计算结果对比
从计算结果上来看,本文开发的软件与原有方法计算结果相对误差很小。在绝对值上的差异最大也只有4 W·m2。总热流最大差异为5 W·m2,这说明本文开发的软件计算准确,完全能够代替原有方法进行计算。这是因为在计算过程中有些计算误差被舍去。软件计算的结果完全可以替代。从计算耗费时间上来看,软件所需时间仅为1 min 6 s,而手动后处理时间需要15 min,本文开发的软件计算时间仅为原有方法的7%。实际应用中,如果计算的β角工况更多,手动后处理所耗费的时间达到数小时,并且由于疲劳性,计算中带来的错误也不可避免,并且难以察觉。而本文开发的软件能够精准识别每次工况进行计算,不存在疲劳性和手动误差。因此从准确性和计算速度以及最后输出的文件来看,本文开发的卫星外热流多工况计算工具具有显著的优越性。
通过MATLAB的接口功能和强大的数学计算能力,编写的面向用户的GUI友好界面,计算卫星外热流的所有输入参数都在这个界面可以输入。通过MATLAB和Thermal Desktop的接口,MATLAB可将用户通过GUI界面输入的参数输入到Thermal Desktop中,控制Thermal Desktop计算不同输入工况下的外热流。MATLAB的分析模块可从Thermal Desktop的输出结果中抓取数据,计算分析,输出所需格式的外热流数据文件。通过MATLAB减少了人为对Thermal Desktop的操作,实现了多工况自动计算分析。
4 结 语
本文为解决原有的计算卫星外热流工作量大,手动处理易出错的问题,基于MATLAB与Thermal Desktop接口开发了卫星外热流多工况自动计算分析软件。与原有计算方法比较,该软件用户操作界面简单,计算准确,避免了手动后处理带来的计算错误,计算时间仅是原有方法的7%左右。该软件已经在卫星设计中得到实际应用。