
Comsol散射体BIC模型:2D演示,快速跟进
COMSOL里玩BIC(连续体中的束缚态)最近有点火,今天咱们拆个新鲜出炉的二维散射体模型。这玩
意儿最大的爽点就是能在特定参数下搞出理论上零泄漏的谐振模式,像是给电磁场造了个隐形的牢笼。
先撸个结构原型:在二维空间堆叠几个硅圆柱,摆成蜂窝晶格。重点是要在周期性结构中切出特定
缺陷——比如中间挖空两个相邻的柱子。COMSOL建模时用矩形晶格生成器,然后手动删单元的操作比PS修图
还简单:
```matlab
model.geom('geom1').feature.create('rfs1', 'RectangularLattice');
model.geom('geom1').feature('rfs1').set('dx', 'period');
model.geom('geom1').feature('rfs1').set('dy', 'period*sqrt(3)/2');
% 手动删除特定位置的圆柱
delete_idx = [5,12];
model.geom('geom1').feature('cyl').set('active', ~ismember(1:20, delete_idx));
```
这波操作相当于在完美晶体里制造可控缺陷,后续调参时发现当晶格常数与波长满足特定比例时,
原本应该向外辐射的模式突然"自闭"了——这就是BIC现形的时刻。
扫频计算要用频域求解器配参数化扫描,但这里有个坑:常规的本征频计算可能漏掉BIC。得改用散
射场公式,通过监视远场辐射功率来判断是否触发BIC条件:
```matlab
study.step('freq').set('plist', 'linspace(0.8e14,1.2e14,50)');
model.result.table.create('tbl1', 'Table');
model.result.table('tbl1').set('data', 'dset3'); % 读取散射截面数据
```
当某频率点的散射截面突然跌到1e-6量级时,赶紧保存该参数组合——这时候结构里的场分布就像
被按了暂停键,能量死死锁在缺陷区打转。
最后验证别忘了场分布的可视化技巧:在结果里新建表面图,选电场模的平方做表达式。BIC模式的
特征很明显——场强集中在缺陷区域,且相邻晶胞的相位呈现反相震荡:
```matlab
model.result('pg1').feature('surf1').set('expr', 'emw.normE^2');
model.result('pg1').feature('surf1').set('descr', '电场能量密度');
```