COMSOL纳米球散射仿真:从近场电场到远场方向图全流程解析
2026/9/10 2:25:41 网站建设 项目流程

我做纳米球散射仿真的时候,踩过最深的坑是把远场方向图导出来后,角度分布和文献怎么都对不上。后来一条条查才发现,问题根本不出在物理模型上,而是我一直没搞懂COMSOL里那些远场表达式的真实含义——emw.efarxemw.efary这些变量到底返回的是什么。这篇文章就把我完整跑通“纳米球散射仿真:从近场电场到远场辐射”的整个过程写出来,包括建模、材料、PML、网格、近场提取、远场计算和常见报错排查。适合刚接触COMSOL波动光学模块、或者照着官方案例跑过一遍但结果不理想的人。

1. 动手之前,先把纳米球散射的物理模型想清楚

1.1 这个仿真到底在算哪一类问题

纳米球散射,本质上是一束平面波照射到一个半径几十到几百纳米的球形颗粒上,颗粒材料通常是金、银、硅、二氧化钛等。这个尺寸区间很有意思:它既不满足几何光学的“大颗粒”条件,也不是瑞利散射能描述的“深亚波长小球”,而是处于 Mie 散射共振区。半径为 100 nm 的金球,在可见光波段内就会表现出明显的局域表面等离激元共振,吸收截面和散射截面在某个波长会出现尖锐峰值。

COMSOL里做这件事用的接口是“波动光学模块”里的“电磁波,频域”(ewfd)。你需要关注的核心输出有两类:

  • 近场信息:球表面附近的电场分布、电场增强因子、球内功率损耗密度。
  • 远场信息:远区各个方向上的散射场幅度、远场方向图、散射截面、消光截面。

二者的物理含义和数值提取方式完全不同。很多初学者把近场表面图看明白了,到了远场就卡住,就是因为没有在“物理上到底在算什么”这个问题上先想清楚。远场不是近场电场简单乘个衰减系数,而是基于等效面源做积分变换得到的结果。

1.2 为什么Mie理论是验证数值仿真的第一道关卡

Mie散射是少有的、拥有严格解析解的光散射问题。给定球半径、球的复折射率、背景介质折射率和入射波长,就可以通过级数展开精确算出散射截面、吸收截面、消光截面,以及远场角分布。

这给我们提供了一个极好的校验工具。数值仿真里每一步都有误差来源:PML吸收不完全、网格离散、边界反射、远场积分近似。如果不拿解析解做对照,你看到的仿真结果偏差往往无法判断是物理设置错了,还是纯粹数值问题。我的习惯是:任何纳米球散射仿真,第一步永远是先搭一套Mie理论计算脚本,然后再打开COMSOL。把二者的散射截面曲线放在同一张图上,如果误差在1%以内,说明模型基础是可靠的,可以继续往复杂方向做;如果对不上,先停下来找数值设置的问题,不要急着加更多物理场。

Mie级数本身不复杂,Python里也有现成库(比如miepython),但理解它背后的物理图像更重要:颗粒尺寸和入射波长比较接近时,高阶多极子模式会参与散射,导致远场不再满足瑞利散射的对称分布,前向散射增强、背向散射出现振荡,这些现象在COMSOL的远场图里都能直接看到。

1.3 二维轴对称还是三维:先想清楚再做

球体有极高的对称性。如果入射平面波沿球的对称轴(比如z轴)传播,且偏振方向固定,那么整个系统在柱坐标下是旋转对称的,只是电磁场的偏振方向会随方位角变化。这种情况下,严格的三维问题可以投影到二维轴对称坐标系里求解,自由度大大减少,个人电脑上几分钟就能算完一个波长点。

但这里有个很容易踩的误区:二维轴对称模型中的电磁波接口,默认只在(r, z)平面内求解场分量,对偏振有特殊要求。很多人强行把x方向偏振的平面波塞进二维轴对称模型,结果得到完全错误的场分布。所以我的建议很直接:第一次建模,老老实实做三维。三维模型几何、边界、PML、远场的数据集选择都更直观,理解成本反而低一些。等三维完全跑通了,再针对大量参数扫描场景优化成二维轴对称模型,那时候你知道每一步在干什么,才有能力处理降维带来的坐标系问题。

2. 几何构建与材料赋值:从球体到PML的完整套路

2.1 先跑官方案例库里的Plasmonic Wire

