背景:本案例主要向大家介绍对于红外系统热辐射仿真分析及后期MATLAB数据处理实现。由于目前TracePro破解版本对光线追迹内存数有一定的限制(限制3G左右),在热红外分析中,各个元件表面建立表面辐射光源,如果将这些光源一起光线追迹,每个光源光线数可能只有几百条了,影响仿真的准确性。如果将每个光源依次追迹,记录追迹结果,这种工作效率很低,因此非常有必要开发宏语言,让机器自动完成这些重复劳动,提高工作效率。
一、 模型建立
本案例用于讲解的模型如下图所示,由一个透镜、一个镜头和一个像面组成。
将镜筒内壁材料属性设置如下:反射率=0.8,吸收率=0.2,由于表面的发射率一般等于其吸收率,所以其表面光源属性设置如下:发射率=0.2,波段:8um~12um,表面温度设置为293K,辐射能量会根据设置的发射率和温度软件自动计算出来,如下图所示。
按照上述步骤透镜表面材料属性设置如下:反射率=0.02,吸收率=0.03,透过率=0.95,表面光源属性设置如下:发射率=0.03,波段:8um~12um,表面温度设置为293K。
一、 自动化光线追迹实现
代码部分:
entity和tools:face-in-body后面数值查看方式见下图:
自动化追迹过程如下:
1、将光源文件全部禁用,保存后关闭文件,如下图所示:
2、点击菜单栏Macroà执行,选择Macro文件,例如Macro1,如下图所示:
3、在弹出的信息窗口,指令命令行输入Macro的名称,本案例中输入Macro1,然后点执行,软件就会依次追迹各个光源并保存相关数据。
一、 数据处理
根据TracePro保存的数据如下图所示,我们关注的是Total Flux和 Emitted Flux后面的数据,为了提高工作效率,通过MATLAB编写程序依次提取这两个数据,并进行数据分类处理,输出每个元件辐射到探测器上的能量占比以及每个元件表面辐射到探测器上能量占比,如下图所示: