mpb

MIT Photonic-Bands: computation of photonic band structures in periodic media

https://github.com/nanocomp/mpb

Science Score: 36.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
    4 of 12 committers (33.3%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.1%) to scientific vocabulary
Last synced: 9 months ago · JSON representation

Repository

MIT Photonic-Bands: computation of photonic band structures in periodic media

Basic Info
  • Host: GitHub
  • Owner: NanoComp
  • License: gpl-2.0
  • Language: C
  • Default Branch: master
  • Size: 2.87 MB
Statistics
  • Stars: 180
  • Watchers: 20
  • Forks: 101
  • Open Issues: 41
  • Releases: 11
Created about 12 years ago · Last pushed about 1 year ago
Metadata Files
Readme Changelog License Authors Codemeta

README.md

Latest Docs Build Status

MPB is a free and open-source software package for computing electromagnetic band structures and modes.

Features

  • Free and open-source software under the GNU GPL.
  • Complete scriptability via Python or Scheme APIs.
  • Portable to any Unix-like system such as Linux, macOS, and FreeBSD.
  • Distributed memory parallelism on any system supporting the MPI standard.
  • Fully-vectorial 1d, 2d, 3d calculations. Iterative eigensolver techniques are employed to make large calculations possible.
  • 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.
  • 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.
  • Support for arbitrary, anisotropic dielectrics including gyrotropic/magneto-optic materials and non-orthogonal unit cells. Lossy and wavelength-dependent $\varepsilon$ and $\mu$ are not supported.
  • Field output in the HDF5 data format.

Citing MPB

We kindly request that you cite the following reference in any publication for which you use MPB:

Documentation

See the manual on readthedocs for the latest documentation.

Owner

  • Name: Nanostructures and Computation Group
  • Login: NanoComp
  • Kind: organization
  • Location: MIT, Cambridge, MA, USA

CodeMeta (codemeta.json)

{
  "@context": "https://doi.org/10.5063/schema/codemeta-2.0",
  "@type": "SoftwareSourceCode",
  "name": "MPB",
  "description": "MPB is a free software package for computing photonic band structures and modes.",
  "url": "https://github.com/stevengj/mpb",
  "codeRepository": "https://github.com/stevengj/mpb",
  "issueTracker": "https://github.com/stevengj/mpb/issues",
  "license": "https://spdx.org/licenses/GPL-2.0-or-later.html",
  "citation": "http://dx.doi.org/10.1364/OE.8.000173",
  "author": [
    {
      "@type": "Person",
      "givenName": "Steven G.",
      "familyName": "Johnson",
      "email": "stevenj@alum.mit.edu",
      "@id": "http://orcid.org/0000-0001-7327-4967"
    }
  ],
  "developmentStatus": "active",
  "downloadUrl": "https://github.com/stevengj/mpb/releases",
  "version": "1.7.0",
  "dateCreated": "1998-05-20",
  "datePublished": "1999-11-19",
  "programmingLanguage": [
    "C",
    "Scheme"
  ]
}

GitHub Events

Total
  • Create event: 1
  • Release event: 1
  • Issues event: 3
  • Watch event: 16
  • Issue comment event: 2
  • Push event: 2
  • Pull request event: 2
  • Fork event: 11
Last Year
  • Create event: 1
  • Release event: 1
  • Issues event: 3
  • Watch event: 16
  • Issue comment event: 2
  • Push event: 2
  • Pull request event: 2
  • Fork event: 11

Committers

Last synced: about 1 year ago

All Time
  • Total Commits: 1,153
  • Total Committers: 12
  • Avg Commits per committer: 96.083
  • Development Distribution Score (DDS): 0.043
Past Year
  • Commits: 8
  • Committers: 2
  • Avg Commits per committer: 4.0
  • Development Distribution Score (DDS): 0.125
Top Committers
Name Email Commits
Steven G. Johnson s****j@a****u 1,103
Christopher Hogan C****n 19
Thomas Christensen t****r@m****u 12
Ardavan Oskooi o****i 7
Homer Reid h****d@m****u 3
Adam Klimont a****i@g****m 2
Robin Dunn r****n@s****m 2
Nick R. Papior n****r@g****m 1
Floris Laporte f****e@g****m 1
Andreas Hoenselaar a****r@g****m 1
kylkaren k****n@m****u 1
Homer Reid h****r@s****m 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: about 1 year ago

All Time
  • Total issues: 69
  • Total pull requests: 40
  • Average time to close issues: 4 months
  • Average time to close pull requests: 20 days
  • Total issue authors: 44
  • Total pull request authors: 11
  • Average comments per issue: 2.09
  • Average comments per pull request: 1.9
  • Merged pull requests: 34
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 4
  • Pull requests: 2
  • Average time to close issues: N/A
  • Average time to close pull requests: 5 days
  • Issue authors: 4
  • Pull request authors: 2
  • Average comments per issue: 1.0
  • Average comments per pull request: 0.5
  • Merged pull requests: 1
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • stevengj (5)
  • Saranyanarayanan (5)
  • JohnWeiner (4)
  • thchr (4)
  • oskooi (3)
  • ywsun868 (3)
  • acerjan (2)
  • nblinov (2)
  • ahoenselaar (2)
  • mahar (2)
  • Djordje117 (2)
  • smartalecH (2)
  • yurivict (2)
  • knifelees3 (1)
  • mdecea (1)
Pull Request Authors
  • thchr (14)
  • ChristopherHogan (14)
  • oskooi (5)
  • RobinD42 (2)
  • 601t (2)
  • zerothi (1)
  • HomerReid (1)
  • jianguan210 (1)
  • stevengj (1)
  • ahoenselaar (1)
  • flaport (1)
Top Labels
Issue Labels
enhancement (5) bug (2) documentation (1)
Pull Request Labels
documentation (1) enhancement (1)

Packages

  • Total packages: 2
  • Total downloads: unknown
  • Total dependent packages: 1
    (may contain duplicates)
  • Total dependent repositories: 0
    (may contain duplicates)
  • Total versions: 8
spack.io: mpb

MPB is a free and open-source software package for computing electromagnetic band structures and modes.

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 0.0%
Forks count: 13.6%
Stargazers count: 16.9%
Average: 21.9%
Dependent packages count: 57.3%
Last synced: 10 months ago
conda-forge.org: mpb
  • Versions: 7
  • Dependent Packages: 1
  • Dependent Repositories: 0
Rankings
Forks count: 20.7%
Stargazers count: 27.8%
Average: 27.8%
Dependent packages count: 28.8%
Dependent repos count: 34.0%
Last synced: 9 months ago

Dependencies

doc/requirements.txt pypi
  • python-markdown-math *