手性超表面圆二色性comsol仿真 左右旋圆偏振光照射超表面的仿真, 圆二色性的计算

手性超表面圆二色性comsol仿真 左右旋圆偏振光照射超表面的仿真, 圆二色性的计算 comsol光学仿真

最近在折腾手性超表面的仿真,发现用COMSOL搞圆二色性(CD)计算这事挺有意思的。特别是左右旋圆偏振光打上去之后,结构的手性响应能把人看懵------就像拿两把钥匙开同一把锁,结果发现其中一把压根插不进去。

先说个坑:COMSOL里设置圆偏振光千万别直接点预设的平面波。手贱试过用内置的右旋偏振模板,结果发现电场旋转方向和理论对不上。后来翻手册才发现,坐标系定义会影响旋转方向判断。现在我的土方法是手动敲代码定义电场分量:

python 复制代码
model.physics('emw').feature('ewfd').feature('src1').set('E_x', '1');
model.physics('emw').feature('ewfd').feature('src1').set('E_y', '-i');

这里虚数单位i的位置决定旋转方向。之前把i放在y分量前面,结果出来的偏振态直接表演原地反转。后来拿MATLAB画了个电场矢量图验证才发现相位差搞反了------这玩意儿比女朋友的心思还难猜。

材料参数设置更刺激。手性介质需要同时定义电导率和磁导率张量,有次偷懒直接输各向同性参数,结果仿真出的CD谱长得跟心电图似的。后来改用旋转坐标系下的本构关系:

matlab 复制代码
% 手性参数矩阵(epsilon和mu)
chi = 0.15;  # 手性参数
epsilon = [1.5+chi, 0, 0;
           0, 1.5+chi, 0;
           0, 0, 1.5];
mu = inv(epsilon);  # 这步其实有物理意义...

实际在COMSOL里得用全矩阵输入,每个分量带复数值。有次手抖把矩阵对角线输错位置,结果算出来的透射率出现负值------好家伙,直接发明了光学永动机。

说到结果处理,CD值计算别傻乎乎地只记公式。实测发现用(AL - A R)/(AL + AR)可能会漏掉相位信息。后来改用场分布积分法:

java 复制代码
// 场数据导出后处理
double[][] E_L = loadFieldData("LeftCircular");
double[][] E_R = loadFieldData("RightCircular");
double CD = 0;
for(int i=0; i<gridPoints; i++){
    CD += cross(E_L[i], E_R[i]).z * dS; 
}

这方法能捕捉到局域场的手性相互作用。有次发现某个谐振点的CD值突然爆表,调出电场云图一看------结构边缘出现了光学龙卷风,场强打着旋儿往上窜。

最后说个玄学经验:网格划分时要在结构拐角处加密到λ/20以下,否则手性响应会被数值噪声吃掉。有回不信邪用默认网格,结果CD曲线平滑得能当滑雪道,加密后立马蹦出三个特征峰。这仿真啊,有时候真得靠点直觉,跟老中医号脉似的。

相关推荐
2601_962055975 小时前
跟据spring boot版本,查看对应的tomcat,并查看可支持的tomcat的版本范围
spring boot·后端·tomcat
Lost of 程序猿6 小时前
ASP.NET Core API 幂等性设计深度实战:从一次重复申领事故说起
后端·asp.net
QQ_21696290967 小时前
【源码编号:project79475】SpringBoot校内二手交易平台:商品发布、分类检索、留言交流、订单管理全流程实战
java·spring boot·后端
郑州光合科技余经理8 小时前
本地生活服务系统:模块边界与结算字段怎么拆
java·开发语言·前端·后端·系统架构·uni-app·php
IT_陈寒8 小时前
Vue的嵌套组件竟然吃掉了我的事件?
前端·人工智能·后端
大辉狼_音频架构9 小时前
进阶:从源码编译 SOF 固件与 topology
后端
大辉狼_音频架构9 小时前
上板:让 SOF 在 FRDM-i.MX8MP 上跑起来
后端
大辉狼_音频架构10 小时前
FRDM-IMX8MP UUU 烧录 eMMC 指南
后端
运行时异常11 小时前
【WMS 仓储系统集成 AI Agent 实战】第 3 讲:Spring Security 6 + JWT——addFilterBefore 一词之差,全站 401
java·后端
LinMINGJing00711 小时前
PageHeaderData:Page 的页面头
后端