AEG Mesher: An Open Source Structured Mesh Generator for FDTD Simulations

The Applied Electromagnetics Group (AEG) mesh generator, aegmesher, is an Open Source structured mesh generator for creating uniform and non-uniform cuboid meshes. It was primarily developed in the Department of Electronic Engineering at the University of York for generating meshes for finite-difference time-domain (FDTD) and similar electromagnetic solvers.

Note: The non-uniform mesh line generation presented in the IEEE Antennas and Propagation Magazine article (Berens2016) is not yet fully integrated and is currently disabled. See doc/ for details.

Code Features

The mesh generator takes a description of a physical structure in the form of an unstructured mesh and then, using options provided by the user, creates a structured mesh representation of the structure. The mesh generator and associated utilities are able to read unstructured meshes in Gmsh and AMELET-HDF format. The target structured mesh can be cubic, uniform or non-uniform. The input unstructured mesh can contain any number of physical objects defined by groups of mesh elements. These groups can define point-like, linear, surface or volumetric objects.

The software is script-driven using the GNU Octave language which allows it to be easily extended and combined with other phases of an overall simulation work-flow. The meshing is performed in two stages:

  1. The input unstructured mesh is first analysed together with the user provided options and a set of mesh lines generated that optimally satisfy the meshing constraints. The key constraints are the maximum and minimum cell size each object in the mesh.

  2. Each object in the unstructured mesh is then mapped onto the structured mesh.

Currently aegmesher can export the structured meshes in the AEG Vulture FDTD Code format. Other formats can easily be added.

The package also has some limited support for transforming unstructured meshes into formats suitable for use in the CONCEPT-II method-of-moments code.


The code is written in a portable subset of GNU Octave and MATLAB. Additional requirements are:

  1. (Mandatory for use with GNU Octave) The optim package from OctaveForge.

  2. (Recommended) The Gmsh unstructured mesh generator is highly recommended for creating and viewing meshes. It also enables importing meshes in many other formats such as STL.

  3. (Optional) The nlopt package provides enhanced optimisation capability.

  4. (Optional) For AMELET-HDF format support the command line tools from the HDF5 package are required.

  5. (Optional) To run the test-suite automatically the CMake software build tool is needed.

  6. (Optional) To help with development or as an alternative way to download the source a client for the Mercurial Version Control System is required.

The code has been primarily developed using GNU Octave on Linux platforms, but should run under both GNU Octave and MATLAB on Linux and Windows systems.


Installation instructions are contained in the file in the source distribution. The best place to start after installing the software is with the detailed example in the tutorial directory of the software package: tutorial/ There is also a user manual in the file doc/

Details of the mesher algorithms, particularly the non-uniform mesh line generation can be found in the article (Berens2016).

There is also a wiki with examples and other information.

Bugs and support

The code is still under development and no doubt will contain many bugs. Known significant bugs are listed in the file doc/ in the source code.

Please report bugs using the bitbucket issue tracker at or by email to

For general guidance on how to write a good bug report see, for example:

Some of the tips in are also relevant to reporting bugs.

There is a Wiki on the bitbucket project page.

How to contribute

We welcome any contributions to the development of the mesher, including:

  • Fixing bugs.

  • Interesting examples that can be used for test-cases.

  • Improving the user documentation.

  • Working on importers and exporters for other formats and codes.

  • Improving the quality of the meshes generated and the general robustness of the mesher.

  • Speeding up the mesh mapping phase, maybe by reimplementing keys parts as low level code in another language.

  • Items in the to-do list in the file doc/

Please contact Dr Ian Flintoft,, if you are interested in helping with these or any other aspect of development.


The code is licensed under the GNU Public Licence, version 3. For details see the file

If you use AEG Mesher please cite (Berens2016).


Dr Ian Flintoft,

Mr Michael Berens,

Dr John Dawson,


Dr Ian Flintoft,

Dr John Dawson,


The mesher originated as the project of Erasmus Programme student Mr Michael Berens from the Leibnitz Universität Hannover during his internship at the University of York in 2013, under the supervision of Dr John Dawson and Prof Heyno Garbe.

The mesh formats are largely based on the AMELET-HDF specification.

Many thanks to the Gmsh developers for creating an excellent Open Source mesh generator.

Publications using AEG Mesher

(Flintoft2018) I. D. Flintoft, S. A. Bourke, J. Alvarez, J. F. Dawson, M. R. Cabello, M. P. Robinson and S. G. Garcia, “Face centered anisotropic surface impedance boundary conditions in FDTD”, IEEE Transactions on Microwave Theory and Techniques, vol. 66, 2018.

(Bourke2017) S. A. Bourke, J. F. Dawson, I. D. Flintoft, M. P. Robinson, “Errors in the shielding effectiveness of cavities due to stair-cased meshing in FDTD: Application of empirical correction factors”, EMC Europe 2017, International Symposium and Exhibition on Electromagnetic Compatibility, Angers, France, paper no. 52, 4-8 Sep. 2017.

(Berens2016) M. K. Berens, I. D. Flintoft and J. F. Dawson, “Open source automatic non-uniform mesh generation for FDTD simulation”, IEEE Antennas and Propagation Magazine, vol. 58, no. 3, pp. 45-55, June 2016.

(Marvin2013b) A. C. Marvin, L. Dawson, J. K. A. Everard, J. F. Dawson, G. C. R. Melia, I. D. Flintoft and G. Esposito, “A wide-band hybrid antenna for use in reverberation chambers”, In Compliance Magazine, pp. 44-50, December 2013,

(Flintoft2013) I. D. Flintoft, G. Eposito, A. C. Marvin, L. Dawson, M. P. Robinson and J. F. Dawson, ”Numerical evaluation of a dual-mode antenna for use in reverberation chambers”, EMC Europe 2013, 12th International Symposium on EMC, Brugge, Belgium, 2-6 September 2013, pp. 520-525.

(Marvin2013) A. C. Marvin, L. Dawson, J. K. A. Everard, J. F. Dawson, G. C. R. Melia, I. D. Flintoft and G. Esposito, “A wide-band hybrid antenna for use in reverberation chambers”, 2013 IEEE International Symposium on Electromagnetic Compatibility, Denver, Colorado, 5-9 August, 2013, pp. 222-226.