Meep

From AbInitio

(Difference between revisions)
Jump to: navigation, search
Revision as of 02:22, 30 March 2006 (edit)
Stevenj (Talk | contribs)
(Documentation - mailing lists)
← Previous diff
Current revision (18:02, 28 July 2017) (edit)
Ardavan (Talk | contribs)

 
Line 1: Line 1:
[[Image:Meep-banner.png|440px|center|Meep logo banner]] [[Image:Meep-banner.png|440px|center|Meep logo banner]]
-'''Meep''' (or [[Meep acronym expansions|MEEP]]) is a free finite-difference time-domain (FDTD) simulation software package developed at MIT to model electromagnetic systems. Its features include:+__NOTOC__
 +'''Meep''' (or [[Meep acronym expansions|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}}
* '''Free software''' under the [[w:GNU General Public License|GNU GPL]]. * '''Free software''' under the [[w:GNU General Public License|GNU GPL]].
* Simulation in '''1d, 2d, 3d''', and '''cylindrical''' coordinates. * Simulation in '''1d, 2d, 3d''', and '''cylindrical''' coordinates.
* Distributed memory '''parallelism''' on any system supporting the [[w:MPI|MPI]] standard. Portable to any Unix-like system ([[w:Linux|GNU/Linux]] is fine). * Distributed memory '''parallelism''' on any system supporting the [[w:MPI|MPI]] standard. Portable to any Unix-like system ([[w:Linux|GNU/Linux]] is fine).
-* '''Dispersive''' ε(ω) (including loss/gain) and '''nonlinear''' (Kerr) materials.+* 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 '''Bloch-periodic''' boundary conditions.+* '''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. * Exploitation of '''symmetries''' to reduce the computation size — even/odd mirror symmetries and 90°/180° rotations.
-* Complete '''scriptability''' — either via a [[w:Scheme programming language|Scheme]] scripting front-end (as in [[libctl]] and [[MPB]]), or callable as a [[w:C plus plus|C++]] library.+* Complete '''scriptability''' — either via a [[w:Scheme programming language|Scheme]] scripting front-end (as in [[libctl]] and [[MPB]]), or callable as a [[w:C plus plus|C++]] library; a [[w:Python programming language|Python]] interface is also available.
* Field output in the [[w:HDF5|HDF5]] standard scientific data format, supported by many visualization tools. * Field output in the [[w:HDF5|HDF5]] standard scientific data format, supported by many visualization tools.
* Arbitrary material and source distributions. * Arbitrary material and source distributions.
-* Field analyses including flux spectra, frequency extraction, and energy integrals; completely programmable.+* Field analyses including flux spectra, Maxwell stress tensor, frequency extraction, local density of states and energy integrals, near to far field transformations; completely programmable.
* Multi-parameter optimization, root-finding, integration, etcetera (via [[libctl]]). * Multi-parameter optimization, root-finding, integration, etcetera (via [[libctl]]).
''Meep'' officially stands for ''MIT Electromagnetic Equation Propagation'', but we also have [[Meep acronym expansions|several unofficial meanings]] of the acronym. ''Meep'' officially stands for ''MIT Electromagnetic Equation Propagation'', but we also have [[Meep acronym expansions|several unofficial meanings]] of the acronym.
-{{TOCright}}+ 
== Time-domain simulation == == Time-domain simulation ==
Line 22: Line 24:
* '''Transmission and reflection spectra''' — by Fourier-transforming the response to a short pulse, a single simulation can yield the scattering amplitudes over a wide spectrum of frequencies. * '''Transmission and reflection spectra''' — by Fourier-transforming the response to a short pulse, a single simulation can yield the scattering amplitudes over a wide spectrum of frequencies.
* '''Resonant modes and frequencies''' — by analyzing the response of the system to a short pulse, one can extract the frequencies, decay rates, and field patterns of the harmonic modes of a system (including waveguide and cavity modes, and including losses). * '''Resonant modes and frequencies''' — by analyzing the response of the system to a short pulse, one can extract the frequencies, decay rates, and field patterns of the harmonic modes of a system (including waveguide and cavity modes, and including losses).
-* '''Field patterns''' (Green's functions) in response to an arbitrary source, archetypically a [[w:Continuous wave|CW]] (fixed-ω) input.+* '''Field patterns''' (e.g. Green's functions) in response to an arbitrary source, archetypically a [[w:Continuous wave|CW]] (fixed-ω) input.
Using these results, one can then compute many other things, such as the local density of states (from the trace of the Green's function). Meep's scriptable interface makes it possible to combine many sorts of computations (along with multi-parameter optimization etcetera) in sequence or in parallel. Using these results, one can then compute many other things, such as the local density of states (from the trace of the Green's function). Meep's scriptable interface makes it possible to combine many sorts of computations (along with multi-parameter optimization etcetera) in sequence or in parallel.
The [[Meep manual]] gives examples of all of these kinds of computations. The [[Meep manual]] gives examples of all of these kinds of computations.
-{{Meep}} 
== Download == == Download ==
Please see the [[Meep Download]] page to get the latest version of Meep; the differences between versions are described in the [[Meep release notes]]. The installation instructions can be found in the [[Meep installation|installation section]] of the [[Meep manual]]. Please see the [[Meep Download]] page to get the latest version of Meep; the differences between versions are described in the [[Meep release notes]]. The installation instructions can be found in the [[Meep installation|installation section]] of the [[Meep manual]].
 +
 +The latest development sources are available on [https://github.com/stevengj/meep Github].
== Documentation == == Documentation ==
-See the [[Meep manual]], and also the navigation sidebar at right. In particular, the [[Meep Introduction]] and [[Meep Tutorial]] are the most important things to read.+The latest documentation is available on [http://meep.readthedocs.io/ readthedocs].
-See also the list of [[:Category:Meep examples|Meep examples]].+See the [[Meep manual]], and also the navigation sidebar at right. In particular, the [[Meep Introduction]] and [[Meep Tutorial]] are the most important things to read. We also have a [[Meep FAQ]].
-We also have a [[Meep FAQ]].+Please [[Citing Meep|cite Meep]] in any publication for which you found it useful.
=== Mailing Lists === === Mailing Lists ===
-The Meep mailing lists (and their archives) are another source of information about Meep.+The Meep mailing lists and their archives are another source of information about Meep.
-Subscribe to the (read-only) [http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-announce meep-announce mailing list] to receive an email when Meep is updated in the future. Subscribe to the (unmoderated) [http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss meep-discuss mailing list] for discussion of questions and ideas about using Meep. Announcements are '''not''' always sent to meep-discuss; you should subscribe to meep-announce for that. [http://news.gmane.org/thread.php?group=gmane.comp.science.electromagnetism.meep Archives of meep-discuss] are available online. (You can also read & post the list via the [news://news.gmane.org/gmane.comp.science.electromagnetism.meep gmane.comp.science.electromagnetism.meep] newsgroup from [http://www.gmane.org/ Gmane]).+Subscribe to the read-only [http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-announce meep-announce mailing list] to receive notifications of updates and releases. Subscribe to the unmoderated [http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss meep-discuss mailing list] for discussions about using Meep. Archives are available [https://www.mail-archive.com/meep-discuss@ab-initio.mit.edu/ here]. You can also read and post to the list via the [news://news.gmane.org/gmane.comp.science.electromagnetism.meep.general gmane.comp.science.electromagnetism.meep.general] newsgroup from [http://www.gmane.org/ Gmane].
 + 
 +=== Bug reports and feature requests ===
 + 
 +For bug reports and feature requests, please [https://github.com/stevengj/meep/issues file a Meep Github issue].
== Acknowledgements == == Acknowledgements ==
-Meep was initiated by David Roundy when he was at MIT, and he was soon joined by Mihai Ibanescu, Peter Bermel, and later by Steven G. Johnson and Ardavan Farjadpour. Please see the [[Meep Acknowledgements]] for a more complete listing of those to whom we are grateful.+Meep's active developers are Ardavan Oskooi and Steven G. Johnson. Please see the [[Meep Acknowledgements]] for a more complete listing of those to whom we are grateful.
== Contacts and Feedback == == Contacts and Feedback ==
 +
 +If you have questions or problems regarding Meep, you are encouraged to query the [https://www.mail-archive.com/meep-discuss@ab-initio.mit.edu/ mailing list].
 +
 +For professional consulting as well as free access to Meep in the public cloud via Amazon Web Services (AWS), see [http://www.simpetuscloud.com Simpetus].
[[Category:Meep]] [[Category:Meep]]

Current revision

Meep logo banner

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, Maxwell stress tensor, frequency extraction, local density of states and energy integrals, near to far field transformations; completely programmable.
  • Multi-parameter optimization, root-finding, integration, etcetera (via libctl).

Meep officially stands for MIT Electromagnetic Equation Propagation, but we also have several unofficial meanings of the acronym.

Time-domain simulation

A time-domain electromagnetic simulation simply takes Maxwell's equations and evolves them over time within some finite computational region, essentially performing a kind of numerical experiment. This can be used to calculate a wide variety of useful quantities, but major applications include:

  • Transmission and reflection spectra — by Fourier-transforming the response to a short pulse, a single simulation can yield the scattering amplitudes over a wide spectrum of frequencies.
  • Resonant modes and frequencies — by analyzing the response of the system to a short pulse, one can extract the frequencies, decay rates, and field patterns of the harmonic modes of a system (including waveguide and cavity modes, and including losses).
  • Field patterns (e.g. Green's functions) in response to an arbitrary source, archetypically a CW (fixed-ω) input.

Using these results, one can then compute many other things, such as the local density of states (from the trace of the Green's function). Meep's scriptable interface makes it possible to combine many sorts of computations (along with multi-parameter optimization etcetera) in sequence or in parallel.

The Meep manual gives examples of all of these kinds of computations.

Download

Please see the Meep Download page to get the latest version of Meep; the differences between versions are described in the Meep release notes. The installation instructions can be found in the installation section of the Meep manual.

The latest development sources are available on Github.

Documentation

The latest documentation is available on readthedocs.

See the Meep manual, and also the navigation sidebar at right. In particular, the Meep Introduction and Meep Tutorial are the most important things to read. We also have a Meep FAQ.

Please cite Meep in any publication for which you found it useful.

Mailing Lists

The Meep mailing lists and their archives are another source of information about Meep.

Subscribe to the read-only meep-announce mailing list to receive notifications of updates and releases. Subscribe to the unmoderated meep-discuss mailing list for discussions about using Meep. Archives are available here. You can also read and post to the list via the gmane.comp.science.electromagnetism.meep.general newsgroup from Gmane.

Bug reports and feature requests

For bug reports and feature requests, please file a Meep Github issue.

Acknowledgements

Meep's active developers are Ardavan Oskooi and Steven G. Johnson. Please see the Meep Acknowledgements for a more complete listing of those to whom we are grateful.

Contacts and Feedback

If you have questions or problems regarding Meep, you are encouraged to query the mailing list.

For professional consulting as well as free access to Meep in the public cloud via Amazon Web Services (AWS), see Simpetus.

Personal tools