• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

examples/H23-Oct-2020-1,4301,131

m4/H15-May-2020-9,6748,756

mpb/H23-Oct-2020-9,1787,119

src/H23-Oct-2020-13,6059,887

tests/H23-Oct-2020-2,4291,972

utils/H23-Oct-2020-1,7551,500

AUTHORSH A D13-Feb-2019242 96

COPYINGH A D03-Apr-201417.6 KiB341281

COPYRIGHTH A D29-Jul-2020787 1816

Makefile.amH A D20-Jan-2018181 139

Makefile.inH A D23-Oct-202026.1 KiB853754

NEWS.mdH A D23-Oct-202020.9 KiB607392

README.mdH A D13-Feb-20192.3 KiB2718

TODOH A D03-Apr-2014361 126

aclocal.m4H A D23-Oct-202042.9 KiB1,1831,075

compileH A D21-Mar-20207.2 KiB349259

config.guessH A D21-Mar-202047.3 KiB1,6681,457

config.h.inH A D23-Oct-20207.8 KiB298200

config.subH A D21-Mar-202030.9 KiB1,7941,637

configureH A D23-Oct-2020713.7 KiB24,40720,912

configure.acH A D23-Oct-202021.9 KiB613525

depcompH A D21-Mar-202023 KiB792502

install-shH A D21-Mar-202015.3 KiB530346

ltmain.shH A D15-Feb-2015316.5 KiB11,1487,979

missingH A D21-Mar-20206.7 KiB216143

README.md

1[![Latest Docs](https://readthedocs.org/projects/pip/badge/?version=latest)](http://mpb.readthedocs.io/en/latest/)
2[![Build Status](https://travis-ci.org/NanoComp/mpb.svg?branch=master)](https://travis-ci.org/NanoComp/mpb)
3
4MPB is a free and open-source software package for computing electromagnetic band structures and modes.
5
6## Features
7
8-   **Free and open-source software** under the [GNU GPL](https://en.wikipedia.org/wiki/GNU_General_Public_License).
9-   Complete **scriptability** via [Python](Python_Tutorial) or [Scheme](Scheme_User_Interface) APIs.
10-   Portable to any Unix-like system such as [Linux](https://en.wikipedia.org/wiki/Linux), [macOS](https://en.wikipedia.org/wiki/MacOS), and [FreeBSD](https://en.wikipedia.org/wiki/FreeBSD).
11-   Distributed memory **parallelism** on any system supporting the [MPI](https://en.wikipedia.org/wiki/Message_Passing_Interface) standard.
12-   Fully-vectorial **1d, 2d, 3d** calculations. Iterative eigensolver techniques are employed to make large calculations possible.
13-   **Direct, frequency-domain eigensolver** as opposed to indirect methods, e.g. time-domain. This means that you get both eigenvalues (frequencies) and eigenstates (electromagnetic modes) at the same time. See [comparison of time-domain and frequency-domain techniques](Introduction.md#frequency-domain-vs-time-domain).
14-   **Targeted eigensolver**. Iterative eigensolvers normally compute states (harmonic modes) with the lowest few frequencies. MPB can alternatively compute the modes whose frequencies are closest to a specified target frequency. This greatly reduces the number of bands that must be computed in guided or resonant mode calculations.
15-   Support for arbitrary, **anisotropic** dielectrics including **gyrotropic/magneto-optic** materials and **non-orthogonal** unit cells.
16-   Field output in the [HDF5](https://support.hdfgroup.org/HDF5/) data format.
17
18## Citing MPB
19
20We kindly request that you cite the following reference in any publication for which you use MPB:
21
22* Steven G. Johnson and J. D. Joannopoulos, [Block-iterative frequency-domain methods for Maxwell's equations in a planewave basis](http://www.opticsinfobase.org/abstract.cfm?URI=oe-8-3-173), *Optics Express* vol. **8**, no. 3, pp. 173–190 (2001).
23
24## Documentation
25
26See the [manual on readthedocs](https://mpb.readthedocs.io/en/latest) for the latest documentation.
27