Printer Friendly

Selecting 3-D electromagnetic software.

Microwave engineering is undergoing a significant change with the advent of E M simulators that operate on desk, top computers. The availability of EM software is a result of improvements in computer speed and memory, which have permitted EM researchers to turn research code (that may have required a supercomputer at one time) into general engineering software. This software not only allows an engineer to test a design before constructing a prototype, it also improves his or her insight into how the device works by providing information, such as vector fields, that is unavailable with physical measurements.

However, EM software is not inexpensive and, with several different numerical methods available, the selection process must be performed carefully. A decision based upon glossy brochures or the results of sample problems run by the vendor cannot be considered sufficient. It is essential to obtain evaluation copies of the programs of interest and try them out on a set of benchmark problems that are representative of the problems the user will be working with. This article provides guidance in that process, beginning with a brief overview of the technology available. A description of how to determine the user's needs follows, as well as a discussion on how to measure the important performance qualities of the software.

The emphasis of this article is on general-purpose, 3-D EM simulators suitable for microwave and RF design. Tests to find software that can solve the largest (in terms of wavelengths) structures are also emphasized. However, this article does not offer specific recommendations for obvious reasons. Each user has different needs so one person's choice may not be best for another person. In addition, the business of EM software is very competitive and dynamic, therefore, any recommendation is outdated very quickly. It is hoped that the methodology presented here will have lasting usefulness.


Although the user does not need to be an expert in computational electromagnetics to use EM software, it is important to have a basic understanding of the several very different methods. A brief outline is presented here; more thorough descriptions of the methods can be found in the references. (For example, Sadiku has written a good introductory test[14] that covers all the major methods with examples coded in Matlab. Another overview of the major numerical methods has been edited by Itoh.[4])

All of the methods are similar in that they break up the problem space into discrete elements. However, the problem space also can be divided into time or frequency domain spaces.[10] In general, the solution for time domain methods is obtained by applying an impulsive stimulus to a port and calculating the evolution of the waveform by time stepping. Frequency domain methods obtain a solution at a single frequency through a matrix inversion. Note that although the two classes can be related through a Fourier transform, this procedure usually is only followed to convert time domain results into the frequency domain.


Method   Gridding   Geometry      Ports      Domain     Radiation

FEM      volume     arbitrary    one run    frequency      ABC
MoM      surface    arbitrary    one run    frequency    natural
FDTD     volume     Cartesian    - a runs     time         ABC
TLM      volume     Cartesian    - a runs     time         ABC


Table 1 lists the most important attributes of the methods used in current commercial software. The gridding column indicates whether the method divides the entire space into discrete elements or if only the surfaces of objects are gridded. The geometry column indicates whether the discrete elements are aligned with a Cartesian grid or if they can have an arbitrary orientation. The ports column indicates the number of simulation runs necessary for multiport devices. The simulation domain is indicated in the domain column. The type of radiation condition is listed in the last column. The absorbing boundary condition (ABC) is a boundary on the computational space that absorbs any waves that strike it. The term natural indicates that the method assumes radiation into free space automatically and requires no further measures to be taken.

A sample of the available software is listed in Table 2. The vendors and features are expected to change with time. Inclusion or omission from this table is in no way a comment on the quality of a software package.

Finite-difference Time Domain Method

The finite-difference time domain (FDTD) method is based directly on the differential form of Maxwell's equations. To derive the FDTD method, the derivations have been replaced with finite differences. For example,

[Delta]E/[Delta]z [implies] E([z.sub.1]) - E([z.sub.0])/[z.sub.1] - [z.sub.0]

with the differences obtained from adjacent values on a grid. Time derivatives are also obtained in this manner. Therefore, the entire problem space (in all spatial and temporal dimensions) is gridded. The details of this process were originally formulated in the 1960s by Yee,[17] and since then many variations and refinements have been made.

In all forms of FDTD each field value is determined by past values at the grid point and surrounding grid points. This nearest-neighbor communication limits the size of the time step: It should be small enough so that a wave does not propagate further than one grid cell in one time step. An upper limit on the grid size also exists, which usually is taken as [Lambda]/10 to reduce dispersion (a dependence of wave propagation velocity on wave direction) to acceptable levels.

