Meep is a free finite-difference time-domain (FDTD) simulation software package developed at MIT to model electromagnetic systems.

User instructions

Meep is available via the modules system. To add it to your environment run:

$ module load meep/1.4.3

Only the parallel version is installed, though the binary is named meep (earlier versions used meep-mpi).

The Meep website contains lots of documentation and a users’ manual.

Please cite Meep in any publication for which you found it useful.


GNU General Public License.

Admin notes

Note an earlier version of Meep is also available via the repositories. I compiled it as a module though so we could use the Intel compilers and use a newer OpenMPI version, along with MPB support.

Meep comes with its own test suite. With the Intel compilers, all tests pass apart from the three_d and h5tests; according to the Meep email list the former at least is due to an excessively small tolerance for success for symmetry test. For the most recent versions I’ve only compiled the Intel version as there are quite a number of dependencies.

ml purge
module load intel openmpi mkl fftw-mpi libctl harminv hdf5 mpb
mkdir build-1.4.3-intel; cd build-1.4.3-intel
../meep-1.4.3/configure CC=icc CFLAGS='-O3' CXX=g++ CXXFLAGS='-O3' F77=ifort FFLAGS='-O3' LDFLAGS='-L${MKLROOT}/lib/intel64 -Wl,--no-as-needed -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -lpthread -lm -ldl -lmpi_mpifh' --prefix=/common/debian/9.1/MPI/intel/2017.4/openmpi/2.1/meep/meep-1.4.3 --with-libctl=$LIBCTL_ROOT/share/libctl --with-mpi
make && make check
make install