三台网站seo锦州网站建设多少钱
三台网站seo,锦州网站建设多少钱,南阳注册公司,什么是seo标题优化Comsol光子晶体板模式识别#xff0c;全模型方法和半模型方法对比。光子晶体板模式分析总让我想起拼乐高的状态——明明图纸画得很清楚#xff0c;但实际操作时总有几个零件死活对不上号。在COMSOL里折腾全模型和半模型的时候#xff0c;这种感觉尤其强烈。今天咱们就来唠唠…Comsol光子晶体板模式识别全模型方法和半模型方法对比。光子晶体板模式分析总让我想起拼乐高的状态——明明图纸画得很清楚但实际操作时总有几个零件死活对不上号。在COMSOL里折腾全模型和半模型的时候这种感觉尤其强烈。今天咱们就来唠唠这两种方法的实战对比顺手扒拉几个关键代码片段。全模型法就像把整个乐高城堡一次性拼完。比如我们要搞一个5x5的六方晶格光子晶体板直接在几何序列里暴力生成所有圆柱阵列for i 1:5 for j 1:5 cylinder_pos [ (i-1)*a*0.866, (j-1)*a mod(i,2)*a/2 ]; model.geom(geom1).create(cylstr(i)str(j), Cylinder); model.geom(geom1).feature(cylstr(i)str(j)).set(pos, cylinder_pos); model.geom(geom1).feature(cylstr(i)str(j)).set(r, r); end end这种暴力美学看着挺爽但算起来要人命。特别是扫描波矢参数时网格数量直接爆炸。有次我设置了0.01π/a的扫描步长结果32G内存的台式机直接卡成PPT——建议各位在跑全模型前先给电脑喂两粒速效救心丸。半模型法就鸡贼多了像只取城堡的一个角楼来研究。核心在于周期性边界条件和Floquet端口这对黄金搭档model.physics(emw).feature(pc1).set(type, floquetperiodic); model.physics(emw).feature(pc1).set(k, {kx, ky}); model.physics(emw).feature(pc1).set(shift, {0, 0});这段代码让COMSOL把单胞边界处理成无限延展的结构相当于用一面镜子造出整个城堡。但这里有个坑——对称面设置要是没对齐晶格矢量方向算出来的模式能歪到姥姥家去。我有次把六方晶格的周期性边界设成了直角坐标系结果特征频率全跑偏活活浪费三天才发现这个低级错误。Comsol光子晶体板模式识别全模型方法和半模型方法对比。两种方法在模式识别精度上其实相差不到0.5%但计算时间能差出数量级。用半模型跑TE模式扫描20分钟就能出能带结构全模型得憋上三小时。不过在做缺陷态分析时全模型的优势就出来了——毕竟半模型的对称边界会限制缺陷的几何自由度。说到求解器配置这里有个骚操作分享model.study(std1).feature(param).set(pname, {kx, ky}); model.study(std1).feature(param).set(plist, {[0:0.05:pi/a], [0:0.05:pi/a]}); model.study(std1).feature(eig).set(neigs, 20);把特征数设到20左右既能抓住主模又不会漏掉高阶模式。注意别手贱设置太大超过50的话求解器分分钟教你做人。有次我设了100个特征数想搞大全套结果特征频率曲线乱得跟心电图似的根本没法用。最后给个实战建议做常规能带分析用半模型周期性边界省时间搞微腔或者缺陷态设计再切全模型。记得保存算例时把两种方法的模型文件分开命名别问我怎么知道这个经验的——说多了都是凌晨三点找自动保存文件的泪。