/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 Coverage Status Python versions 2.7–3.6

Meep is a free and open-source software package for electromagnetics simulation via the finite-difference time-domain (FDTD) method.

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 and nightly builds via Conda.
  • Arbitrary anisotropic electric permittivity ε and magnetic permeability μ, along with dispersive ε(ω) and μ(ω) including loss/gain, nonlinear (Kerr & Pockels) dielectric and magnetic materials, electric/magnetic conductivities σ, and saturable gain/absorption.
  • 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.
  • Arbitrary current sources including a guided-mode launcher.
  • Frequency-domain solver for finding the response to a continuous-wave (CW) source.
  • ε/μ and field import/export in the HDF5 data format.
  • GDSII file import for planar geometries.
  • Materials library containing predefined broadband, complex refractive indices.
  • Field analyses including Poynting flux, mode decomposition, near to far transformations, frequency extraction, local density of states (LDOS), modal volume, Maxwell stress tensor, arbitrary functions; completely programmable.

Citing Meep

We kindly request that you cite the following paper in any published work for which you used Meep:

Documentation

See the manual on readthedocs for the latest documentation.