NanoComp / mpb

MIT Photonic-Bands: computation of photonic band structures in periodic media
GNU General Public License v2.0
158 stars 87 forks source link

Python scripts for surface modes in 1D and 2D photonic crystals #95

Open JohnWeiner opened 5 years ago

JohnWeiner commented 5 years ago

While reading Photonic Crystals: Molding the Flow of Light, 2nd edition, I was particularly interested in the surface modes in slab (1D) photonic crystals and in the surface modes in the rod square lattice (2D) photonic crystals. In particular I would like to investigate dispersion diagrams such as those shown in Fig. 14 of Chapter 4 and Fig. 21 of Chapter 5. These surface modes appear to be analogous to surface plasmon polariton modes (apps) at the surface of real metals and dielectrics. Plasmons surface waves have received a tremendous amount of attention in the past 15 years or so, but the analogous surface waves in photonic crystals appear to have received much less attention. From what I read in the book, the photonic crystal surface modes may be advantageous because they are constructed from low-loss dielectrics and not lossy metals.

I looked through the examples and tutorials in mpb and meep, but did not find anything on surface waves. I think there would be a great deal of physics interest in investigating these dielectric surface modes, but I am not sure how to set up the lattice geometry as shown in, say, the inset of Fig. 21, Chapter 5, 2nd edition of the book. An example python script that could be used as a model to studying surface modes would be a valuable contribution

stevengj commented 5 years ago

You just create a supercell along the surface-normal direction. Then, after you compute the bands, only look at modes under the light line of air and in the gap of the crystal (computed using a unit-cell calculation at the same k). I agree that a tutorial example might be nice.

Rounak183 commented 3 years ago

You just create a supercell along the surface-normal direction. Then, after you compute the bands, only look at modes under the light line of air and in the gap of the crystal (computed using a unit-cell calculation at the same k). I agree that a tutorial example might be nice.

Could you please provide a sample code for it?