MPB (software)

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
MPB
Developersab initio research group, Massachusetts Institute of Technology
Initial release1999; 27 years ago (1999)
Stable release
1.12.0 / April 3, 2025; 14 months ago (2025-04-03)
Repositorygithub.com/NanoComp/mpb
Written inC
Engine
    Lua error in Module:EditAtWikidata at line 29: attempt to index field 'wikibase' (a nil value).
    Operating systemLinux, macOS
    TypeSimulation software
    LicenseGNU General Public License
    Websitempb.readthedocs.io/en/latest/

    MPB (MIT Photonic Bands) is a free and open-source[1] software package for electromagnetic analysis of periodic structures with an emphasis on photonic crystals. It was developed by Steven G. Johnson and collaborators at ab initio research group at Massachusetts Institute of Technology in 1999.[2] Operating under Unix-like systems and being scriptable in Python, it uses the frequency domain plane wave expansion method with block-iterative algorithms and Fast Fourier transform for modal analysis.[3] The solver is able to analyze lossless and dispersionless anisotropic materials, including birefringent and gyrotropic media.[4]

    MPB is widely used by band diagram analysis of photonic crystals by the photonics community,[5][6] with uses in the studies on optical waveguides,[7][8][9] photonic-crystal fibers,[10] negative refraction[11] and photonic topological insulators.[12][13] The software also serves as a complimentary module to the general-purpose electromagnetic simulation software Meep, also developed by the ab initio research group.[4]

    See also

    [edit | edit source]

    Lua error in mw.title.lua at line 392: bad argument #2 to 'title.new' (unrecognized namespace name 'Portal').

    References

    [edit | edit source]
    1. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    2. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    3. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    4. ^ a b Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    5. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    6. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    7. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    8. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    9. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    10. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    11. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    12. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    13. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    [edit | edit source]