蒙特卡洛放射传递 MCRT 模拟器 返回
数值计算·放射传递

蒙特卡洛放射传递 MCRT 模拟器 — 光子追踪

用蒙特卡洛法追踪在吸收、散射介质中传播的光子随机游走,实时评估漫反射率、透射率和浸透深度。适用于生体组织光学、光动力疗法、薄膜光学、星际尘埃等散射主导的辐射传输问题。在浏览器中体验 MCML 框架。

参数设置
吸收系数 μ_a
1/cm
介质每厘米吸收光的概率指标。组织中 0.01~1 量级
散射系数 μ_s
1/cm
单位长度的散射次数。组织中 10~500/cm
异方性 g
Henyey-Greenstein 相位函数。g=0 各向同性,g→1 前向散射
介质厚度 d
mm
光子数 log₁₀(N)
追踪光子数。N=10^值。统计误差为 1/√N
折射率 n
介质折射率。组织中 1.37~1.45
波长 λ
nm
入射光波长。可见光至近红外
计算结果
平均自由程 ℓ (cm)
传输平均自由程 ℓ* (cm)
光学深度 τ'
漫反射率 R (%)
透射率 T (%)
浸透深度 δ_p (mm)
光子随机游走 — MCRT 动画

光子(白色)从上方入射到平板介质,经历散射(蓝色)、吸收(红色)、反射(绿色)、透射(橙色)各类事件而终止。颜色表示终止模式。

反射率 R / 透射率 T vs 光学深度 τ'
浸透深度 δ_p vs 吸收/散射比 μ_a/μ_s
理论·关键公式

$$\mu_t = \mu_a + \mu_s,\qquad a = \frac{\mu_s}{\mu_t},\qquad \mu_s' = (1-g)\,\mu_s,\qquad \delta_p = \frac{1}{\sqrt{3\,\mu_a\,(\mu_a + \mu_s')}}$$

