点击 405 原帖 2025-11-20 13:26

simworks | fdtd中数据的可视化-凯发娱乐

 

前言

在运行fdtd仿真后,我们可以使用监视器取出仿真区域内指定位置的电磁场数据,再使用数据可视化功能就可以将仿真结果直观的展示出来。本文将介绍如何从fdtd仿真区域内取出指定位置的电磁场以及simworks finite difference solutions软件中的数据可视化功能。

仿真结果的获取

想要获取fdtd仿真区域内的电磁场信息,可以在仿真区域内添加对应的监视器。例如时间(time)监视器、折射率(index)监视器和频域场功率(fdfp)监视器。仿真结束后,监视器将自动返回其覆盖范围内网格点上的电磁场值或者折射率值。从之前的文章中我们知道在fdtd中,电磁场分量和材料特性并不是记录在空间的同一点上。矢量电场和磁场的每个分量都记录在yee cell网格的不同位置,材料特性也记录在yee cell网格的不同位置。为了方便计算,需要将电磁场或材料特性插值到同一位置。

空间插值

如下图所示,电场在yee cell网格的棱线中心,磁场在yee cell网格的面中心。假设第 ( i , j ) 个网格点的坐标为 ( x0 , y0 ),则fdtd计算出的 的坐标为 ,  的坐标为 ,  的坐标为 。其中 dx和 dy为yee cell网格在x、y方向的长度。


simworks finite difference solutions软件中可以在监视器的编辑窗口设置该监视器的空间插值选项,如下图。软件默认设置为“mesh-cell”空间插值,您也可以选择“none”关闭空间插值。


当设置为“mesh-cell”时,监视器自动将fdtd计算出的  和  插值得到 ( i , j )  网格点处的 ex 场分量。将 插值得到 ( i , j ) 网格点处的 hz 场分量。其他的场分量方法类似。

当设置为“none”关闭空间插值时,监视器将取出  ,并将其坐标从  改为 ( x0 , y0 ) 输出。为了正确计算poyning矢量和能量,监视器默认使用空间插值,如果关闭空间插值,则这些分析必须手动完成。因此,我们只建议非常熟悉fdtd仿真的专家用户使用该设置。

频域场结果的获取

之前的文章介绍过,fdtd仿真求解的是麦克斯韦方程组的时域解,因此最终计算得到的是时域电磁场。使用时间监视器可以获得指定空间位置上的时域电磁场信号,例如 e(t) 。您可以使用fdfp监视器得到频域电磁场信息,监视器自动对仿真时间内的时域电磁场信号进行傅里叶变换从而得到频域电磁场。


fdfp监视器返回的频域电场公式如下:


其中  e(t)  为时域电场, 为复指数函数,t 为时间。

仿真结果的可视化

数据可视化功能可以满足用户检查仿真设置、展示仿真结果的需要,是本软件的重要组成部分之一。仿真结果可以通过一维的线图、二维的面图和三维图进行可视化。这些图可以通过软件内置的可视化工具或者脚本来实现。

可视化工具

仿真结束后,可以在结构树中选中任意包含结果的结构或者结果,点击“view”选项卡中的“data visualizer”打开软件的可视化工具窗口。


从上图中您可以看到,可视化窗口分为五个模块,通过这五个窗口就可以方便的调整绘图。

results tree

在results tree部分中可以查看当前选中的监视器中包含的所有可以使用可视化工具绘图的监视结果。

plot setting

在“plot setting”部分您可以调整绘图的类型以及将绘图输出。软件支持的绘图类型包含了1d线图、2d平面图、3d曲面以及矢量图。

line(xy)选项可以绘制一个1d向量,对于具有1维以上的矩阵,将自动选择矩阵的切片。您可以使用底部的参数表来选择要切片的维度以及要在x轴或y轴上绘制的维度,例如光谱(场幅值与波长)。


line(polar)选项可以绘制某个量的角度分布。角坐标以度为单位。(示例:)


line(smith chart)选项可以绘制阻抗数据。有关更多信息,请参阅

image选项可以创建监视器数据的二维图像图。对于大于2维的矩阵,将自动选择矩阵的切片。同样的,您可以使用底部的参数表选择要切片的维度以及要在x轴或y轴上绘制的维度,例如空间场剖面图(场对 x、y)、切片波长。 surface选项也可以创建器数据的三维曲面图。其中可以选择“surface”或者“mesh”分别来绘制成曲面或者网格。


vector选项可以创建数据的二维/三维矢量图。在参数表中可以选择需要切分的频率点。可以创建电场、磁场、poyting矢量等的矢量图。

attribute 和 parameter 部分


attribute部分显示当前绘制的数据。其中“attribute”为数据名;“vector operation”中可以选择绘制的矢量的特定分量(例如:ex 、ey 、ez );“scalar operation”中可以选择标量属性的特定成分(例如:实部、虚部、绝对值等);“scalar”中选择数据的乘数;“view data”中允许用户以表格的形式查看数据,如下所示


在parameter部分可以在“action”部分控制绘图中如何处理参数。例如,选择在哪个轴上绘制参数。在“value”部分显示参数的数值或者参数的向量维度。


脚本绘图

除了可视化工具外,软件还提供了多种数据可视化的函数,方便用户在对仿真结果进行后处理之后直观的查看结果。其中包含了9个绘图函数和16个绘图控制函数。每个绘图函数都对应一种绘图类型,您可以方便的使用脚本绘制图片。

1d数据

对于一维的数据,可以将其绘制成一个折线图、极坐标图或史密夫图。软件内置的脚本中plot、plotyy函数可以根据数据绘制折线图,polar和smithchart函数分别将数据绘制成极坐标图和史密夫图。其中plotyy函数会创建一个有两个y轴的折线图如下图所示:


2d数据

2d数据可以选择两种绘图类型:平面图和曲面图。可以使用image函数绘制二维平面图。在二维图像中,数值的大小用颜色条来表示,软件默认使用“jet”色条。在曲面图中,数值以三维的方式绘制。其中surf、mesh和surfsp都可以绘制曲面图。surf函数根据数据绘制曲面图,mesh函数会将数据绘制成线框网格图,surfsp函数根据数据绘制辐射图。辐射图为球坐标,每个数据点与远点的距离为其强度。


3d数据或更高维度的数据

3d的矢量数据可以使用vectorplot函数绘制出三维的矢量图,如下图。也可以通过数据切片的方式进行绘制成折线图或者面图。


对于更详细的函数说明以及使用方法,可以查看下方链接:

举报收藏 0
网站地图