Although uniform cubic grid cells were used in the original method, some recent algorithms permit nonuniform grids. In addition, some codes permit subspaces to be defined with finer grids, allowing coarse grids to be used elsewhere. In either case, the time step is determined by the smallest grid dimension. At first it may appear that an orthogonal grid precludes simulation of structures with sloping surfaces or curved shapes, but this is not the case if a fine enough grid is used.[12] Radiation problems can be solved if the outer boundary of the problem space is terminated with an ABC that does not reflect outward-moving waves. Taflove has provided an introduction to this method,[13] and Kunz and Luebbers have developed a good text on the subject.[8]

Transmission Line Matrix Method

The transmission line matrix method (TLM) is another time domain method that uses a volume grid. Rather than directly using Maxwell's equations to determine how a wave propagates, TLM uses a fictitious network of transmission lines to connect a grid of nodes in the problem space. Electric and magnetic fields are modeled as voltage and current pulses that travel along the transmission lines and are scattered by the nodes into other lines. Thus, the material properties are modeled by the impedances of the transmission lines and scattering parameters of the node.

The simulation commences by applying a stimulus to a node or group of nodes and observing how that stimulus propagates through the structure, reflecting off nodes and transmitting to other nodes through the transmission lines. Like FDTD, only nearest-neighbor communication takes place so the same grid size/time step relationship holds. Indeed, an equivalence between certain formulations of the TLM and FDTD methods has been demonstrated.[6] Unlike FDTD, the nearest-neighbor communication in TLM involves propagation waves with a direction rather than field amplitudes without direction. As a result, ABCs are easier to achieve with TLM. A good overview of this method by Hoefer[3] and an introductory text by Christopoulos[1] are available.

Method of Moments

The method of moments (MoM) frequency domain method is commonly used for the analysis of planar structures and wire antennas. However, application to arbitrary 3-D structures has been limited for two reasons. First, as will be demonstrated in this article, the solution time increases quickly with increasing structure complexity. This effect is less important for planar structures because the coupling between distant grid cells is very small, which reduces many matrix coefficients to zero and allows faster matrix inversion algorithms to be used. Unfortunately, this approximation cannot be made for arbitrary 3-D structures. (The time/complexity penalty is also less significant for wire problems because wires are inherently one dimensional.) Second, arbitrary dielectric and magnetic bodies are difficult to include and usually are only incorporated in the form of slabs.

Despite these difficulties, at least one vendor offers a simulator that handles arbitrary metallic structures. One advantage of this method is that only conducting surfaces are gridded; the space between conductors is not. Another advantage is that radiation boundary conditions are naturally provided without any additional computational expense. A brief introduction to this method is provided by Volakis.[16]

Finite Element Method

The finite element method (FEM) is widely known because it is a general method for the solution of partial differential equations and has been used in structural analysis as well as electromagnetics. Computationally, FEM is probably the most complicated method, although a good user interface minimizes this fact. Gridding or meshing is completely automatic and is nearly impossible to achieve manually due to the nature of the grid cells: Two-dimensional surfaces are broken into triangles and 3-D objects are divided into tetrahedra. (Dividing 3-D objects into tetrahedra is difficult to visualize.) Gridding typically is iterative, with the number of tetrahedra increasing from one run to the next and terminating once the number of changes in the solution from successive iterations drops below set criteria. For multifrequency solutions, gridding is performed at the highest frequency. That set of tetrahedra is used to fill matrices at all other frequencies. Like other volume-gridding methods, an ABC is required for radiation problems.

Overviews[2,16] as well as a more complete (and general) description of FEM[15] and an application-oriented FEM text[5] are available. Two useful sites on the World Wide Web concerning the HP and Ansoft FEM simulators also exist.[18,19]


Before beginning the software evaluation, the user should establish his or her needs because different software packages are best suited for different applications. Even software from different vendors utilizing the same underlying numerical method have different strengths. In fact, what might be perceived as an advantage for one application can be considered a weakness for another.

For all EM software, the problem-solving process involves a sequence of steps that include model entry, gridding, simulation, transform and postprocessing. Gridding may be an explicit operation (part of the model entry) or performed automatically as part of the simulation. Similarly, transformations such as from time to frequency domain or from near to far field may be explicit or optional. It is unfortunate that at present no one package performs all of these operations well.

As a guide to determining user needs, several questions should be considered:

* Will radiation problems need to be simulated?

This requirement will have an impact on computer resources. For example, for radiation problems with volume gridding techniques, a buffer region must be provided between the structure and radiation boundary to allow evanescent fields to decay, increasing the problem size. In contrast, closed problems such as wave-guides do not require this additional volume. In addition, ABCs require more computational cycles than perfectly conducting boundaries. Therefore, radiation problems typically require more computer resources.

* What information is to be obtained from the computer simulation?

