Return to Electromagnetic Modeling Home Page

The EMAP Finite Element Modeling Codes

EMAP (ElectroMagnetic Analysis Program) is a family of three-dimensional finite element modeling codes that can be used to analyze simple 3-dimensional geometries. The EMAP codes are relatively easy to learn to use and are distributed in source code form.

The EMAP codes are not intended to compete with commercial finite element modeling codes. They do not have a sophisticated mesh generator, graphical output, or unlimited technical support. Their primary strengths are ease-of-use, modest resource requirements, and accurate modeling of simple three-dimensional configurations over a wide range of frequencies.

EMAP1 employs a variational formulation described by Maile [1]. EMAP-2 employs the Galerkin finite element formulation described in papers by Paulsen and Lynch [2,3]. Both EMAP1 and EMAP2 are scalar (node-based) codes. EMAP1 is a good choice of codes for instructors that wish to illustrate "spurious modes", which are often a problem with scalar full-wave finite element codes [4]. The formulation applied in EMAP2 does not exhibit spurious modes [5]. EMAP3 is a vector (edge element) code. Vector codes are generally not affected by spurious modes and have other inherent advantages. All of the EMAP codes are written in the C programming language and can be compiled and run on PCs, workstations, or mainframes.

EMAP4 is an improved version of EMAP3. It is more efficient and can model lossy materials.

EMAP5 is a hybrid FEM/MOM code [6, 7].

The EMAP1, EMAP2, and EMAP3 codes are no longer supported, but they may be useful to educators or researchers who are looking for basic scalar or non-complex-element vector FEM codes. The EMAP4 code is also no longer supported, but is still available.

The EMAP5 code is described on the web pages at

Using the EMAP Codes

After downloading the EMAP source code, it is necessary to compile the program using a compiler appropriate for your own machine. On a unix machine a typical command to compile the source code "emap2.c" and create an executable file called "Emap2" might be:

cc -o Emap2 emap2.c -lm

Executable files for certain Sun, HP, and IBM workstations are located in the /exe subdirectory. To run the EMAP code, simply type the name of the executable file followed by the name of the file containing the input. For example:

Emap2 myinput.file

The output will be written to whatever file or files were specified by the output statements in the input file.

EMAP Input and Output

The EMAP codes analyze structures defined on a rectangular, 3D grid. They all read input stored in the same format, so for example, an input file created for EMAP2 can also be analyzed without modification by EMAP1 and EMAP3. The Standard Input File (SIF) files read by the EMAP codes are relatively easy to generate. In most cases, a simple text editor is all that is needed to create a new input file.

Output from the EMAP codes is in one of two forms. The default output format is simply a listing of each of the elements and their corresponding electric field values. There is also an efield_output keyword that can be used in the input file to specify output files that list the x,y, and z components of the electric field at various points in the configuration.


[1] G. L. Maile, Three-dimensional analysis of electromagnetic problems by finite element methods, Ph.D. Dissertation, University of Cambridge, U.K., Dec. 1979.

[2] D. R. Lynch and K. D. Paulsen, "Origin of vector parasites in numerical Maxwell solutions," IEEE Trans. on Microwave Theory and Techniques, vol. 39, no. 3, pp. 383-394, Mar. 1991.

[3] D. R. Lynch and K. D. Paulsen, "Elimination of vector parasites in finite element Maxwell solutions," IEEE Trans. on Microwave Theory and Techniques, vol. 39, no. 3, pp. 395-404, Mar. 1991.

[4] T. H. Hubing, M. W. Ali, and G. K. Bhat, "EMAP: a 3-D, finite element modeling code for analyzing time-varying electromagnetic fields," Journal of the Applied Computational Electromagnetics Society vol. 8, no. 1, 1993.

[5] T. H. Hubing and M. W. Ali, "EMC Applications of EMAP-2: A 3D Finite Element Modeling Code," Proc. of the 1993 IEEE International EMC Symposium, August, 1993, pp. 279-283.

[6] M. Ali, T. H. Hubing, and J. Drewniak, "A Hybrid FEM/MOM Technique for Electromagnetic Scattering and Radiation from Dielectric Objects with Attached Wires," IEEE Transactions on Electromagnetic Compatibility, vol. EMC-39, no. 4, November 1997, pp. 304-314.

[7]Y. Ji and T. Hubing, "EMAP5: A 3D Hybrid FEM/MOM Code," Journal of the Applied Computational Electromagnetics Society, vol. 15, no. 1, March 2000, pp. 1-12.