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

  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


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

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

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.