Meep is a free and open-source software package for electromagnetics simulation via the finite-difference time-domain (FDTD) method spanning a broad range of applications.
Key Features
- Free and open-source software under the GNU GPL.
- Complete scriptability via Python, Scheme, or C++ APIs.
- Simulation in 1d, 2d, 3d, and cylindrical coordinates.
- Distributed memory parallelism on any system supporting MPI.
- Portable to any Unix-like operating system such as Linux, macOS, and FreeBSD.
- Precompiled binary packages of official releases via Conda.
- Variety of arbitrary material types: anisotropic electric permittivity ε and magnetic permeability μ, along with dispersive ε(ω) and μ(ω) including loss/gain, nonlinear (Kerr & Pockels) dielectric and magnetic materials, electric/magnetic conductivities σ, saturable gain/absorption, and gyrotropic media (magneto-optical effects).
- Materials library containing predefined broadband, complex refractive indices.
- Perfectly matched layer (PML) absorbing boundaries as well as Bloch-periodic and perfect-conductor boundary conditions.
- Exploitation of symmetries to reduce the computation size, including even/odd mirror planes and 90°/180° rotations.
- Subpixel smoothing for improving accuracy and shape optimization.
- Custom current sources with arbitrary time and spatial profile as well as a mode launcher for waveguides and planewaves, and Gaussian beams.
- Frequency-domain solver for finding the response to a continuous-wave (CW) source as well as a frequency-domain eigensolver for finding resonant modes.
- ε/μ and field import/export in the HDF5 data format.
- GDSII file import for planar geometries.
- Field analyses including discrete-time Fourier transform (DTFT), Poynting flux, mode decomposition (for S-parameters), energy density, near to far transformation, frequency extraction, local density of states (LDOS), modal volume, scattering cross section, Maxwell stress tensor, absorbed power density, arbitrary functions; completely programmable.
- Adjoint solver for inverse design and topology optimization.
- Visualization routines for the simulation domain involving geometries, fields, boundary layers, sources, and monitors.
Citing Meep
We kindly request that you cite the following paper in any published work for which you used Meep:
- A. Oskooi, D. Roundy, M. Ibanescu, P. Bermel, J.D. Joannopoulos, and S.G. Johnson, MEEP: A flexible free-software package for electromagnetic simulations by the FDTD method, Computer Physics Communications, Vol. 181, pp. 687-702 (2010) (pdf).
Documentation
See the manual on readthedocs for the latest documentation.