体验 COMSOL Multiphysics® 5.2a 中全新的射线追踪算法

2016年 6月 20日

使用新发布的 COMSOL Multiphysics® 5.2a 版本,可以在网格未剖分的域内实现射线追踪,甚至还能释放和追踪几何外的射线。“射线光学模块”提供了一个全新的算法,所涉及的功能远不止上面所提到的,由此您可以轻松准确地模拟射线光学设计。让我们来探讨一下,在建立典型的射线光学模型时,这一新算法会对工作流产生怎样的影响。

追踪网格已剖分域之外的射线

在前几版的“射线光学模块”中,射线只能在网格已剖分的域内释放和传播。这是因为射线追踪过程的许多基本部分都要用到网格单元,例如在检测边界的相互作用、查询域的折射率以及其他诸如累加器这样的高级功能时。

在 5.2a 版本中,就算射线不在任何网格单元内,但只要边界已剖分网格,则我们仍能够检测到边界的相互作用。在实际应用中,这意味着只要一个表面已剖分网格,即使它没有毗邻的域网格,您也可以对该表面的反射进行模拟,甚至还可以创建与任何域都不相邻的“浮动”表面。此外,还可以为未剖分网格的区域指定折射率。

校准光束通过凸透镜聚焦。
校准光束通过凸透镜聚焦。射线可以在凸透镜和几何以外未定义网格的区域中传播。射线的颜色表达式基于强度,网格颜色则与单元尺寸成正比。

新的算法意味着只要满足以下条件,网格已剖分域外的射线也能准确追踪:

  • 介质均匀、各向同性且与场变量(例如温度)无关。
  • 所有未剖分网格区域的折射率相同。
  • 在网格未剖分区域,不存在类似域累加器这样涉及网格的高级功能。
  • 所有影响射线传播的边界都已剖分网格。这样的边界条件包括:材料不连续性、吸收或散射壁、衍射光栅和线性偏光镜之类的光学组件等。

简单的透镜系统示例模拟

让我们从一个简单的示例开始。我们构造了一个二维模型,其中射线通过一对柱形凸透镜聚焦。

在上一个版本 COMSOL Multiphysics 5.2 中,我们必须创建一个包含两个透镜的几何,且其周围是一个空气域或真空域,如下图所示。射线首先传到第一个透镜的左侧,并在正 x 方向传播。颜色表达式与射线强度的对数成正比。

COMSOL Multiphysics 5.2 版本中模拟的射线光学透镜系统。
在 COMSOL Multiphysics 5.2 版本中模拟简单的射线光学透镜系统。

让我们仔细查看一下模型开发器和这个几何。几何序列包含两个柱形半凸透镜零件,它们来自射线光学模块内置的零件库。这两个透镜显示为绿色。还有一个空气矩形 (n = 1)。透镜和周围的空气域都必须剖分网格。如果射线在空气域以外释放,或者如果移除空气域中的网格,则射线会立即消失,不再传播。

现在,我们来看一下 5.2a 版本内置的同一模型。

在 COMSOL Multiphysics 5.2a 版本中模拟射线光学透镜系统。
最新的 COMSOL Multiphysics 5.2a 版本中的同一透镜示例。

最明显的变化是没有了空气域。但几何以外这个空区域中的射线仍可以跟踪,仍可以指定折射率。移除空气域的另一个好处是,可以改变透镜的焦距,而不必担心是否需要重新调整周边域的大小,才能捕捉到所有相关的物理场数据。射线可以按照您的要求继续传播。

请注意模型开发器中默认边界条件中的区别。在 5.2 版本中,“壁”边界条件自动应用于外部边界,而“材料突变”边界条件则应用于内部边界。在 5.2a 版本中,默认情况下“材料突变”同时应用于内部和外部边界,这一点表明:射线不再受几何光学物理场接口选择的约束。

尽管现在可以追踪几何以外的射线,但有些高级功能无法在空域或网格未剖分的域内使用。例如,在上述示例中,我们不能将沉积射线功率功能定义到几何外的空气中,因为此功能仅沉积网格单元中的吸收射线功率。

实质上,您可以将空间网格未剖分的区域认为是在“几何光学简化”接口中选定的,该接口支持射线传播、反射、折射以及吸收等基本功能,但无法实现在变折射率介质中加热和传播这样更特殊的现象。既然现在可以在包含网格已剖分域以及网格未剖分域的任何组合区域追踪射线,那么通常的解决方法就是对必须考虑特殊现象的域进行网格剖分。

物理场控制的网格

正如我之前所提到的,尽管现在支持射线在网格未剖分的域中传播,但也只有在边界已剖分网格时,射线才与表面交互。使用默认的物理场控制的网格的网格序列会自动建立以下网格序列:

  1. 几何光学接口中选定的所有域均已剖分网格。因此与这些域相邻的所有边界也已剖分网格。
  2. 所有应用了边界条件的表面已剖分网格。即使表面与上方列出的任何域都不相邻时,也是如此。

下方屏幕截图演示了这一物理场控制的网格序列。该几何阵列是 9 个按 3*3 排列的立方体。其中三个立方体是在几何光学接口中选定的。几何和网格如下所示。

显示立方体阵列的物理场控制的网格序列屏幕截图。
立方体阵列的物理场控制网格序列的几何和网格。

在左侧绘图中,几何光学接口中选定的立方体显示为青色。这三个选定立方体的外部边界和内部边界上自动指派了“材料突变”边界条件。其他边界(显示为红色)上指派了“壁”边界条件。有些内部边界(显示为白色)以及顶部及底部表面的一些边界(未显示)上未指派任何边界条件。