COMSOL的Application Libraries里有一个现成的等离激元纳米线案例plasmonic nanowire,虽然是二维的纳米线截面,不是三维球体,但它的物理场设置思路、PML构建方式、散射截面计算和后处理流程,和纳米球散射几乎完全一致。我强烈建议第一次接触这个方向的人,先把这个案例完整跑通,再开始自己的模型。

打开方式很简单:COMSOL菜单栏“文件”里找到“案例库”,搜索plasmonicnanowire。选中案例后会加载出完整的mph模型文件,里面包含几何、材料、物理场、网格、研究、派生值,所有节点都能逐个点击查看。这个时候不要急着改参数,先把每个节点都点开看一遍,尤其是物理场里的边界条件设置、PML域的定义方式、网络剖分策略。你后面自己搭模型时,80%的困惑都能在官方案例里找到答案。案例下载好了之后,如果你是新手,建议用“从头开始”的方式运行一遍,观察求解日志里的自由度数量和计算耗时,建立对“这类问题大概需要多少计算资源”的直觉。

2.2 球的几何与背景域尺寸为什么这么纠结

以100 nm半径金球、背景为空气、入射波长550 nm为例,三维几何建模需要三层结构:

  • 球体结构:半径100 nm,材料设为金。
  • 背景域:一个包含球体的球形域或立方体域,通常半径取700 nm到1 μm左右。
  • 完美匹配层(PML):最外层包裹背景域的一层壳,厚度通常取400 nm到600 nm。

背景域尺寸有一个基本原则:PML的内边界到散射体表面至少要留出半个到一个波长的距离。如果背景域太小,散射体和PML之间的相互作用会篡改近场分布,导致共振峰偏移;如果太大,网格数量大幅增加,纯属浪费计算资源。可见光波段500 nm附近的波长,背景域半径取一个波长量级是安全的。

PML层厚度也很有讲究。COMSOL官方建议PML厚度至少是内部最大网格尺寸的3到5倍,实际工程中我取500 nm左右,配合扫描网格层数5到8层,效果稳定。

球本身可以直接用COMSOL内置的“球体”几何体素创建。关于“工作平面的作用”,这里也顺带说一句:COMSOL里工作平面主要用于在三维空间中放置二维草图,比如你要在球体赤道面画一个局域热源区域,就需要先建工作平面再画圆。对标准球体散射建模来说,几何体直接用球体体素+布尔运算组合即可,通常不需要自己画草图,所以没必要在最开始就纠结工作平面。

2.3 材料色散不能随便给常数折射率

纳米球散射里最常见的错误之一,是把金属的折射率或介电常数设成常数。金属的介电常数在可见光波段随波长变化非常剧烈,金在550 nm附近介电常数实部大约是-7,虚部大概是1.8;到了700 nm,实部会更负,虚部会明显增大。如果你随手给一个常数,比如ε = -100 + 5i,得到的共振峰位置和文献数据可能差出上百纳米,结论完全没有参考价值。

COMSOL材料库里有一些内置光学材料。对于金,可以加载材料节点里的“Au (Gold) - Johnson and Christy”数据,这是光学文献中广泛使用的折射率数据表。如果材料库里没有,也可以自己准备一份波长-折射率数据表,用“插值”函数导入,然后把材料属性设为插值函数。

一个小技巧:在定义金属材料时,你可以选择用“折射率n和消光系数κ”定义光学属性,也可以选择用“介电常数实部虚部”定义。两种方式等价,但注意在COMSOL里要注意单位写法,ε表达式的符号和单位别填错。我的习惯是直接用复介电常数,因为后处理算吸收热源时需要Im(ε)

2.4 SolidWorks导入避坑:图层、装配体与警告

很多工程场景里,颗粒模型不是标准球,而是从SolidWorks等CAD软件导出的复杂结构。这个流程里最常见的问题是:SolidWorks另存为STEP文件后导入COMSOL,出现一堆警告,比如“几何对象丢失”“面有裂缝”“导入后尺寸不对”。

我统计了一下,这类警告90%以上来自三个原因:

  1. 单位不匹配。SolidWorks里默认毫米,COMSOL建模默认米。导入后在“几何”节点下看到球的半径是100而不是0.0001,就说明单位没做转换。解决方法是导入后检查模型尺寸,必要时用“缩放”功能统一到微米或纳米尺度。
  2. 装配体与联合体。SolidWorks装配体导出STEP后,每个零件是独立对象。COMSOL里直接对这个装配体做网格剖分,零件之间的面间隙会造成网格不连续,求解器会崩溃。应该导入后在“几何”节点用“形成联合体”合并所有零件,确保共享边界是连续的。
  3. 破损曲面。复杂几何带有倒角、圆角,导入时会出现细小的退化面,网格剖分时产生非常差的单元。修复手段是在导入设置里勾选“尝试修复”,或者在几何节点里手动删除微小面。

