Skip to content

Commit

Permalink
progress
Browse files Browse the repository at this point in the history
  • Loading branch information
simbilod committed Mar 6, 2020
1 parent dff5687 commit c66e81f
Show file tree
Hide file tree
Showing 25 changed files with 2,812 additions and 37 deletions.
113 changes: 113 additions & 0 deletions .ipynb_checkpoints/0-introduction-checkpoint.ipynb
Original file line number Diff line number Diff line change
@@ -0,0 +1,113 @@
{
"cells": [
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"# Simulations in nanophotonics\n",
"\n",
"Solve Maxwell's equations for *e.g.* effective index, mode profile, transmission, etc. Need to fully simulate, since ray optics approximations break down when dimensions are order wavelength."
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"# What are your options?\n",
"\n",
"## Commercial\n",
"\n",
"Some I've used, but there are a lot more :\n",
"[Lumerical](https://www.lumerical.com/), [Synopsys](https://www.synopsys.com/photonic-solutions.html), [PhotonDesign](https://www.photond.com/products.htm). These may be easier to use in a \"production\" environment, and have more support.\n",
"\n",
"## Why MEEP/MPB (open-source)?\n",
"\n",
"* Free!\n",
"* Flexible. Good for research.\n",
"* Transparent. Good for teaching.\n",
"* Widely-used\n"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
" # What is PyMEEP?\n",
"\n",
"It is the Python wrapper to MEEP and MPB. These tools can also be used from a Scheme interface. \n",
"\n",
"* **MPB : MIT Periodic Bands**\n",
" * \"MPB computes definite-frequency eigenstates, or harmonic modes, of Maxwell's equations in periodic dielectric structures for arbitrary wavevectors, using fully-vectorial and three-dimensional methods. It is applicable to many problems in optics, such as waveguides and resonator systems, and photonic crystals. [1]\n",
" \n",
"\n",
"* **MEEP : MIT Electromagnetic Equation Propagation**\n",
" * \"A time-domain electromagnetic simulation simply evolves Maxwell's equations over time within some finite computational volume, essentially performing a kind of numerical experiment. This can be used to calculate a wide variety of useful quantities. Major applications include:\n",
" * Transmittance and Reflectance Spectra — by Fourier-transforming the response to a short pulse, a single simulation can yield the scattering amplitudes over a broadband spectrum.\n",
" * 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 lossy and lossless systems including waveguide and cavity modes.\n",
" * Field Patterns (e.g. Green's functions) — in response to an arbitrary source via a continuous-wave (CW) input (fixed-ω).\"\n",
" \n",
" Meep's scriptable interface makes it possible to combine many sorts of computations along with multi-parameter optimization in sequence or in parallel.\" [2]\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Introduction to the Python interface\n",
"\n",
"Mostly follow Python syntax for objects, functions, etc."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# References\n",
"\n",
"1. https://mpb.readthedocs.io/en/latest/\n",
"2. https://meep.readthedocs.io/en/latest/\n",
"3. http://www.simpetus.com/projects.html"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "PyMeep",
"language": "python",
"name": "pymeep"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.7.6"
}
},
"nbformat": 4,
"nbformat_minor": 4
}
380 changes: 380 additions & 0 deletions .ipynb_checkpoints/1-simple_geometries-checkpoint.ipynb

Large diffs are not rendered by default.

6 changes: 6 additions & 0 deletions .ipynb_checkpoints/2-MPB_simulation-checkpoint.ipynb
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"cells": [],
"metadata": {},
"nbformat": 4,
"nbformat_minor": 2
}
6 changes: 6 additions & 0 deletions .ipynb_checkpoints/3-MEEP_simulation-checkpoint.ipynb
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"cells": [],
"metadata": {},
"nbformat": 4,
"nbformat_minor": 2
}
6 changes: 6 additions & 0 deletions .ipynb_checkpoints/4-MEEP_S_parameters-checkpoint.ipynb
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"cells": [],
"metadata": {},
"nbformat": 4,
"nbformat_minor": 2
}
6 changes: 6 additions & 0 deletions .ipynb_checkpoints/5-complex_geometries-checkpoint.ipynb
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"cells": [],
"metadata": {},
"nbformat": 4,
"nbformat_minor": 2
}
6 changes: 6 additions & 0 deletions .ipynb_checkpoints/6-shell_simulations-checkpoint.ipynb
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"cells": [],
"metadata": {},
"nbformat": 4,
"nbformat_minor": 2
}
6 changes: 6 additions & 0 deletions .ipynb_checkpoints/Untitled-checkpoint.ipynb
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"cells": [],
"metadata": {},
"nbformat": 4,
"nbformat_minor": 2
}
19 changes: 17 additions & 2 deletions 0-introduction.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,16 @@
"source": [
"# Introduction to the Python interface\n",
"\n",
"Mostly follow Python syntax for objects, functions, etc."
"Mostly follow Python syntax for objects, functions, etc.\n",
"\n",
"\n",
"\n",
"Image rom https://www.w3schools.com/python/python_classes.asp\n",
"\n",
"### Neat Notebook tricks\n",
"\n",
"* Autocomplete/suggest : press tab\n",
"* Cell magics : %%capture to suppress or capture output, etc."
]
},
{
Expand All @@ -76,9 +85,15 @@
"source": [
"# References\n",
"\n",
"Most of the following is extracted from the Python User Interface and Tutorial pages of :\n",
"\n",
"1. https://mpb.readthedocs.io/en/latest/\n",
"2. https://meep.readthedocs.io/en/latest/\n",
"3. http://www.simpetus.com/projects.html"
"\n",
"The source code (thanks open-source!) itself and examples are also a good source of information :\n",
"\n",
"3. https://github.com/NanoComp/meep\n",
"4. http://www.simpetus.com/projects.html"
]
},
{
Expand Down
99 changes: 64 additions & 35 deletions 1-simple_geometries.ipynb

Large diffs are not rendered by default.

Loading

0 comments on commit c66e81f

Please sign in to comment.