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/ToDo.md for details.
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:
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.
Each object in the unstructured mesh is then mapped onto the structured mesh.
The package also has some limited support for transforming unstructured meshes into formats suitable for use in the CONCEPT-II method-of-moments code.
(Optional) The nlopt package provides enhanced optimisation capability.
(Optional) To run the test-suite automatically the CMake software build tool is needed.
(Optional) To help with development or as an alternative way to download the source a client for the Mercurial Version Control System is required.
Installation instructions are contained in the file Install.md 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/tutorial.md. There is also a user manual in the file doc/UserManual.md.
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/Bugs.md in the source code.
For general guidance on how to write a good bug report see, for example:
Some of the tips in http://www.catb.org/esr/faqs/smart-questions.html 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:
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/ToDo.md.
If you use AEG Mesher please cite (Berens2016).
Mr Michael Berens, email@example.com
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.
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.
Robert Schneiders' list of free and commercial mesh generation software.
Matthijs Sypkens Smit's list of free/open mesh generation software