μ_a:吸收系数,μ_s:散射系数,g:异方性(Henyey-Greenstein 相位函数),μ_s':衰减散射系数,δ_p:漫反射浸透深度。τ' = (μ_a + μ_s')·d 为衰减光学深度。

$$p_{HG}(\cos\theta) = \frac{1}{4\pi}\,\frac{1-g^2}{(1+g^2 - 2g\cos\theta)^{3/2}},\qquad s = -\frac{\ln(\xi)}{\mu_t}$$

Henyey-Greenstein 相位函数及自由程 s 抽样公式。ξ ∈ (0,1] 为均匀随机数。

蒙特卡洛放射传递 — 散射、吸收介质中的光子追踪

🙋
「蒙特卡洛放射传递」是计算激光照射时光如何散射的方法吗?我听说过但不太明白为什么要用随机数来求解。
🎓
很对。光在散射、吸收介质中的传输方程(RTE)是 7 维积分微分方程,基本无法解析求解。所以 MCRT 的思想就是「用骰子逐个追踪光子」。单个光子的过程很简单:(1) 从指数分布采样自由程,(2) 从相位函数采样散射角,(3) 根据反照率决定吸收或散射。追踪数百万个光子后取平均,就能得到 RTE 的解。
🙋
我把左边的「异方性 g」从 0 改到 0.9,传输平均自由程 ℓ* 突然大幅增加了。这是为什么?
🎓
g 表示「散射的前向偏置」程度,g=0 是完全各向同性散射,g→1 是纯前向散射。生体组织 g≈0.9,单次散射平均只改变方向约 25°。所以方向记忆消失需要多次散射,累积距离就是 ℓ* = 1/(μ_a + (1-g)μ_s)。g=0 和 g=0.9 的 ℓ* 相差约 10 倍。这就是「光穿透深但迅速散开」的物理根源。
🙋
浸透深度 δ_p 是 17.4 mm,这么深红光真的能到达吗?
🎓
缺省值 μ_a=0.1, μ_s=10 是假设弱吸收强散射,比实际皮肤(μ_a≈0.3~2/cm)更「透光」。真实皮肤 δ_p 只有几毫米。但 670 nm 红光确实能穿透表皮到达皮下组织,所以低强度激光治疗(LLLT)和光动力疗法(PDT)才用它。通过选择波长,可以控制 δ_p,这是临床应用的关键技巧。
🙋
光子数 N 增加时统计误差下降。但为什么说 MCRT 很慢?
🎓
统计误差只按 1/√N 下降,这是瓶颈。要把误差减为 1/10,得追踪 100 倍的光子。标准 MCML 每个光子耗时几十微秒,N=10⁶ 要数十秒至几分钟。3D 非均质模型更慢。所以需要 (1) GPU 并行,(2) 方差降低(Russian roulette、光子分裂),(3) 重要度抽样。最近的 CUDA-MCML、MCX 等 GPU 实现能每秒追踪数亿光子。
🙋
生体医学以外也用 MCRT 吗?
🎓
MCRT 是跨领域元方法。星际尘埃辐射传递(DUSTY/HYPERION)、CFD 燃烧放射热传递、太阳电池光学吸收、薄膜/OLED 设计、PET/SPECT 校准、海洋光学(叶绿素遥感)等「散射和吸收同时发生的所有传输问题」都用。中子输运的 MCNP 也是同框架,反应堆设计标准工具。物理过程变了,抽样结构完全一样。

常见问题

MCRT 是代替解析求解放射传输方程(RTE),而用概率模型逐个追踪光子的仿真手法。光子下次散射、吸收前的距离服从平均自由程 1/(μ_a + μ_s) 的指数分布,散射角来自 Henyey-Greenstein 相位函数(异方性 g),吸收或散射由反照率 a = μ_s/(μ_a + μ_s) 确定。追踪大量光子后取平均,得到漫反射率、透射率、吸收分布。Wang、Jacques、Zheng 的 MCML 是生体组织光学的事实标准代码。
平均自由程 ℓ = 1/(μ_a + μ_s) 是光子下一次散射、吸收前直线传播的平均距离。传输平均自由程 ℓ* = 1/(μ_a + μ_s') 是初始方向记忆消失所需的距离,使用衰减散射系数 μ_s' = (1-g)μ_s。前向散射强(g→1)时,单次散射方向改变不大,因此 ℓ* ≫ ℓ,介质看起来「更厚」。生体组织 g≈0.9,ℓ* 约为 ℓ 的 10 倍。扩散近似以 ℓ* 为基础。
漫反射浸透深度 δ_p = 1/√(3 μ_a (μ_a + μ_s')) 是散射介质中扩散光通量衰减至 1/e 的深度。在半无限散射介质中,深度 z 处内部光强度约遵循 exp(-z/δ_p)。激光治疗、光动力疗法(PDT)中,这是决定药物激活深度的关键指标,通过波长选择控制 δ_p。例如,670 nm 红光在皮肤的 δ_p 为数毫米量级。
蒙特卡洛法追踪 N 个独立光子,以平均值作为估计值。中心极限定理表明,估计值的标准误差为 1/√N。N=10⁴ 误差约 1%,N=10⁶ 误差 0.1%。要把误差减为 1/10,需要光子数增加 100 倍。这是 MCRT 的主要缺点。实践中通过方差降低法(Russian roulette、光子分裂、重要度抽样)和 GPU 并行加速。

现实应用

生体组织光学、光动力疗法(PDT):皮肤癌、食道癌等 PDT 应用中,光敏药物(PpIX、卟啉等)聚集在病变组织,用激光照射产生活性氧破坏病灶。治疗效果取决于「光能到达多深」,用 MCML 类 MCRT 预先计算 δ_p,选择波长(绿 532 nm、红 630 nm、近红外 800 nm)和功率。皮肤科、眼科 AMD 治疗的标准仿真工具。

核医学成像(PET/SPECT、光学层析):PET/SPECT 探测器响应、近红外光层析(DOT、fNIRS)图像重建都以 MCRT 输出(灵敏度矩阵)为顺问题。脑血流成像 fNIRS 中,多层 MCRT 模拟从头皮到脑的光传输,分离头皮血流噪声和脑活动真信号。

CFD 燃烧放射热传递和天体物理:燃气轮机燃烧室、锅炉、火箭发动机内的炉膛辐射热包含煤粒子和气体分子散射、吸收,与 CFD 耦合用 MCRT 计算。天体物理尘埃圆盘、原始星周围的辐射传输(DUSTY/HYPERION/RADMC-3D)主力手法,直接与观测谱对比。

太阳电池、薄膜光学、OLED 设计:纹理硅太阳电池、钙钛矿薄膜、OLED 多层结构的光吸收、取出效率(吸收率、量子效率)分别用波动光学 FDTD 和几何光学 MCRT 评估。反射镜、纹理层较大时 MCRT 有效,Sunpower、串联电池设计优化常用。

常见误解和注意事项

第一大陷阱是「光子数 N 充分大就能消除误差」的错误想法。MCRT 统计误差只按 1/√N 下降。本工具 N=10⁵ 误差约 0.32%,这是「全局平均」误差,深度方向吸收分布(局部量)误差更大。特别是深部和弱吸收区,光子到达稀疏,局部误差常超 10%。要精确深度分布必须用方差降低法(Russian roulette、光子分裂、偏置散射)。

第二,「扩散近似」和「MCRT」不同。本工具的漫反射率、透射率解析式用 δ_p 或半无限平板近似,成立条件是散射远大于吸收(μ_s' ≫ μ_a)且介质厚 ≫ ℓ*。表面附近(≤ℓ* 深)、强吸收区(皮肤黑色素层、血管)、介质界面时扩散近似失效。研究级设计必须跑完整 MCML,扩散近似仅作粗略估算。

最后,「Henyey-Greenstein 相位函数非完美近似」。HG 函数用一个参数 g 近似真实 Mie 散射,后向散射和 90° 附近偏离实测数十%。对后向散射重要的系统(皮肤)应用时,用改进 HG(Reynolds-McCormick)或 Mie 计算表格更准确。学术标准是不仅给 g,还测 g₁、g₂ 二项模型或波长依赖 g(λ)。

使用指南

  1. 设置吸收系数 μa (cm⁻¹) 和散射系数 μs (cm⁻¹)。含水生体组织典型值 μa=0.1~1.0、μs=10~100
  2. 输入异方性系数 g (0~1)。g=0.9 重前向散射(皮肤),g=0.5 各向同性散射(脂肪)
  3. 指定试样厚度 d (mm),用光子数 10⁴~10⁶ 进行追踪。用于荧光寿命测量、光学相干断层扫描(OCT)验证
  4. 实时输出漫反射率 R(%) 和透射率 T(%)。验证 R+T+A 收敛到 100% 确认计算合理性

具体计算示例

猪皮肤组织(μa=0.5 cm⁻¹、μs=40 cm⁻¹、g=0.88、厚度 d=2 mm)用 MCML 法分析。追踪 10 万光子,得平均自由程 ℓ=1/μs=0.025 cm=0.25 mm,异方性修正后传输平均自由程 ℓ*≈0.32 mm。光学深度 τ'=μs·d=80,得漫反射率 R=32%、透射率 T=8%、浸透深度 δp≈0.7 mm。适用于皮肤血流成像(LDF)测量深度验证。

实务注意事项