JCMsuite布局描述提供了许多设置复杂几何图形的方法。例如,在多核光子晶体光纤示例中,我们使用晶格副本来创建固体核光子晶体光纤的空气孔的排列。然而,在某些应用中,可能需要描述几何图形,这些图形不能用简单的圆、平行四边形等表示,或者类似物体的复杂阵列非周期排列在规则网格中,需要晶格复制来实现。在这种情况下,通常需要用任意边界曲线来描述几何对象,即一般多边形。这就是本例的情况,其中光子晶体包层的内部孔和中心孔形成复杂的形状。其几何结构为中空光子晶体光纤,如下图所示:

显然,这个描述很难“手工”完成,输入所有点的坐标。相反,在JCMsuite的Matlab®接口的帮助下,建立一个复杂的几何图形和模拟运行完成。
JCMsuite的Matlab®接口允许使用所谓的模板文件生成这样复杂的文件。因此,可以将JCMsuite语句和Matlab语句进行混合,例如,计算孔隙的点位置。Matlab循环允许在位移位置或修改形状生成多个对象。关于该机制的完整描述可以在Matlab®Interface中找到,并且超出了本例的范围,本例仅用于演示嵌入式脚本的能力。
这个例子的project.jcmp、 layout.jcm 和 materials.jcm文件包含了模板文件 ,就要添加一个“t”作为对应模板的后缀。模板被设计成这样一种方式,只需要定义几个用户定义的参数,如圆角、周期、包层环的数量等,就可以生成复杂的布局描述。这些主要的输入参数是在run_project中设置的。m脚本。当它在Matlab中执行时,命令:
results = jcmwave_solve('project.jcmp', keys);
在run_project.m脚本内将模板转换为常规的JCMsuite输入文件,网格划分并布局,并运行模拟。此外,脚本将结果结构中存储的特征值写入控制台。
计算得到的空心模式是双重简并的。下图显示了计算得出的模态强度(第一行)和相应的向量场分布(第二行)。

文章介绍了如何利用JCMsuite的Matlab接口和模板文件来创建复杂的光子晶体光纤几何结构,特别是对于那些不能简单表示或通过晶格复制实现的形状。通过Matlab脚本自动化生成和调整孔洞位置,实现对中空光子晶体光纤的精确建模和模拟。执行run_project.m脚本会将模板转换为JCMsuite输入文件并运行模拟,展示出双重简并的空心模式。

879

被折叠的 条评论
为什么被折叠?



