在做光学仿真时,很多工程师一开始更熟悉“光线追迹”,因为它直观、计算快,适合看成像关系、结构布局和初步设计。但一旦问题进入衍射、干涉、聚焦、微结构、非傍轴传播等场景,仅靠光线就不够了。此时,真正决定结果精度的,是对光场传播过程的描述。而VirtualLab Fusion的核心优势之一,正是在于它以**场追迹(Field Tracing)**为主线,把光从“几何路径”提升到“电磁场传播”的层面来分析。
对于很多初学者而言,第一次接触VirtualLab Fusion时,最容易困惑的不是建模,而是传输算法怎么选、怎么设、为什么这样设。尤其是在软件中看到FFT、PFT、SFT等传播方式时,经常会出现一个问题:这些算法到底分别适合什么任务?如何通过它们的配置去实现远场积分、逐点场传输、广义德拜积分等典型分析?这篇文章就围绕这个核心问题展开,帮助大家建立一个清晰的使用框架。
一、什么是VirtualLab Fusion中的场追迹技术
所谓场追迹,可以简单理解为:不再只关心一束光“走到哪里”,而是关心它在传播过程中振幅、相位、偏振和空间频谱如何变化。VirtualLab Fusion将光场作为主要对象,能够在自由空间、透镜系统、衍射元件、微纳结构以及高NA聚焦系统中,对光场进行严格或半严格的传播计算。
这项技术的价值非常大。比如在激光整形中,你需要知道目标面上的光斑是不是均匀;在显微物镜分析中,你需要知道焦区三维场分布;在DOE或SLM设计中,你需要知道不同衍射级次如何叠加;在高数值孔径系统中,你甚至还要考虑非傍轴条件下的矢量效应。所有这些,都离不开合理的传播算法。
因此,算法选择本身就是仿真精度的一部分。同样一个模型,若传播设置不合理,结果可能不是“略有误差”,而是完全失真。
二、为什么传输算法设置如此关键
在光场传输计算中,如果直接在实空间进行逐点积分,往往需要对源面上每一个采样点与目标面上每一个采样点建立耦合关系,本质上属于大规模卷积或积分运算。随着采样精度提高,网格数量迅速增长,计算量通常会呈平方级甚至更高速度上升,导致仿真时间和存储开销都非常大。为提高效率,通常需要借助傅里叶算法,将光场从实空间变换到空间频率域,也就是k空间。在k空间中,原本复杂的传播积分可以转化为更简单的乘法运算,不同空间频率分量的传播相移也更容易表达。这样不仅能显著降低计算复杂度,还能更清晰地描述衍射、传播和聚焦等过程。因此,傅里叶变换不仅是一种数学工具,更是现代光场传输高效计算的核心基础。
图1. 傅里叶变换原理
在VirtualLab Fusion里,传播并不是单一公式的机械套用,而是根据传播距离、采样关系、观察区域、数值孔径以及计算目标,选择不同的算法框架。软件之所以提供FFT、PFT、SFT等方式,本质上是为了在精度、速度和灵活性之间找到平衡。
• 快速傅里叶变换(Fast Fourier Transform,FFT):严格的傅里叶变换方法,需要满足Nyquist采样定理,解析地处理横向偏移以及线性相位;
• 半解析傅里叶变换(Semi-Analytical Fourier Transform,Semi-FT):严格的傅里叶变换方法。除了可以处理光场的横向偏移以及线性相位,也可以解析的处理二次相位项。当二次相项比较明显时,其具有明显的数值优势。
• 逐点傅里叶变换(Pointwise Fourier Transform,PFT):近似的傅里叶变换方法。对具有平滑相位的光场进行评估并逐点的转换到目标域。主要用于处理强波前相位。不考虑衍射。
三、利用不同的算法组合实现多样化的运算。
利用VirtualLab Fusion中提供的FFT/SFT以及PFT算法,可以实现多种光场传输算法,如通过FFT/SFT以及逆向FFT和逆向SFT可以实现快速Rayleigh-Sommerfeld integral.
图2. 利用FFT、SFT和PFT实现各种积分算法
远场积分用于计算光场在远场区域的分布,本质上是把源面光场与目标面光场之间的传播关系转化为空间频率域中的处理问题。在传统方法中,这类计算通常对应标准傅里叶变换;而在更复杂的传播场景下,还需要考虑波前映射、像差修正和倾斜观察面等因素。VirtualLab Fusion 的优势在于,它可以通过 FFT、SFT以及逆向PFT 等不同傅里叶变换算法的组合,灵活实现标准远场积分和广义远场积分,从而兼顾计算效率与建模精度。
德拜积分主要用于描述高数值孔径系统中的聚焦场分布,尤其适合焦点附近电磁场的精确分析。它本质上是将出瞳面上的光场分解为不同方向传播的平面波,再在焦区进行叠加,因此与傅里叶域传播密切相关。VirtualLab Fusion 可以借助 FFT、SFT 以及相关傅里叶传播算法的组合,实现标准德拜积分以及更一般的广义德拜积分,用于分析高NA条件下的焦斑结构、矢量场分量和非傍轴传播效应。
逐点电磁场传输是指不必先计算整张输出面,而是直接求取目标点、曲线或局部区域上的电磁场值。这类方法特别适合焦点场值提取、轴上扫描和局部场增强分析。相比整面传播,逐点传输更有针对性,也更节省计算资源。VirtualLab Fusion 可以通过PFT和逆向PFT 等傅里叶算法的灵活组合,在频域中完成传播处理,再对指定位置进行场重建,从而高效实现逐点电磁场传输
四、如何多样化配置传输算法
在VirtualLab Fusion当中,若当前窗口为光路编辑器,在菜单区域的Profile Editing& Run可以看到如图的窗口,可以设置目标到元件、元件到元件以及元件到探测器的传输算法。每个通路提供三种选择:N/A,Pointwise以及Automatic。选择Pointwise, 则默认只采用FFT和IFFT算法,勾选Automatic则会自动选择合适的算法,N/A则是采用积分。
图3. 不同通路的光场传输模式设置
在Profile Editing& Run下方还有设置Pointwise vs. Integral的选项,可以分别对每个过程设置逐点、积分或者自动选择,也可以全部设置为逐点、自动或者积分,如图4所示。
图4. 逐点、自动vs积分
在光路编辑器当中双击元件或者探测器,在下方自由空间传播的选项中也可以对传输算法进行设置。如图所示,在元件中可以设置光源到元件的传输方式也可以设置元件到下一个元件的传输算法。。在探测器可以设置光源到探测器或者元件到探测器的传输算法。
图5. 在光路编辑器中设置每个元件或者探测器的传输算法
为了方便地设置不同元件地传输算法,在VirtualLab Fusion中,你还可以先点击Profile Editor,之后打开Component & Solvers,在FreeSpace Propagation中对每个元件的传输算法进行设置。点击下方的Visulization&Detectors也可以设置到探测器这段的传输算法。
图6. 在Profile Editor中设置传输算法
五、结语
VirtualLab Fusion的强大之处,不只是“能算出结果”,而是它提供了一套围绕光场传播的完整分析逻辑。VirtualLab Fusion 的场追迹技术,本质上是将光场传播统一到傅里叶域框架下,再针对不同传播任务选择合适的傅里叶变换算法组合来实现高效而精确的计算。通过这三类算法的协同,VirtualLab Fusion 能够在统一的场追迹框架中兼顾传播精度、计算效率和建模灵活性,从而实现从整面传播到局部逐点分析、从标准傅里叶传播到高NA矢量场计算的多层次光场仿真。对于使用者来说,真正重要的不是记住算法缩写,而是理解它们背后的适用条件与建模意图。
参考文献
Olga Baladron-Zorita, Zongzhao Wang, Christian Hellmann, and Frank Wyrowski, "Isolating the Gouy phase shift in a full physical-optics solution to the propagation problem," J. Opt. Soc. Am. A 36, 1551-1558 (2019)
Wang Z, Baladron-Zorita O, Hellmann C, Wyrowski F. Generalized Debye integral. Opt Express. 2020 Aug 17;28(17):24459-24470. doi: 10.1364/OE.397010. PMID: 32906987.
Wang Z, Baladron-Zorita O, Hellmann C, Wyrowski F. Generalized far-field integral. Opt Express. 2021 Jan 18;29(2):1774-1787. doi: 10.1364/OE.414314. PMID: 33726384.
|