Typically, a combination of S parameters, surface currents, near-field amplitudes or vectors, or far-field radiation patterns is required. Some programs display certain types of output poorly so it is important to test the postprocessor.

* Is the ratio between the largest and smallest features large?

If this is the case, then the gridding method must be examined. For example, if the grid is uniform, a small grid size is forced by the smallest feature size, leading to a large number of grid cells. Even FEM programs that use arbitrary grid element sizes require an increase in the number of elements around small structures. This procedure could have a major impact on memory requirements for the problem.

* Do the structures use wires, narrow slots or thin films?

In time domain methods, it is possible to use special elements that model these thin structures without requiring a grid smaller than the width or thickness of that structure. Using these elements, the number of grid cells can be reduced greatly, decreasing execution time. Therefore, if the structures have these types of features, it is important that these models be implemented in the chosen simulator.

* Do the structures have curved surfaces or are they orthogonal?

If the surfaces are curved, then the gridding method should be reviewed with care. Methods utilizing arbitrary gridding are naturally better suited to curved problems, but curved surfaces also can be modeled by a staircase approximation using Cartesian grids. However, a large number of grid cells in regions of high curvature may be required. Programs with variable grid sizes may perform better under such circumstances.

* Do the problems involve a plane of symmetry?

If so, then simulation time can be reduced. However, it must be determined whether the postprocessor can handle symmetry problems. Several simulators do not allow far-field radiation patterns to be calculated if symmetry planes are used.

* Are the structures easily defined in terms of geometrical shapes?

For example, biological structures are not composed of geometrical shapes. In this case, a model entry scheme that allows the properties of individual or groups of grid cells to be specified may be easier to use. All simulators allow a shape such as a sphere or helix to be entered and gridded.

* Will the simulations consider a single frequency or a band of frequencies?

A frequency domain simulator may be faster for work that is exclusively single frequency while time domain methods may be better suited for multifrequency simulations. However, the decision will require benchmarking. It is also likely that most users will perform a mixture of single- and multifrequency work, further complicating the choice.

* Will the simulations be used to obtain S parameters for a few ports or many?

For multiple ports, time domain methods require additional runs (unless symmetry can be utilized) since only one port at a time can be simulated. Frequency domain methods can solve for all ports in a single simulation.

* What type of port structure do the problems require?

Each method has different ways of exciting the structure, and some are more convenient than others. Some examples of excitation methods are plane wave, waveguide, localized (between two points) and microstrip.

* Are the problems well defined or do they vary in size and type?

If the work involves a well-defined set of problems then a simulator that works well with a set of representative problems can be chosen safely. However, if a more general and varied set of problems must be addressed, the limits of the computer platform may be tested at times. In this case, it will be much more important to understand how the computer resources are used as a function of problem size.

* Are material losses significant in the simulation problems?

For all methods, the necessary computer resources increase for problems using loss materials.

The quality of documentation and technical support also must be considered. Unless the user is already an expert with the simulator or numerical method, documentation including a tutorial covering a variety of problem types is necessary. Hopefully, the documentation is thorough enough to answer most questions. If not, the response of the vendor's technical support must be quick. Finally, do not take anything for granted. List all needs no matter how simplistic. It is surprising how often a basic function such as printing a plot may be more difficult than expected.


For users of 3-D EM software, the speed and memory usage of the solver are usually significant concerns. Although some users have well-defined, moderate-sized problems that are solved in a reasonable amount of time, many more are interested in simulating either the largest possible structures or structures with as much fine detail as possible. In either case, a large number of grid elements are required and it is important to know what the dependence of memory and execution time is.

Unfortunately, obtaining this information is not straightforward. Although these dependencies are well known for some methods (time domain methods in particular), vendors are reluctant to disclose that information for other methods, forcing the user to measure them. This determination is especially important if computing hardware is being purchased with the software. By performing the following tests, the answer to questions such as "With twice as much memory, how much larger can the problem be?" may be obtained.

The time domain solvers tend to be explicit (a series of operations such as additions and multiplications are applied to the matrix with the field values) and the frequency domain methods are implicit (the solution is obtained through a matrix inversion). These differences make memory size and execution speed easy to define for time domain methods but much less so for frequency domain methods because inversion speed and storage size are dependent on the type and density of the matrix.

