显然,这个描述很难“手工”完成,输入所有点的坐标。相反,在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输入文件,网格划分并布局,并运行模拟。此外,脚本将结果结构中存储的特征值写入控制台。计算得到的空心模式是双重简并的。下图显示了计算得出的模态强度(第一行)和相应的向量场分布(第二行)。

我要赚赏金