对于标准球体,我的建议非常明确:别从CAD导入,直接在COMSOL里建模。一个球体+一个球形背景域+一个壳层PML,全程不超过两分钟,干净利落,完全绕开导入警告的坑。

3. 物理场、完美匹配层与网格:最容易出错的三个决策点

3.1 边界条件:SBC和PML到底怎么选

COMSOL电磁波接口默认提供的开放边界是散射边界条件(SBC)。SBC的数学形式在平面波垂直入射时吸收效果很好,但在入射角度较大时会有明显的虚假反射。纳米球散射的散射场是向各方向传播的,大角度分量不少,所以强烈建议加PML(完美匹配层)。

PML的原理可以粗略理解为:在计算域外层人为铺设一层“有损介质”,让进入这一层的电磁波在被边界反射之前就衰减到忽略不计。它比SBC的鲁棒性高很多。设置方法是:把最外层的壳层域单独选中,在“电磁波,频域”接口的“域设置”里勾选“完美匹配层”,然后在PML节点里设置层数和缩放因子。

还有一个必须注意的点:物理场公式要选“散射场”,而不是“全波场”。散射场公式下,COMSOL把总电场分解为已知的背景场(入射平面波)和待求解的散射场,这样PML和远场计算都更准确。背景场可以通过“从公式指定”手动输入,比如:

Eb_x = exp(-i*k0*z) Eb_y = 0 Eb_z = 0

这里的k0是自由空间波数。设置入射波幅值为1 V/m,后处理的结果可以直接当增强因子看,非常方便。

3.2 网格划分:单元尺寸与波长关系不是玄学

网格是纳米光学仿真里最影响结果质量的环节。我见过太多人把默认网格直接求解,然后远场方向图出现莫名其妙的毛刺。其实网格策略有三个关键点:

第一,散射体周围最大网格尺寸要小于介质中波长的1/8到1/10。比如空气背景中波长550 nm,最大网格尺寸取55 nm左右;如果背景是水(折射率1.33),波长变成413 nm,网格尺寸相应要缩小到40 nm。这里有一个常见误区:只按真空波长设置网格,忽略背景介质的折射率,导致介质内部解析度不足,结果偏差明显。

第二,金属球内部和表面要添加边界层网格。表面等离激元场在金属-介质界面附近衰减很快,金属内部的趋肤深度只有几十纳米,如果不用边界层网格加密球体表面附近的单元,局域电场增强因子会被严重低估。

第三,PML区域的网格要用“扫描”网格。PML域不需要自由四面体网格,而是从内边界向外逐层扫描拉伸。这和PML数学上要求的各向异性吸波层结构有关,直接用四面体网格会造成PML吸收性能大幅下降。网格层数通常设5到8层,从内向外单元尺寸逐渐增加。

三维散射模型网格全部生成后,自由度数量通常在几十万到几百万之间。个人电脑上PARDISO直接求解器可以处理这个量级,但如果你没有大内存,建议先用二维轴对称模型验证物理,再跑三维。

3.3 求解器设置与频率扫描

单波长点求解,COMSOL默认的频域直接求解器就够了。真正耗时的是波长扫描。可见光波段如果从400 nm扫到800 nm、步长10 nm,就是41个频点,每个频点都要重新求解线性方程组,总耗时大概是一个频点的几十倍。

我的做法是两段式扫描:先用50 nm粗步长扫一遍,找到吸收/散射峰的大致范围,再用2 nm或1 nm的细步长在峰值两侧加密。这样既能在曲线图上看到平滑的共振峰,又不至于扫描时间爆炸。另外,波长扫描时PML厚度和背景域尺寸都是按最短波长设计的,400 nm波长下PML性能最差,所以如果你发现短波端远场结果异常振荡,优先检查该波长下的PML吸收效果。

3.4 绘图为空的常见排查路径

