RationaleControl of the electromagnetic fields in complex waveguides and resonators requires visualization of their field patterns. Existing universal EM simulators (like QuickWave-3D, www.qwed.com.pl) generate numerical solutions for structures with visualizations that may make interpretation of the results difficult and direct comparison with known analytical solutions not possible. Powerful and flexible MATLAB graphics appear to be convenient environment for implementing corresponding procedures.
IntroductionThis project aims to supply a basic package of tools for the MATLAB environment to be able to process dump files (*.dmp) from the QuickWave-3D (QW3D) software package. Also, it aims to supply standard procedures for visualization of the electromagnetic field data gathered from QW3D. The focus lies on gathering three-dimensional data, for example, vector fields from the data in QW3D, and their visualization.
The issue with using the 3-dimensional vector data supplied in the QW3D dmp-files is that the field components (Hx, Hy, Hz and Ex, Ey and Ez) are provided from different locations in a cell. The solution of this problem lies in averaging the information from one cell with that in the next (see Fig. 1). Once this data can be interpolated from the DMP files, it can be used to create more advanced plots of the magnetic and electric fields.

Fig. 1. The electric and magnetic field components and their locations
within a FDTD cell.
Each component will be averaged with that in a
neighboring cell (labeled according to the component).
DescriptionThe following functions were created to load the data from QW3D:
[data, Xd, Yd, Zd] = qw3d_read(filename, dataset); - Read an
entire data set (Hx, Hy, Hz, Ex, Ey or Ez) from a DMP file and return it as a
y-by-x-by-z matrix
[data, Xd, Yd] = qw3d_read2d(filename); - Read an entire data set
from a 2D (Envelope) DMP file
[data, data2, Xd, Yd, Zd] = qw3d_read_full(filename); - Read the
entire data from a DMP file and return it in the variable "data", and
interpolate the data set into the variable "data2" (both returned as a
y-by-x-by-z-by-6 matrix)
Using the data sets, numerous ways to visualize this data are documented. Some examples follow:
![]() Fig. 2. Plot of the field strength in a single layer of a |
![]() Fig. 3. Section of a sample "coneplot" of 3-dimensional
vector |