CST 如何实现空间分布变化的材料设置
本期我们介绍一个材料设置的问题,比如一块材料的参数随着他的空间位置不同,他的参数是不同。我们不可能把材料切割成很多块,这也做很不现实,而且中间过渡也不平滑。其实 CST 具有一种空间分布的材料设置方法,不过需要用 VBA 来实现,所以使用的人不是特别多。
其实只要用户自行按 CST 的格式说明对材料在不同的空间位置进行定义,然后再加给材料使用是非常方便的。
下面我用一个简单的例子说明一个空间分布不同介电常数 Eps 的例子来说明用法。
Step1 : 创建基本的模型和设置
这里我创建了一个真空的介质块,设置介质块的材料 material1 为 Eps=1 的 nomal,如下图所示:
这样当平面波照射这个材料的话是不会有反射的。(相信需要用到空间分布材料的人应该熟悉基本的 CST 建模仿真方法,所以就省略了基本的操作。)可以看到平面波照射时候电场分布是和材料外连续的,没有任何突变,如下图所示:
Step2 : 创建空间分布的文本在这块 20mm*20mm*5mm 的介质块,我们希望其中不同的位置具有不同的 Eps 值,所以需要按照帮助文件 VBA object 里的例子创建一个 txt 的文本文件。帮助文件的说明如下图位置:
这里对于空间分布的材料格式说明如下图:
简单来看就是对应不同的 x y z 坐标,按一定的采样可以设置一个值,软件会根据前后的值进行插值填充过度部分的值。
这里为了简单演示,这里我们创建一个用来演示的 SVM.txt 的文本,在 x>0,y>0 的四分之一区域的 Eps 设置为 5,并且 x 和 y 和 z 都只采样了 3 个点,z 只采样了 2 个点,这样一共是 27 个地方需要赋值,这里 27 个值全部设置为 5,文本例子如下图所示:
用户可以自己按照函数编写材料属性和空间位置的关系,仅仅需要把最后的结果按文本格式编写。当然也可以借助 CST 自带的宏创建一个文本格式。
这里的 fuction 用户可以自己根据下面的变量自己编辑的,为了要达到本例的目的,可以在宏里输入如下的参数,如下图所示:
运行了上述宏之后,会在当前文件的 Temp 目录下生成一个 Spatially_Varying_Material_Analytical_eps.txt 的文件和上文的文件一致。
Step3 : 打开 historylist 修改 material1 的属性因为空间分布材料必须要 VBA 控制,所以我们需要打开在 historylist 里的 material1,如下图所示:
加入如下的语句,如下图所示:
这些语句也在帮助文档中可以找到具体的说明,简单来看就是定义 material1 是空间变化的材料,并且材料是通过 txt 文档输入赋值的,然后转换一个 m3d 文件,软件在识别空间变化的材料的属性的时候会去找这个 m3d 文件。通常转换后的文件保存在目录下的 Model/3D 目录下面。更多更详细的用法可以在下面帮助文档的下面位置找到,如下图所示:
Step3 : 再次运行仿真改成空间分布变化的材料后,我们可以看到材料属线有 basemap 的标识,如下图所示:
除了特殊赋值的 Epsilon 以为,其他材料值都是 Material1 的默认值。
在仿真完成开始后,我们在 2D/3D result 下会有个新的文件夹,如下图所示:
点击这个地方可以看到,这块材料已经按照之前的文档进行了空间不同分布定义,如下图所示:
软件是插值计算的,所以为了得到比较好的结果,需要更密集的采样。同样再一次观察场的结果,可以看到明显的不同 Epsilon 的现象发生。
【推荐内容】
评论