Electromagnetic Template Library (EMTL) is a ะก++ library for programming Finite-Difference Time-Domain (FDTD) simulations.
The program is designed for quick and efficient programming of FDTD simulations and for extending the available FDTD algorithms with new techniques and features. The code implements a fully functional API including MPI parallelization.
Code Features
Computational technology and efficiency
- Compilation on UNIX and Windows
- User API in C++ and Python
- MPI parallelization
- OpenMP parallelization
- SIMD vectorization (HiFDTD extension)
- Memory-efficient asynchronous updates (HiFDTD extension)
Simulation techniques
- Anisotropic and dispersive media
- Total-Field / Scattered-Field wave generation technique
- Dipole sources
- Subpixel smoothing
- Perfectly mathed layer absorbing boundaries (UPML and CPML)
- Fast Fourier transform of the results
- Near-to-Far-Field Transformation
- Simulation of Maxwell-Bloch equations
- Coupled electromagnetic and electrical simulations.
Capabilities
- Calculation of the distribution of electromagnetic fields in a structure;
- Real-time simulation of the propagation of electromagnetic wave packet through a structure;
- Calculation of the transmission, reflection, and absorption coefficients as functions of incident wavelength and angle for periodic structures;
- Calculation of the scattering cross-section and the angle distribution of the scattered wave for objects of arbitrary shape;
- Sensitivity analysis of the impact of defects on the optical properties of periodic structures (photonic crystals);
- Calculation of transfer-matrix (T-matrix) for planar layers of arbitrarily shaped scatterers.
Applications
|
- Photonic crystals, optical filters, antireflective coatings;
- Waveguides and resonant cavities;
- Design of electronic devices, including nanosized devices;
- Antenna and mobile phones design, etc.
|