
Here, rather than review the well-known FDTD algorithm itself (which is thoroughly covered elsewhere), we focus on the particular design decisions that went into the development of Meep whose motivation may not be apparent from textbook FDTD descriptions, the tension between abstraction and performance in FDTD implementations, and the unique or unusual features of our software. It also includes some unusual features, such as advanced signal processing to analyze resonant modes, accurate subpixel averaging, a frequency-domain solver that exploits the time-domain code, complete scriptability, and integrated optimization facilities. Meep is full-featured, including, for example: arbitrary anisotropic, nonlinear, and dispersive electric and magnetic media a variety of boundary conditions including symmetries and perfectly matched layers (PML) distributed-memory parallelism Cartesian (1d/2d/3d) and cylindrical coordinates and flexible output and field computations. This paper describes our free, open-source implementation of the FDTD algorithm: Meep (an acronym for MIT Electromagnetic Equation Propagation), available online at. One of the most common computational tools in classical electromagnetism is the finite-difference time-domain (FDTD) algorithm, which divides space and time into a regular grid and simulates the time evolution of Maxwell's equations, ,. Forum, MPI: A Message Passing Interface, in: Supercomputing 93, Portland, OR, 1993, pp. 1999 Geoscience and Remote Sensing Symposium (IGARSS), Hamburg, Germany, vol.

FDTD MEEP UPDATE
Yeager, HDF: An update and future directions, in: Proc. Running time: Problem dependent (typically about 10 ns per pixel per timestep) Solution method: Finite-difference time-domain (FDTD) method Nature of problem: Classical electrodynamics
FDTD MEEP SOFTWARE
RAM: Problem dependent (roughly 100 bytes per pixel/voxel)Įxternal routines: Optionally exploits additional free software packages: GNU Guile, libctl interface library, HDF5, MPI message-passing interface, and Harminv filter-diagonalization (which requires LAPACK and BLAS linear-algebra software ).

Operating system: Any Unix-like system developed under Debian GNU/Linux 5.0.2. of bytes in distributed program, including test data, etc.: 1 925 774Ĭomputer: Any computer with a Unix-like system and a C++ compiler optionally exploits additional free software packages: GNU Guile, libctl interface library, HDF5, MPI message-passing interface, and Harminv filter-diagonalization. of lines in distributed program, including test data, etc.: 151 821 Program obtainable from: CPC Program Library, Queen's University, Belfast, N.
