HITRAN数据库的使用以及普朗克平均吸收系数的计算

HITRAN数据库的使用

一、HAPI第三方库的调用

参考文章列表:

1.https://blog.csdn.net/qq_38307826/article/details/107556056

2.https://blog.csdn.net/Gou_Hailong/article/details/105586880

总的来说就是从官网上下载HAPI第三方库,然后从pycharm中import,再然后就是下载数据,最后调用第三方库对数据进行必要的处理。

当然,这个处理过程可能还会涉及到其他用于科学计算的第三方库,如numpy、sympy、matpoltlib等,可以提前学习这些泛用性第三方库的使用。

二、HAPI中函数的用法

参考文章列表:

1.https://blog.csdn.net/weixin_39924198/article/details/112333256

2.https://blog.csdn.net/JarvisChen_/article/details/50441366

以上两篇文章涉及了HAPI所包含的主要函数的使用方法,请重点看函数的输入输出部分。具体描述可以借用gethelp函数,也可以到官网上下载HAPI 的使用手册,使用手册对各个函数功能的表述最为准确。

当然文章1给出的例子存在某些问题,比如getStickXY()函数的输出结果并不是线强,建议使用getColumn(‘tablename’,‘sw’)函数获取准确的线强。

print(nu)
print(type(nu))
print(len(nu))

print(coef)
print(len(coef))
print(type(coef))

print(y)
print(len(y))
print(type(y))

print(x)
print(type(x))
print(len(x))

[ 11.833113 11.843113 11.853113 … 9352.933113 9352.943113
9352.953113]
<class ‘numpy.ndarray’>
934113

[1.84784746e-16 1.85421916e-16 1.85984338e-16 … 1.27157618e-13
1.26674331e-13 1.26184828e-13]
934113
<class ‘numpy.ndarray’>

[0.000e+00 2.595e-39 0.000e+00 … 0.000e+00 1.533e-39 0.000e+00]
3318
<class ‘numpy.ndarray’>

[ 11.833113 11.833113 11.833113 … 9352.959559 9352.959559
9352.959559]
<class ‘numpy.ndarray’>
3318

N2气体的谱线有1106根,但是列表X,Y的长度却是3318,列表内容也是离谱,并没有深究getStickXY的功能,感兴趣的同学可以移步github。

print(nu[:5])
print(nu)
print(len(nu))

p1 = getColumn('N2', 'sw')
print(type(p1))
print(p1)
print(len(p1))

nu1=p1 = getColumn('N2', 'nu')
print(type(nu1))
print(nu1)
print(len(nu1))

[11.833113 11.843113 11.853113 11.863113 11.873113]
[ 11.833113 11.843113 11.853113 … 9352.933113 9352.943113
9352.953113]
934113
<class ‘numpy.ndarray’>
[2.595e-39 2.286e-34 1.734e-38 … 7.174e-39 6.697e-39 1.533e-39]
1106
<class ‘numpy.ndarray’>
[ 11.833113 11.937345 19.721395 … 9350.020105 9351.566148
9352.959559]
1106

可以看出getColumn(‘N2’, ‘sw’)给出的才是辐射强度数据。

三、普朗克平均吸收系数的计算

参考文章:

1.https://blog.csdn.net/qq_44930937/article/details/109610045

2.楚化强. 高效、高精度气体非灰辐射模型的研究[D].华中科技大学,2012.

3.https://baike.baidu.com/item/普朗克黑体辐射定律/15517836?fr=aladdin

HAPI库并未提供普朗克平均吸收系数的计算函数,需要自己编程。

上一步getColumn(‘N2’, ‘sw’)给出的线强并不是黑体辐射强度,而且步长也与absorptionCoefficient_Voigt()函数给出的数据差异较大。只能使用传统方法进行计算。

根据文献2:

普朗克平均吸收系数的计算公式
普朗克平均吸收系数的计算公式

根据普朗克黑体辐射定律,黑体的半球单色辐射力仅仅是波长与温度的函数。我们只需要将黑体辐射力与absorptionCoefficient_Voigt()给出的吸收系数进行匹配并积分就可以得到有效吸收系数了。

temperature=3000#工作温度
pi=3.1415926
sigma=5.67*10**-8#斯特潘玻尔兹曼常数

#普朗克黑体辐射定律计算黑体的半球单色辐射力
def planck_formula(wavelength ):
    temperature=3000
    c1 = 3.7414 * 10 ** 8
    c2 = 1.43879 * 10 ** 4
    return (c1/wavelength**5)*(1/(np.e**(c2/wavelength/temperature)-1))

P.S.普朗克平均吸收系数还可以通过线强、黑体辐射力进行计算,但是需要自行将线强推广到其他温度,getColumn(‘tablename’, ‘sw’)给出的线强列表只是在化学标准状态下的线强分布。

P.S.具体代码涉及到毕业论文查重暂时不宜分享。

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值