The time domain methods are considered first. The major storage requirement is for matrices needed to store the field values at recent time steps. Thus, the storage is proportional to N where N is the number of grid cells. A characteristic length 1 is then assumed such that N [similar to] [1.sup.3]. The execution time is proportional to the product of the number of time steps and the time to update the field matrix for one time step. The number of time steps is such that a wave can traverse the computational space and, thus, is proportional to 1. The update time is proportional to N since the field update only involves computations with nearest neighboring grid cells. Therefore, the total time is proportional to [1.sup.4] or [N.sup.4/3] (which is slightly steeper than linear with the number of grid cells).[9,10]

Solving problems with MoM or FEM involves a matrix inversion. The time and storage required for that inversion are dependent upon the type of matrix and, thus, the algorithm [TABULAR DATA FOR TABLE III OMITTED] used. In MoM, the surface of the conductor is meshed and the matrix is a way of relating the potential at a cell to the current flowing on another cell. Thus, the matrix is generally full and has dimensions N x N. It is well known that the time to invert a full matrix is proportional to [N.sup.3].[11] On the other hand, FEM does not produce full matrices, permitting reduced storage requirements and faster matrix inversion. It is difficult to estimate the actual storage and speed without knowing the details of the algorithms used. However, ranges can be determined (between N and [N.sup.2] for storage and between N and [N.sup.3] for speed).[11] Because of this uncertainty, evaluation of FEM software must include tests involving problems of different sizes so that the exponent on N can be determined. These theoretical expectations are listed in Table 3 where N is the number of discrete elements making up the problem and 1 is a characteristic length.

The impact on computer resources by changing the problem is illustrated by the following example. Suppose a structure is doubled in size in all three coordinate directions (or, equivalently, the frequency is doubled). For time domain solvers, the problem now takes 16-times longer to execute. The problem takes 64-times longer for MoM and FEM may take as long. Consequently, an increase in computer speed produces a smaller increase in problem size that can be solved in a given time. A change in computer speed by a factor of 10 sounds like a lot, but it means that the time domain length scale is increased by only 1.8 times, and frequency domain increases may be as little as 1.5 times.

Given this computational wall, what have the software vendors done to alleviate this problem? The most obvious technique is to use symmetry to reduce the problem size. Unfortunately, that solution does not work with every problem. Other tricks do exist even though they are highly dependent upon the numerical technique. Time domain simulators are considered first. Normally, the simulation is terminated once the response to the impulsive stimulus has damped to a very low level. However, long before this level is reached, the response has the appearance of superimposed decaying sinusoids. Therefore, the simulation may be terminated early by using a prediction program to extend the time response to the point where it has decayed to a small value.[7]

For frequency domain simulators, the goal is to minimize the number of computations necessary to obtain a broadband frequency response. One way to achieve this optimization for S-parameter data is to use a curve-fitting routine so that fine frequency steps across the band are not needed. This technique appears to work well for planar circuits. The FEM programs offer a fast frequency sweep that uses approximations to greatly speed solutions near the center of the band. Unfortunately, this technique appears to work well only with a limited set of problems over a narrow band of frequencies. Clearly, additional work in this area is necessary and careful benchmarking should be performed by prospective purchasers to determine the range over which the method is useful.


At this point, the benchmark problems and software tests can be set up. The goals are to determine not only if each problem can be solved, but also the resource requirements for those problems. When considering a benchmark suite, the most important thing to keep in mind is that the problems should be a good reflection of the user's work. Most vendors will provide a set of example problems with performance measurements. However, these examples may not be representative of the problems the user works with and will emphasize that product's strengths over its weaknesses. Once the user's needs have been evaluated, it should be easy to construct a complete benchmarking suite.

The designs can come from several sources such as the user's work, engineering handbooks or the literature; anywhere as long as the solutions are known. In addition, problems with varying degrees of complexity should be considered. This scenario serves two purposes. First, easier problems are convenient at the beginning of the tests when the user has little experience using the software. Second, a range of complexity is provided from which the computer resource trends can be measured.

An example of a result from this evaluation process is shown in Figure 1. This example shows the time required for a finite element solver for problems with different numbers of tetrahedra. Each point along the line represents a different iteration in the solution of a single problem. Most problems were radiating or open, with a few closed or guided-wave problems indicated by the black squares. All problems were small enough that swapping of virtual memory did not occur. Although the slope of the line should be independent of computer hardware, the vertical scale will depend upon processor speed.

