6
\ begingroup美元

我通常在物理SE,但这个问题似乎更适合地球科学:江南体育网页版

我感兴趣的是辐射转移,特别是大气中的Mie散射。所以我用Miepython做了一些计算(https://pypi.org/project/miepython/).下面是直径为1000nm的小水滴的消光、散射和后向散射的示例结果。

在这里输入图像描述

不幸的是,我对结果有点困惑。

首先,散射和后向散射的角度范围是否有共同的定义?Miepython手册没有提到任何。例如,可能是0的散射^ \保监会美元-180年^ \保监会美元90秒后向散射^ \保监会美元-180年^ \保监会美元?

其次,后向散射随波长变化较大。如果我增大颗粒的大小,它们会变得更多。对于这种极大值和极小值交替出现的之字形行为,物理上的解释是什么?

更新

在收到有用的评论后,我计算了一个极坐标图,下面的说明从https://miepython.readthedocs.io/en/latest/03_angular_scattering.html(包括轴标…)用于非极化辐射。

结果是:

在这里输入图像描述

然而,我尝试在不同的范围内进行积分(求和)并乘以几何横截面(这是miepython要求您做的,并且已经为上面的图做过了),但无法重现上述500 nm处的图的数字。

\ endgroup美元
9
  • \ begingroup美元 我认为极大值和极小值是由于球面水滴中的光干涉。边缘射线在水滴周围移动 \ endgroup美元
    - - - - - -gansub
    2022年7月7日7:30
  • \ begingroup美元 关于(1)你能给出散射角的极坐标图吗? \ endgroup美元
    - - - - - -gansub
    2022年7月7日7点38分
  • \ begingroup美元 @gansub非常好的建议,我现在用极坐标图更新了这个问题。对于极大值和最小值问题:你有论文或进一步阅读的链接来更详细地解释这个问题吗? \ endgroup美元
    - - - - - -查尔斯·塔克
    2022年7月7日12:16
  • \ begingroup美元 我的参考是这个cambridge.org/core/books/radiation-in-the-atmosphere/..。.看看第385页(至少在我的版本中) \ endgroup美元
    - - - - - -gansub
    2022年7月7日12:49
  • \ begingroup美元 因此,极坐标图使得相位函数在入射轴上的旋转对称性非常清楚。 \ endgroup美元
    - - - - - -gansub
    2022年7月7日12:56

1回答1

4
\ begingroup美元

根据这些评论,经过大量的尝试和错误,再加上仔细阅读Miepython文档(!),我设法回答了我的问题:

对于我无法重现散射和后向散射效率的问题qsca美元而且qback美元(或相应的横截面\σ美元在第一个图中,从我的问题中的第二个图(更新)中的相位函数值:我有两个问题,或者更好地说有两个陷阱:

  • 我画了等距\ vartheta美元-vector并转换为$mu = cos(\vartheta)$,计算相函数p(\μ)美元并将其绘制为极坐标图和直方图,然后我尝试对其进行积分(求和)。这当然不像$\mu = cos(\vartheta)$不再等距。现在是等距$ \μ= cos (\ vartheta) $-矢量,用于计算和积分。因为密谋反对\ vartheta美元我只是计算一下\ vartheta美元\μ美元使用美元$ arccos ().结果是直方图中的非等距数据点,但当分辨率足够高时,你就看不到它了。
  • miepython中有相位函数的归一化,默认设置为单散射反照率$a = qsca/qext$.在求和(积分)之后,得到qsca美元你需要乘以qext美元.(但是你可以将其他选项传递给Miepython进行规范化,默认的选项是justqsca / qext美元...看到https://miepython.readthedocs.io/en/latest/03a_normalization.html)

有了这个,我可以重新生成的值qsca美元而且qback美元在500纳米处。代码如下:

Import numpy as np Import miepython Import matplotlib。pyplot作为plt导入matplotlib. rcparams .update({'字体。大小:10 }) ############################################################################### # 参数  ############################################################################### m = 1.335 - 1 e-9j #复杂折射率水滴从https://refractiveindex.info/?shelf=main&book=H2O&page=Daimon在500 nm - 24.0μc lambda0 = 0.5 #,即500 nm直径在μ= 1 # #气溶胶半径r = 0.5 *直径x = 2 * np。π* r / lambda0 #尺寸参数  ############################################################################### # Miepython计算# -计算散射效率#计算相位函数和情节极坐标图和直方图  ############################################################################### 100001μ= np.linspace(1, 1) #μeqidistant和计算(情节)θ,不是亦然(重要我们整合后的直方图,它是mu的函数,为了便于求和,mu需要等距离>积分= np, arccos(mu)*180/np。qext500, qsca500, qback500, g2_500 = miepython.mie(m,x) #现在计算相位函数归一化='反照率' #默认是反照率a = qsca/qext,参见https://miepython.readthedocs.io/en/latest/03a_normalization.html p_mu = miepython。i_unpolarized(m, x, mu,归一化)# p_mu现在归一化为a = qsca/qext #测试计算相位函数的替代方法:s1, s2 = miepython。mie_S1_S2 (m x,μ)阶段= (np.abs (s1) * * 2 + np.abs (s2) * * 2) / 2如果np。Allclose (p_mu, phase): print('p_mu和phase是相同的向量')# plot相位函数为极坐标图和直方图fig, (ax1, ax2) =plt. subplots(1,2,figsize=(12,5)) ax1=plt. subplot (1,2,figsize=(12,5))Subplot (121, projection='polar') ax1.plot(theta/180*np。Pi, p_mu, color='blue') ax1。set_title (r是= ' + str (np.around (m, 9)) + ', d = ' + str(直径)+ r '\μ美元米,\λ美元= ' + str(np.around(1000*lambda0,0)) + r' nm') ax2 = plt.subplot(122) ax2。Plot (theta, p_mu) ax2.set_xlabel(r'\ vartheta美元^ \保监会美元)”)ax2。set_ylabel('非偏振散射光[1/sr]') ax2. set_ylabel('非偏振散射光[1/sr]')Grid (which =' minor', color='grey', linstyle =':') ax2。Grid (which =' major', color='grey', linstyle =':') ax2。set_title (r是= ' + str (np.around (m, 9)) + ', d = ' + str(直径)+ r '\μ美元米,\λ美元= ' + str(np.around(1000*lambda0,0)) + r' nm') plt.tight_layout() plt.show() fig.savefig('相位函数.png', dpi=图。dpi, bbox_inches = '紧 ') ############################################################################### # 现在集成直方图繁殖散射和后向散射效益  ############################################################################### # 打印值比较打印(“qback500 = ' + str (qback500))打印(' qsca500 = ' + str (qsca500))打印(' qext500 = ' + str (qext500))打印(“qsca qext几乎是相同的,由于几乎没有吸收(复折射率的虚部,所以消光(损耗)主要是由散射引起的…)')print('\n现在从相位函数计算散射效率:')# spacing dmu for integral oben = np.abs(mu[1:]) unten = np.abs(mu[:-1]) dmu = np.mean(np. -1)Abs (oben - unten)) print('\ndmu = ' + str(dmu)) print('dmu是mu = cos(theta)轴上的间距')# qsca from直方图:print('在全立体角上相位函数的积分:')print('-不依赖于方位角,因此对方位角的积分给出2*pi,剩余的积分仅对mu。')print('-对mu的积分从1到-1,即从theta=0°到180°')integral_p_mu = 2*np.pi*dmu*np.sum(p_mu) print('对p_mu直方图积分= ' + str(integral_p_mu)) #要从中得到qsca,请提醒p_mu被归一化为a= qsca/qext。因此,要得到qsca,需要将这里得到的结果与qext: print('\nqsca计算自相位函数= ' + str(integral_p_mu * qext500)) print('\nBackscattering efficiency计算自物理函数')idx180 = np.where(np. qext500)abs(180 - theta) < 0.01)[0][0] #反向方向指数#同样,由于归一化,我们需要乘以qext #我们只使用相位函数的180°数据点,但仍然需要对立体角进行积分,这只会给出4*pi') print('p_mu[idx180]*qext500*4*np。PI = ' + str(p_mu[idx180]*qext500*4*np.pi)))

我最初问题的答案是:

  • qsca美元所有方向上的总散射效率(整个球面上的积分)是4 \π美元),即不只是向前半圆顶左右..
  • qback美元是向后方向的散射吗^ \保监会180美元只有(一个方向,而不是整个后半圆顶什么的…)
\ endgroup美元
2
  • 1
    \ begingroup美元 嘿,你回来了!看来你也解出来了 \ endgroup美元
    - - - - - -gansub
    3月30日12:21
  • 3.
    \ begingroup美元 亲爱的@gansub,是的,非常感谢你的帮助! \ endgroup美元
    - - - - - -查尔斯·塔克
    3月30日16:02

你的答案

点击“张贴您的答案”,即表示您同意我们的服务条款隐私政策而且饼干的政策

这不是你想要的答案?浏览带标签的其他问题问自己的问题