“COMSOL提示绘图为空”是新手群里的高频问题。结合我自己遇到的案例,排查顺序通常是:

  1. 数据集选错。绘图时绘图组关联的数据集必须是包含求解结果的“研究/解”,不能选几何或网格数据集。在三维模型里还容易选错解的频点,导致某一频率下结果为空。
  2. 表达式名不对或单位问题。想画电场模,应该用emw.normE,不是E;想画损耗密度,注意检查变量名在指定模块下是否存在。如果表达式里有i(虚数单位)但没加绝对值,绘图组可能因为复数数据而显示异常。
  3. 网格剖分失败。如果网格节点里出现红色错误标识,说明该域网格没生成成功,对应的求解结果自然是空的。检查网格日志,定位到具体的几何域。
  4. 选择集为空。手动框选的表面或域可能因为几何操作而丢失关联,导致绘图选择集的元素数量为0。

这个排查顺序可以记下来:数据集 → 表达式 → 网格 → 选择集。90%的“绘图为空”就是这四种原因之一。

4. 近场结果提取:电场的局域增强该怎么看

4.1 电场模与归一化

求解完成后,先看近场电场分布。在“三维绘图组”里新建“表面”图,表达式选emw.normE,单位V/m。如果入射波幅值设成1 V/m,那图上的数值直接就是电场增强因子|E|/|E0|,非常直观。

在等离激元共振波长下,金球表面靠近入射偏振方向的赤道区域会出现明显的电场增强,峰值可以达到入射场的几十倍。这个增强的物理来源是传导电子的集体振荡与入射光共振,能量被局域在纳米尺度范围内。你可以通过调整颜色范围、增加表面剖切来观察球内部和外部的场差异。

一个容易被忽视的细节:近场增强因子和远场散射截面并不是简单成正比。共振条件下,近场增强最大和散射截面最大对应的波长可能略有偏移,这与吸收通道和辐射通道的竞争有关。所以如果看到“电场最强处波长”和“散射峰波长”差了一二十纳米,不要怀疑模型错了,这是等离激元纳米颗粒的正常行为。

4.2 近场电场作为热源:为后续耦合留好接口

如果你后续要做光热效应,比如热词里提到的激光打孔、等离子体射流加热颗粒这类场景,球内电场分布可以直接用来计算体积热源:

[ Q = \frac{1}{2}\varepsilon_0 \omega ,\mathrm{Im}(\varepsilon), |E|^2 ]

这个表达式里,\omega是入射光角频率,\mathrm{Im}(\varepsilon)是材料介电常数虚部。把它作为热源传给固体传热接口,就能算出颗粒和周围介质的温升分布。这是COMSOL“电磁热”多物理场耦合的基础。

但是要注意:电磁场求解出的电场必须足够精确,热源分布才能可靠。如果金属球内部的网格太粗,趋肤效应没有被正确解析,计算的焦耳热会整体偏低。这类耦合问题,我通常先单独跑电磁计算,确认电场分布和Mie理论对得上,再进行多物理场耦合,不要在电场都还没验证的情况下直接上热分析。

4.3 散射截面、吸收截面怎么算

散射截面和吸收截面是评判纳米球光学特性的核心指标。COMSOL里计算它们主要有两种路线:

路线一:远场积分法。先添加“远场”节点,然后在“派生值”里做全局计算,对远场功率进行立体角积分,得到散射截面。

路线二:内置变量法。COMSOL电磁波接口提供了一些截面相关变量,不同版本名称略有不同,常见的是在“派生值”的“全局计算”里浏览emw下的截面或功率变量,比如emw.sigmaSCemw.sigmaABS之类。具体变量名以你版本实际能选到的为准。

吸收截面也可以通过球内总损耗功率除以入射功率密度得到:C_abs = P_loss / I_inc。其中P_loss可以直接对球域内的电阻损耗密度积分。用这种近场积分法算吸收截面,比远场法更直接,而且不依赖远场数据集。

无论用哪种方法,算完以后一定要和Mie理论对比。以100 nm金球、空气背景、波长550 nm为例,散射截面和吸收截面都在同一个量级(几十纳米平方量级),具体数值会随波长剧烈变化。只要误差在几个百分点以内,你就可以相信模型。

5. 远场计算的本质:efarx、efary到底是什么

5.1 COMSOL远场节点做了什么

这是全篇最想讲清楚的部分。COMSOL里计算远场,需要先添加一个“远场”节点。这个节点会要求你选择一个闭合边界集,通常是包围散射体的一个虚拟球面,也就是PML的内边界。为什么选PML内边界?因为PML外边界处散射场已经衰减到几乎为零,远场积分应该只对真实物理区域的等效面源做。

