如何实现空间分布变化的材料设置 --- 2

之前写过这个问题,只是当时对于宏 Materials-> Create Spatially Varying Material from Analytical Formula 没有细讲。
很多用户在使用过程中发现宏生成的材料 3D 结果很奇怪,这期我们来看一下。
模型我们用个 60x60x60mm 的方块,中心在原点,自带的 demo 天线在旁边,纯粹为了能够跑起来,因为 2D 材料结果图需要仿真起来才能看到。

测试情况 1:
基本就用默认的范围,函数简化一下:

将模型赋予材料:

默认网格不够密,并且采样能够使介电为零,所以求解器运行会报错:

测试情况 2:
同样的函数,我们用 Z 方向偶数个采样,这样就不包括 Z=0,所以函数值就不为零了。

这个函数 3Z^2 是 Z 在-5 到 5 中定义的,所以我们可以预期最大的介电常数应该是 75, 位置是 Z=5 或-5 的平面,对吧?还可以预计,这两个平面之间的介电大小是随着 Z 的大小变化的;还有 X 和 Y,-10~10 以外是没有介电定义的。
仿真结束后,查看材料的介电分布:


问题来了,分布图变化趋势和预计的完全不同,最大值也不是 75,这是为什么呢?这就是本期要回答的问题。
答案就是和网格有关。目前的网格是这样的,Z 方向上一个网格 4mm 还多,比我们的材料 Z 方向采样距离 10/9mm 大太多了,所以分辨不出来。

如果我们对其进行本地网格加密,使每个方向的网格都是 1mm,这样网格尺寸基本等于材料的采样尺寸:


这样就可以清晰的见到两个 Z 方向的介电变化材料了:

我们可以用后处理将 Z 轴的材料值提取出来检查:

可见确实是二次函数的曲线,到 Z=5 是最大值,然后降到 1。由于材料是插值的,所以介电分布有个渐变,也就是说,我们不会在 Z=5 看到红色直接变成蓝色。当然这个渐变我们的函数的确没有定义,但不算错。想要减少六面体网格的边缘场误差,加密网格就可以了。

测试情况 3:
下面我们将 Typical material data value (for meshing)从默认的 1 改成 50,其他的不变,看看效果:

我们将本地加密网格去掉:

可见该材料信息显示介电是 50:

仿真结束,在定义范围之外的区域,介电常数就是 86 左右了:


我们确实是在宏中定义了在一定的 XYZ 范围内,介电与 Z 坐标相关的函数 3*Z^2,但是该材料用于比定义 XYZ 范围大的结构,所以范围之外的介电是什么值呢?就是这个 typical material data value 默认为 1 我们改成 50 的值。
如果这时我们查看网格,就会发现默认的全局网格划分的很密,不需要手动本地加密了。这是因为全局网格设置中有一项根据材料属性加密网格,所以介电=50 的材料就自动加密了,正好也方便我们查看该材料的介电分布。

最后我们来解释,介电分布的具体值为什么和函数中预计的不一样。原因就是,之前我们看介电分布场和后处理提取 Y 轴的场,用的都是绝对值 Abs:


绝对值 Abs 是 Sqrt(X^2+Y^2+Z^2),其中 XYZ 是介电的三个方向分量,每个分量的定义式都是我们在宏里面写的空间变化函数 3*($Z^2)。
情况 2 中,我们预计 Z=5 时,3*Z^2 = 75,而介电分布显示最大值在 Z=4.95,Abs 值为 109-111 左右。
换成 X 分量或 Y 分量就可见到最大值是 75 左右了:

后处理分别提取 XYZ 分量,sqrt(73.7^2+73.7^2+32.2^2)=109 没错。

情况 3 中,我们也是预计 Z=5 时,3*Z^2 = 75,而介电分布显示最大值在 Z=5.7,Abs 值为 92.5 左右;我们改了介电默认值为 50,但图中显示非定义的材料范围默认介电是 86 左右。
换成 X 分量或 Y 分量就可见到默认介电为 50 了,sqrt(50^2+50^2+50^2)=86.6 是对的。

后处理单端提取 XYZ 分量:

Abs 最大值 sqrt(50^2+50^2+59.6^2)= 92.6 也是对的。
那为什么两个情况中的 Z 分量都不是 75 呢?最大值怎么不是准确地在 Z=5 呢?为什么 XYZ 分量不完全一样呢?
这些问题的答案还是和网格、材料采样、后处理采样这些有关,如果想看就继续提高精度吧!比如我就可以得到这样的:

小结:
1)空间分布变化的材料可通过宏和自定义函数实现,随网格而定义。若结构大过该材料定义范围,范围之外将用宏中的 typical 默认值。
2) 观察空间材料分布场需要 T 求解器跑起来之后,注意观察的是 Abs 值还是张量(XYZ 分量);注意网格和采样的精确度,材料函数在所有采样点需大于零。
3)F 求解器不支持该材料。
4)时域六面体网格观察场分布时(电磁场,功率场,材料分布等等),边缘处往往因为插值过渡而貌似不准确,尤其是场值骤变的边缘。其实只是采样的误差,加密网格可大幅减少该误差,不影响结果精确度,比如场积分结果,截图写 paper 等等。
评论