.. index:: MIT Photonic-Bands .. _MIT Photonic-Bands: MIT Photonic-Bands ================== Description ----------- The MIT Photonic-Bands (mpb) package is a program for computing the band structures (dispersion relations) and electromagnetic modes of periodic dielectric structures, on both serial and parallel computers. User instructions ----------------- mpb is available via the modules system. To add it to your environment run: .. code-block:: bash $ module load mpb/1.6.1 The following variants of mpb are available: ``mpb`` Serial version. ``mpbi`` Serial version with inversion symmetry in the dielectric function assumed, which enables a factor of 2 saving in time and memory. ``mpb-mpi`` Parallel version. ``mpbi-mpi`` Parallel version with inversion symmetry. Two utility programs are also installed: ``mpb-data`` and ``mpb-split``. The latter also has an inversion-symmetry analogue, ``mpbi-split``. The `MPB website `_ contains lots of documentation and a users' manual. Documentation is also available in the man pages. Please cite MPB in any publication for which you found it useful. Source ------ http://ab-initio.mit.edu/wiki/index.php/MIT_Photonic_Bands License ------- GNU General Public License. Admin notes ----------- I compiled the serial versions in order to also produce the additional utilities. Given the parallel versions are given different names, I installed them all to the same module. .. code-block:: bash $ make distclean $ ../mpb-1.6.1/configure CC=icc CFLAGS='-O3 -fPIC' F77=ifort FFLAGS='-O3 -fPIC' LDFLAGS=' -L${MKLROOT}/lib/intel64 -Wl,--no-as-needed -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -lpthread -lm -ldl' --with-libctl=$LIBCTL_ROOT/share/libctl --prefix=/common/debian/9.1/MPI/intel/2017.4/openmpi/2.1/mpb/mpb-1.6.1 --with-hermitian-eps $ make && make install The MPI and/or inversion symmetry versions were compiled by adding the combinations of '--with-mpi' and '--with-inv-symmetry' to the configure command. Note that 'make distclean` must be run between compiling each variant.