Meep
Meep (or MEEP) is a free finite-difference time-domain (FDTD) simulation software package developed at MIT to model electromagnetic systems, along with our MPB eigenmode package. Its features include: Meep Download Release notes FAQ Meep manual Introduction Installation Tutorial Reference C++ Tutorial C++ Reference Acknowledgements License and Copyright
- 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, frequency extraction, and energy integrals; completely programmable.
- Multi-parameter optimization, root-finding, integration, etcetera (via libctl).
Installed versions
- meep/1.1.1
- meep/1.2.1
Using Meep
SGE example script
- meep_mpi.sge
#!/bin/bash -l # Pour utiliser ce script, faire un qsub de celui-ci # apres renseignement des parametres # qsub <nom du script> # Temps maximum pour l'execution du processus # * Plus ce temps est court, plus la priorite du job sera importante # * Le job sera tue s'il depasse ce temps #$ -l h_rt=360:00:0 # Nom du fichier ou stocker la sortie #$ -o $JOB_NAME.o$JOB_ID # Nom du job #$ -N exemple_meep_mpi # Queue utilisee #$ -q normal15d # file pour les jobs paralleles courts < 15j #$ -pe impi_tight 4 # on demande 4 coeurs # SGE doit charger l'environnement #$ -V #$ -cwd # On charge les modules necessaires module load meep # Lancement du programme mpirun -n $NSLOTS meep-mpi input.ctl > output