Jump to: navigation, search


Meep (or MEEP) is a finite-difference time-domain (FDTD) simulation software package developed at MIT to model electromagnetic systems, along with the MPB eigenmode package which is also available on Kogence. MEEP stands for MIT Electromagnetic Equation Propagation.


  • Free software under the GNU GPL.
  • Simulation in 1d, 2d, 3d, and cylindrical coordinates.
  • Distributed memory parallelism on any system supporting the MPI standard. Portable to any Unix-like system (GNU/Linux is fine).
  • Arbitrary anisotropic electric permittivity ε and magnetic permeability μ, along with dispersive ε(ω) and μ(ω) (including loss/gain) and 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 symmetries and 90°/180° rotations.
  • Complete scriptability — either via a Scheme scripting front-end (as in libctl and MPB), or callable as a C++ library; a Python interface is also available.
  • Field output in the HDF5 standard scientific data format, supported by many visualization tools.
  • Arbitrary material and source distributions.
  • Field analyses including flux spectra, Maxwell stress tensor, frequency extraction, local density of states and energy integrals, near to far field transformations; completely programmable.
  • Multi-parameter optimization, root-finding, integration, etcetera (via libctl).

Time-domain simulation

A time-domain electromagnetic simulation simply takes Maxwell's equations and evolves them over time within some finite computational region, essentially performing a kind of numerical experiment. This can be used to calculate a wide variety of useful quantities, but major applications include:

  • Transmission and reflection spectra — by Fourier-transforming the response to a short pulse, a single simulation can yield the scattering amplitudes over a wide spectrum of frequencies.
  • Resonant modes and frequencies — by analyzing the response of the system to a short pulse, one can extract the frequencies, decay rates, and field patterns of the harmonic modes of a system (including waveguide and cavity modes, and including losses).
  • Field patterns (e.g. Green's functions) in response to an arbitrary source, archetypically a CW (fixed-ω) input.

Using these results, one can then compute many other things, such as the local density of states (from the trace of the Green's function). Meep's scriptable interface makes it possible to combine many sorts of computations (along with multi-parameter optimization etcetera) in sequence or in parallel.

Kogence platform hosts several publicly accessible models that anyone can copy/clone and include these kinds of computations using MEEP.


See the Meep manual, the Meep Introduction and Meep Tutorial. There is also have a Meep FAQ.