/meep

free finite-difference time-domain (FDTD) software for electromagnetic simulations

Primary LanguageC++GNU General Public License v2.0GPL-2.0

Latest Docs Build Status Python versions 2.7–3.6

Meep

Meep is a free and open-source software package for simulating electromagnetic systems via the finite-difference time-domain (FDTD) method. Meep is an acronym for MIT Electromagnetic Equation Propagation.

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 the MPI standard.
  • Portable to any Unix-like operating system such as Linux, macOS, and FreeBSD.
  • Arbitrary anisotropic electric permittivity ε and magnetic permeability μ, along with dispersive ε(ω) and μ(ω) including loss/gain, nonlinear (Kerr & Pockels) dielectric and magnetic materials, and electric/magnetic conductivities σ.
  • PML absorbing boundaries and/or perfect conductor and/or Bloch-periodic boundary conditions.
  • Exploitation of symmetries to reduce the computation size — even/odd mirror planes and 90°/180° rotations.
  • Field output in the HDF5 data format.
  • Arbitrary current sources including a guided-mode launcher.
  • Materials library containing list of predefined broadband, complex refractive indices.
  • Frequency-domain solver for finding the response to a continuous-wave source.
  • Field analyses including flux spectra, near to far transformations, modal decomposition, frequency extraction, local density of states, modal volume, Maxwell stress tensor, arbitrary functions; completely programmable.

Documentation

See the manual on readthedocs for the latest documentation.