Abstract:

OpenEMS [1] is a full vectorial three-dimensional equivalent-circuit (EC) finite-difference time-domain (FDTD) simulation platform with complete support for either Cartesian or cylindrical coordinates. Because of its memory efficiency and speed, the FDTD method is known to be particularly well suited for large three-dimensional problems, where the latter can either be a large complex system [2] or a sophisticated optical nano-structure.
It’s worth noting that the EC-FDTD formulation has clear benefits such as a reduced numerical effort inside the iteration loop due to a reduced number of multiplications (which is intrinsic to the representation of fields with corresponding state variables such as voltages and currents) and the intuitive incorporation of (highly) dispersive materials. For example materials that are represented by multi-polar Drude/Lorentz type models [3] can be easily implemented along corresponding extensions of the associated EC (in the form of small tailored filter sections), which mimicks the material dispersion underlying e.g. plasmonic structures, wide band conducting sheet models or even more challenging material properties like biological tissue [4]. An additional virtue of the ECFDTD
formulation is its affinity to an energy-based stability criterion that tends to relax the usually applied Courant-Friedrich-Levy (CFL) stability criterion. To our knowledge there are only very few free and open source FDTD solver that support adaptable dispersive material models and there is virtually no available code that supports this type of material feature using fully graded meshing in Cartesian and cylindrical coordinates.
OpenEMS can be deployed on any modern personal computer running Linux or Windows – and with the support of MPI, openEMS is even ready to run on a Linux cluster (or a supercomputer). At the workshop we will present an insight into the EC-FDTD formulation for the Cartesian and cylindrical mesh and discuss our concept of «engine extensions» as a very systematic and simple approach to implement even complex material models without the need of modifications to the generic (and speed optimized) FDTD core iteration engine. Hence OpenEMS is open to the
community to contribute many additional and exciting new engine extensions. Furthermore we will elucidate our user-friendly Matlab/Octave scripting interface to setup, control and evaluate the ECFDTD simulation, as well as a simple graphical user interface providing a 2D/3D structural viewer. We will conclude with a plasmonic nanodevice example that exploits our cylindrical meshing
feature.