基于蒙特卡罗算法(MYSTIC)的单次散射过程
————————————————————————————————————————————————————————
本人菜鸟一枚,纯属留下学习笔记,欢迎交流讨论,有错误之处,请勿指出……(啊呸)……请及时指出!
————————————————————————————————————————————————————————
来源:http://www.bmayer.de/index.html?mystic.html&1
光子(photon)
来源: 太阳,或是大气或是表面散发的热量。
起始位置: 前者,在大气层顶部,在模型域上的随机位置;后者,从发射率分布中采样。
初始方向:如果光子来自太阳,其初始方向由太阳的位置(天顶和方位角)决定。
在热发射的情况下,为其指定随机方向,反映各向同性发射。
大致过程如图:
一、第一个散射点的位置由两步过程确定:
-
距离下一个散射点的光学厚度根据式(1),路径长度概率分布等价于Lambert-Beer定律所定义的分布;
Δ τ = − ln ρ   . ( 1 ) \ \Delta\tau= -\ln\rho\,. (1) Δτ=−lnρ.(1) -
通过对沿着光子路径的散射系数进行积分,将光学厚度转变为(x,y,z)空间的位置。
-
Lambert-Beer定律 :
朗伯一比尔定律(Lambert-Beer law)是分光光度法的基本定律,是描述物质对某一波长光吸收的强弱与吸光物质的浓度及其液层厚度间的关系。
一旦知道下一个散射的位置,就从当前相位函数确定新的光子方向,在确定方向之前要考虑散射类型。
二、 散射类型(瑞利,气溶胶,水或冰云)从每个散射截面的总分散贡献中随机抽样:
三、确定散射类型后,根据该散射类型的相位函数中确定光子的新方向。
举例:如果这时模型决定选择类型为气溶胶散射时,如下图,会从气溶胶相函数中采样一个随机方向,最可能的是,散射会朝正方向,通常粒子比波长大的情况下。
从而过程开始循环:寻找下一个散射点,确定散射类型,确定新的方向。
四、 特殊情况——撞击到表面:MYSTIC考虑的是倾斜的表面。
、、基于来自当前反照率或BRDF(双向反射分布函数)的随机样本,撞击表面后有两种可能:(1)被吸收;(2)被反射。
在被反射的情况下,将会产生一个新的随机方向,在所有方向上具有相同的概率(对于朗伯表面)或由BRDF定义的方向分布。
这个过程将会被重复,直到光子离开大气层顶部或被表面吸收。
五、对于光子数量进行记录:需要把之前忽略掉的吸收考虑进来,这是通过用考虑沿路径吸收的朗伯 - 比尔因子对光子加权来完成的。通过对所有模型盒吸收系数积分,吸收光学厚度从散射点到散射点累积。跟踪光子部分的过程称为“光子加权”(photon weighting)。
光子在人们感兴趣的每个水平面计数,总是考虑进权重。通过简单地对所有权重求和,获得辐照度( irradiance)或通量( flux )。也可以使用光化通量(actinic flux)和辐射(radiance)等量。