In FEM, an initial mesh of tetrahedra is established and modified until the change in scattering parameters is small enough. In this way, the solution for a single problem yields a number of solve-time data points. From the graph note how the solve time falls within a narrow band about the line with a slope of 2.4 over a large range of problem sizes. These data suggest that t [varies] [T.sup.2.4] where t is time and T is the number of tetrahedra. Given the steepness of this curve, it is obviously important that the mesh program be effective at selecting a mesh with a low number of tetrahedra that produces accurate results. Similar data also can be obtained for memory usage.


In the past, microwave engineers had few choices when selecting commercial 3-D EM simulation software; now they have many. EM software is based on a number of very different numerical techniques and, for this reason, it is critical that several different software packages be tested carefully before a purchase decision is made. This article has presented a process for evaluating software that is sensitive to the needs of the user and emphasizes solver speed and memory usage. The solution time results of a typical FEM solver also have been presented as an example of information that can be obtained only through user benchmarks.


1. C. Christopoulos, The Transmission-line Modeling Method (TLM), IEEE Press, New York, NY, 1995.

2. J.B. Davies, "The Finite Element Method," Numerical Techniques for Microwave and Millimeter-wave Passive Structures, T. Itoh (ed.), John Wiley, New York, NY, 1989, pp. 33-132.

3. W.J.R. Hoefer, "The Transmission Line Matrix (TLM) Method," Numerical Techniques for Microwave and Millimeter-wave Passive Structures, T Itoh (ed.), John Wiley, New York, NY, 1989, pp. 496-591.

4. T. Itoh (ed.), Numerical Techniques for Microwave and Millimeter-wave Passive Structures, John Wiley, New York, NY, 1989.

5. T. Itoh, G. Pelosi and P.P. Silvester, Finite Element Software for Microwave Engineering, John Wiley, New York, NY, 1996.

6. P.B. Johns, "On the Relationship between TLM and Finite-difference Methods for Maxwell's Equations," IEEE Transactions on Microwave Theory and Techniques, Vol. MTT-35, 1987, pp. 60-61.

7. W.L. Ko and R. Mittra, "A Combination of FD-TD and Prony's Methods for Analyzing Microwave Integrated Circuits," IEEE Transactions on Microwave Theory and Techniques, Vol. MTT-39, 1991, pp. 2176-2181.

8. K. Kunz and R. Luebbers, The Finite Difference Time Domain Method for Electromagnetics, CRC Press, Boca Raton, FL, 1993.

9. E.K. Miller, "A Selective Survey of Computational Electromagnetics," IEEE Transactions on Antennas and Propagation, Vol. AP-36, 1988, p. 1281.

10. E.K. Miller, "Time Domain Modeling in Electromagnetics," Journal of Electromagnetic Waves and Applications, Vol. 8, 1994, pp. 1125-1172.

11. W.H. Press, S.A. Teukolsky, W.T. Vetterling and B.P. Flannery, Numerical Recipes in FORTRAN, Cambridge University Press, Cambridge, UK, 1992.

12. J.B. Schneider and K.L. Shlager, "FDTD Simulations of TEM Horns and the Implications for Staircased Representations," IEEE Transactions on Antennas and Propagation, Vol. AP-45, 1997, p. 1830.

13. A. Taflove, "Reinventing Electromagnetics: Emerging Applications for FD-TD Computation," IEEE Computational Science and Engineering, Vol. 2, Winter 1995, pp. 24-34.

14. M.N.O. Sadiku, Numerical Techniques in Electromagnetics, CRC Press, Boca Raton, FL, 1992.

15. P.P. Silvester and R.L. Ferrari, Finite Elements for Electrical Engineers, Cambridge University Press, Cambridge, UK, 1990.

16. J.L. Volakis and L.C. Kempel, "Electromagnetics: Computational Methods and Considerations," IEEE Computational Science and Engineering, Vol. 2, Spring 1995, pp. 42-57.

17. K.S. Yee, "Numerical Solution of Initial Boundary Value Problem Involving Maxwell's Equations in Isotropic Media," IEEE Transactions on Antennas and Propagation, Vol. AP-14, 1966, pp. 302-307.


COPYRIGHT 1998 Horizon House Publications, Inc.
No portion of this article can be reproduced without the express written permission from the copyright holder.
Copyright 1998 Gale, Cengage Learning. All rights reserved.

Article Details
Printer friendly Cite/link Email Feedback
Author:Veidt, Bruce
Publication:Microwave Journal
Date:Sep 1, 1998
Previous Article:Analysis and design on inhomogeneous coupled-stripline microwave bandpass filters.
Next Article:MM-wave microelectronics manufacturing.

Terms of use | Privacy policy | Copyright © 2021 Farlex, Inc. | Feedback | For webmasters