远场计算的数学本质是近场到远场的变换:在选定的闭合边界上,通过表面电场和磁场构造出等效电流和等效磁流,再基于自由空间格林函数做边界积分,最终得到远区任意方向上的电场幅值。这个变换本身是严格的,工程上等价于标量衍射理论中的基尔霍夫积分,只是COMSOL用的是矢量形式。

所以,“远场”结果不是一个点上的真实电场值,而是通过边界积分重构出来的等效远场辐射场。这也解释了为什么远场图里你看到的是一个方向(theta, phi)的辐射强度,而不是一个空间位置(x, y, z)的场强。

5.2 efarx、efary远场分量的含义与使用方式

COMSOL里,远场电场的直角坐标分量表达式就是emw.efarxemw.efaryemw.efarz。很多人的困惑集中在“这个 x 分量到底是什么”。

我的理解是:经过近场到远场变换后,COMSOL得到一个矢量远场,efarx就是这个矢量在全局直角坐标系x方向的分量,单位仍然是V/m。但它不是你的模型里某个具体位置的真实电场,而是一个经过变换和归一化编码的远场幅度。你可以把它理解为“在给定方向上、距离归一化后的电场强度复数包络”。所以直接用abs(emw.efarx)去画图没有必要,而是应该用远场的模:

sqrt(abs(emw.efarx)^2 + abs(emw.efary)^2 + abs(emw.efarz)^2)

如果你只需要看总辐射强度的角分布,COMSOL在远场数据集的“极坐标图”里通常也提供了现成的远场模变量,可以直接调用来画方向图。

具体操作流程是:求解完成后,右键“派生值”选择“二维绘图组”,把数据集改为“远场”,在极坐标图里选择需要画的平面和角度范围。比如看xz平面内的散射方向图,设定theta从0到180度、phi=0,表达式选远场模,就能得到典型的“前向散射峰 + 背向振荡”的极坐标曲线。

5.3 远场方向图怎么分析

拿一个共振波长下的金球远场图来看:0度方向是入射波传播方向(前向),180度是背向。你会发现散射并不均匀,前向散射往往强于背向,这是Mie散射在大尺寸颗粒上的典型特征。进一步地,你可以对远场数据做积分得到前向/背向散射比,这个比值在等离激元传感、光伏陷光设计里是很有用的工程参数。

分析远场结果时,有一个非常容易忽略但极其重要的点:远场图是否出现了非物理的高频振荡。如果方向图上有大量密集的波纹,原因通常是PML厚度不够、PML网格层数不足,或者远场积分边界离散射体太近。这时候不要急着调整物理模型,先加厚PML、增加扫描层数、重新剖分网格,往往就能解决问题。

6. 从静态的纳米球到动态过程:移动网格与形状演化的扩展想法

6.1 移动网格能做什么

纯静态的球散射只是起点。实际场景里颗粒往往是动态的:激光加热下颗粒熔化形变、液滴在气流中变形、材料在等离子体射流中蚀刻。COMSOL里的“移动网格(ALE)”接口可以为这类问题提供几何变形的框架。

移动网格的思路是让网格顶点跟随物理场位移,同时保持网格拓扑不变。球表面某个局部发生位移,周围网格会跟着拉伸或压缩。实践中要特别注意单元质量:大变形会让网格单元严重扭曲、负体积,求解必然发散。我的经验是单步位移不宜超过局部网格尺寸的20%,如果需要大幅变形,就要分步求解并在每步之间重剖网格。

把移动网格和电磁场耦合起来,能够模拟“球变形过程中散射截面如何变化”这类动态光学问题,这在光镊、激光加工、相变光学存储里都有应用前景。只不过这类多物理场耦合对时间尺度的处理要小心:电磁场响应在皮秒量级,结构变形在纳秒到微秒量级,通常没必要做双向瞬态耦合,而是采用准静态思路:在每一个变形构型下重新求解频域电磁场。

6.2 从电磁热到流动:多物理场耦合的基本路线

热词里提到的“激光打孔三维”“柱状体热源”“大气等离子体射流”指向的是同样的技术路线:电磁场做源,热场做传递,流场做输运。纳米球散射的电场分布可以作为体积热源,算完电场后用固体传热接口计算温升,如果背景是液体,还可以加上层流或湍流接口模拟对流散热。

这个耦合链路的起点,就是本文第4.2节里的电阻损耗热源公式。如果要做完整的激光加热颗粒流动问题,我的建议是先算稳态电磁场,把热源固化下来,再算瞬态传热;不要一开始就做双向瞬态耦合,否则时间尺度跨了快十个量级,数值稳定性和计算成本都很难控制。

