IMMG Student Projects


2002-2003 Independent Study Project:

3D Visualization of Electromagnetic Fields with MATLAB

Student: Hauke Dämpfling '05
Advisor: Vadim Yakovlev


Rationale

Control 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.

Introduction

This 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).

Description

The 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
data set

Fig. 3. Section of a sample "coneplot" of 3-dimensional vector
data interpolated from a QW3D file (magnetic field)

vadim@wpi.edu
Last modified: Mon, Oct 21, 2002