在CST中提取任意面上的电场
JH同学提出了如题所示的问题,这个问题源于想到了关于“已知某等相位面上场,如何将其分解为各正交的模式”问题的一个解决思路:类似于傅里叶变换中,用一个已知的基(即某个正交模式)与仿真得到的合成场,在等相位面上做内积,积分得到的值即为该正交模式的系数(通过它可以表征该模式在合成场中的能量比例)。
一种最粗暴的方式当然是设置probe,用VBA或者matlab控制CST提取某个球面上的场值。
我本想尝试CST是否存在某种类似于设置probe的方式来监测指定点处的场,结果没找到。于是只能退而求其次,用一个长方体包围住我们想要考察的球面,然后监测得到整个长方体内的场,再在后处理中将指定球面上的场提取出来。
这种操作以前用得比较少,具体操作记录如下:
设置一个长方体监测区域,计算后得到如下结果。

选择如下后处理选项

进行如下设置

为了验证功能,这里的E_points.txt文件,我手动随机设置了三个点,格式为一行一个点的(x,y,z),如下图所示

通过后处理导出来的数据如下图所示

原则上,可以根据待考察的球面,在matlab中先写好该球面上对应离散点 E_points.txt文件, 通过上述流程导出该球面上离散点的场。再通过坐标变化,将电场的笛卡尔正交分量转换为球坐标正交分量。
还没人赞这篇日记