6.3 用参数扫描找共振峰:从单次仿真到设计曲线

做散射仿真唯一的目的是找到设计规律。最简单也最有效的办法是参数扫描。扫描变量可以是球的半径、背景折射率、入射波长,也可以是材料参数。COMSOL的研究设置里可以同时定义参数扫描和频率扫描,二者会交叉组合,计算量随时间增加。

一个细节:如果扫描半径,几何尺寸会变化,网格要不要重新生成?答案是必须重建。COMSOL参数扫描默认在每次参数变化时重新剖分几何和网格,除非你特别设置了“跳过网格生成”。所以如果你发现不同半径的曲线不连续、有跳变,先检查一下网格是否每个参数点都成功更新了。

扫描结束后,用“一维绘图组”以波长为横轴、散射截面或消光截面为纵轴,就能得到光谱响应曲线。共振峰的半高宽、峰位偏移、峰强变化趋势,都是后续优化设计的关键信息。

7. 我的排查清单和几个小技巧

7.1 高频问题速查表

现象可能原因解决办法
STEP导入大量警告单位不匹配、装配体未合并、曲面破损检查尺寸单位,形成联合体,勾选修复,简单模型直接重画
绘图为空数据集选错、表达式错误、网格剖分失败按“数据集→表达式→网格→选择集”顺序排查
远场方向图高频振荡PML厚度不足、PML网格层数太少、积分边界离散射体太近加厚PML、增加扫描层数、把远场边界改到PML内边界
远场结果出现NaNPML吸收失效、网格单元退化检查PML网格,删除退化单元,重剖网格
求解器内存不足三维网格过密减少最大网格尺寸要求、先改二维轴对称模型验证
共振峰位置和文献对不上材料介电常数给错或设为常数改用波长相关的Johnson数据插值
参数扫描曲线不连续每个参数点没有重新剖分网格确认扫描设置里勾选了几何更新和网格重建

7.2 几个让效率翻倍的实操技巧

先跑二维再跑三维。二维模型通常几分钟就能出结果,适合快速验证物理模型、边界条件和材料设置。三维模型一套下来可能要几十分钟甚至更久,如果基础方案都没验证就开跑三维,时间成本太高。

把Mie理论解放到同一张图里对比。计算完散射截面后,把解析解曲线和COMSOL数值解放在同一坐标系里。两者的最大偏差如果超过2%,就要回头检查网格和PML。这个习惯能帮我在半小时内判断一个模型是否可靠,而不是花一整天在错误模型上做参数扫描。

写日志,记录每个版本的关键设置。别高估自己的记忆力。同一套模型改材料、改半径、改PML厚度后结果完全变了,没有日志的话,你根本不知道是哪一步引入的偏差。我一般会在模型文件名里带上关键参数,比如Au_sphere_r100_air_550nm_v3.mph,并在模型文档节点里写一段备注。

遇到怪问题先看求解器日志。COMSOL日志窗口会输出网格信息、自由度数量、每步求解的残差和迭代次数。很多时候“结果不对”在日志里已经有预兆:比如某个频点求解器迭代次数骤增、PML域平均单元质量低于0.3,这些信息比后处理里的异常图形出现得更早。

7.3 我习惯的最终验证流程

每次跑完一套纳米球散射仿真,我会按这个清单过一遍:

  1. 球外背景域内电场分布是否连续,PML内边界处是否没有明显反射条纹。
  2. 球表面电场增强最大值是否在一个合理的量级(共振时通常比入射场高一个量级以上)。
  3. 散射截面、吸收截面是否和Mie理论误差在2%以内。
  4. 远场方向图是否光滑,没有非物理振荡。
  5. 参数扫描曲线是否符合经典等离激元共振趋势(峰位随半径增大红移)。

这五条全部通过,我才会认为这套仿真结果是可靠的。

做远场计算时,我最初看到emw.efarx这个名字,想当然地以为是模型里某个位置的电场分量,折腾了很久才明白它是近远场变换后的等效辐射矢量。COMSOL算远场的底层逻辑是边界积分等效源变换,而不是把近场电场直接外推。希望这篇文章能帮你少走这段弯路——从近场到远场,真正难的不是点哪几个按钮,而是每一步的物理图像是否清晰。把这套基础链路跑通了,后续无论是做多物理场耦合、参数优化还是复杂形状散射,你都会有一个很稳的起点。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询