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的现象发生。