接着,生成一个物理场控制的网格,网格大小选择较细化。右侧绘图显示了生成的网格。域网格显示为青色,边界网格显示为红色。一个单元过滤器用于显示体积单元的横截面。注意,几何光学接口中选定域以外的所有其他域均未剖分网格,且任何边界上都未应用边界条件。

使用新的射线追踪算法更新 App 库示例

5.2a 版本改进了“App 库”中绝大多数的射线追踪示例。一般而言,这样的更新仅涉及对几何和模型建立进行的简化,因为不再需要绘制所有几何实体周围的空气。

Czerny-Turner 单色器

在“Czerny-Turner 单色器”教学模型中,校准镜、聚焦镜和衍射光栅排列成十字形 Czerny-Turner 结构,将多色光分解成不同的颜色。要了解有关此模型的更详细信息,请阅读上一篇博客文章

在 5.2 版本中,此模型在镜面和光栅周围使用了空气域。网格和生成的射线轨迹如下所示。

COMSOL Multiphysics 5.2 版本中 Czerny-Turner 单色器的网格和射线轨迹。
COMSOL Multiphysics 5.2 版本中,Czerny-Turner 单色器的网格(左图)和射线轨迹(右图)。

在 5.2a 版本中,空气域已完全移除。事实上,几何光学接口中的选择列表完全是空白的,模型中未包含基于域的物理场特征或域网格,只有边界条件和边界网格单元。注意,左图中的网格自动应用于所有反射射线的平面,不管射线由“壁”特征还是“衍射光栅”反射均是如此。对网格序列唯一要做的手动更改是,在网格设置中指定一个小的曲率因子,从而细化弧形校准镜和聚焦镜。

使用 COMSOL Multiphysics  5.2a 版本中更新功能后 Czerny-Turner 单色器中的网格和轨迹。
使用 5.2a 版本中的更新功能后显示的同一模型的网格(左图)和轨迹(右图)。

热致焦距漂移

热致焦距漂移是一种高能激光聚焦系统中常见的现象,在这样的系统中,由于激光发热使透镜发生热膨胀,折射率随温度和应变发生变化,从而降低系统的聚焦能力。

在 5.2 版本中,透镜周围需要创建一个空气域。增加热致焦距漂移模拟难度的因素之一是,透镜发生任何变形,周围的空气域也相应地需要发生变形。这意味着,在 5.2 版本中,必须对空气域应用移动网格接口。

下图中,在固体传热固体力学接口中选择透镜域(红色)。在移动网格接口中选择空气域(白色)。几何光学接口中选择所有三个域。

COMSOL Multiphysics 5.2 版本中执行的热致焦距漂移仿真绘图。
COMSOL Multiphysics 5.2 版本中模拟的热致焦距漂移。

COMSOL Multiphysics 5.2a 版本不再需要移动网格接口。几何中的唯一域是两个透镜,射线在周围空白空间自由传播。这使模型不再那么杂乱,如下图所示。由于不再需要移动网格接口,所以现在建立模型极其方便,网格尺寸一致时所需要的自由度也更少。

COMSOL Multiphysics 5.2a 版本中模拟的热致焦距漂移。
5.2a 版本中模拟的相同的热致焦距漂移。

Luneburg 透镜

Luneburg 透镜包含一个球状、对称的渐变折射率介质,可用于聚焦校准的射线。不过,正如我之前所提到的,要追踪网格未剖分域内的射线,介质必须是均匀的;也就是说,介质的折射率不允许是渐变的。解决方法是在几何光学接口的选择中包含渐变折射率的域,这样物理场控制的网格序列就会自动创建域网格。透镜以外区域的折射率一致,因此可以将其排除在几何之外。在 Luneburg 透镜这种情况下,几何以外区域的折射率就可以认为是一致的。

透镜域是半径为 R 的球体,其中折射率 n 是径向坐标 r 的函数:

n=\frac{1}{f}\sqrt{1+f^2-(r/R)^2}

这里 f 是控制近轴射线焦点位置的无量纲参数。

f=1 时,焦点位于球体表面,而当 f>1 时,焦点则在球体之外。注意,对于 f 的任意正值,球体 (r=R) 外部的折射率始终为 1;因此,模型中任何位置都没有反射或折射,射线方向上的所有变化仅与折射率梯度相关。

下图显示 f=1.1 时透镜中的射线轨迹。平行射线从左侧传入,通过透镜聚焦。球体域的颜色表达式和折射率成正比,折射率在球体中心达到最大值。沿射线轨迹的颜色表达式与射线强度的对数成正比。

描述 Luneburg 透镜中射线轨迹的视图。
Luneburg 透镜中的射线轨迹。

限制在选定的域外传播

在使用 5.2a 版本中的新模型或是在 5.2a 版本中打开旧模型时,默认情况下都可以使用释放几何外的射线这个新功能。不过,还是可能会禁用此新功能,所以如果射线在网格剖分的域外释放或传播,则它们会再次消失。为限制射线仅在网格剖分的域内传播,先要启用高级物理场接口选项,如下所示。然后,在该物理场接口的高级设置窗口中清除允许在选定的域外传播复选框。

显示如何禁用新的 COMSOL Multiphysics 功能使射线在几何外释放的屏幕截图。
您可以轻松禁用这个新的默认功能,使射线在模型几何外释放。

关于射线光学和 COMSOL Multiphysics® 5.2a 版本的更多资源


评论 (0)

正在加载...
浏览 COMSOL 博客