Coupled Dipole Approximation in Python

Coupled dipole approximation (CDA) method is a numerical method to calculate the optical properties (scattering and absorption) of interacting dipoles. This method is used in discrete dipole approximation method (like in DDSCAT software), where a big particle (also known as target) is broken into lot of interacting dipoles arranged in cubic lattice. CDA can also be used to calculate the optical properties (scattering and absorption) of random particle distributions (like in L. Zhao et al. J. Phys. Chem. B,  107,  30, 7343,2003 ) and assuming each particle to be small enough that it behaves like a dipole. I have implement Read More …

Plasmonic Materials in MEEP > 1.2

Here is how I was implementing plasmonic materials in meep1.1 scheme code. Unlike Meep 1. 1, Meep >= 1. 2 changed the way materials are defined. Here I will describe how to change the material definition code from meep1.1 to meep 1.2 . Please note that one can still use the material definition written from Meep <1.2 for Meep >=1.2 but not vice versa. Installation of Meep 1.2 on ubuntu You can follow instructions given in my previous post to compile Meep 1.2 from the source code, but the procedure is outdated and one can use the recently pre-compiled meep Read More …

Installing Meep 1.2 on ubuntu

Pre-compiled Meep binaries for meep1.1 exist for Ubuntu distribution. This makes it very easy to install meep on ubuntu using “apt-get install” command or from the ubuntu software center. However recently, Meep developers have release meep1.2 which has more functions compared to meep1.1. I have recently installed meep1.2 from source on ubuntu 12.04 using the instructions shown at http://ab-initio.mit.edu/wiki/index.php/Meep_Installation. I have root access to my computer, so I installed all the libraries/bin files in their default location (i.e, libraries go in /usr/local/lib, programs in /usr/local/bin, etc) These are the steps I followed: 1) To avoid any complications, I uninstalled meep1.1 Read More …

Electric field at localized plasmon resonance using MEEP

This article is about simulating localized plasmon resonances in metal nanospheres using MEEP package. Generally, I am interested in solving three problems in LSPR systems: Calculate the extinction, scattering, absorption spectra of metal nanoparticle The procedure for doing this is very similar to the method I mentioned here. Calculating the electric field enhancement spatially as function of wavelength This involves taking electric field distributions with a particle in time domain and taking FFT of them. Also to be noted is that the electric fields near the particle should be normalized with electric fields with no nanoparticle. This has to be Read More …

Surface plasmon dispersion relation for thin metal films

A thin metal film in dielectric (also known as dielectric-metal-dielectric configuration) can support surface plasmons that are different in nature to the ones observed in thick metal-dielectric interfaces. Unlike, a single mode that is observed in thick metal film, thin metal films exhibit two types of modes for the same wavevector due to excitation and interaction of surface plasmons on both sides of the film. One mode (L+) is at higher energy and other (L-) is at a lower energy. The high energy has anti-symmetric field distribution whereas the low energy one has symmetric field distribution. The dispersion relations of Read More …

Arbitrary 2d shapes in MEEP

In MEEP (1.1.1), dielectric structures are often created by constructive geometry (adding and subtracting primitive shapes). The primitive shapes that are allowed are blocks, cylinders, ellipsoids and cones. To create a complex shape, one has to decompose the geometry into these primitive shapes. Over the weekend, I was wondering if it was possible to somehow create any complex shape in 2d without figuring out the exact positions and operations with the available primitive shapes. Here I report how I solve this problem. The first thing I figured out was to create a 2d triangle with known vertices using a certain Read More …

Plasmonic materials in MEEP

  The aim of this post is to share my experience in incorporating dielectric function of metals such as gold and silver into MEEP (a free finite difference time domain package) code. The incorporation is not an easy task and can be daunting for the first time user. Metals such as gold and silver have both Drude and Lorentz components for the dielectric function. There are many forms of Lorentz-Drude expressions in literature with slight notation differences. I prefer the Lorentz-Drude expression mentioned in Rakic et al., Optical properties of metallic films for vertical-cavity optoelectronic devices, Applied Optics (1998) and Read More …

Electric Field in Metal Nanoparticle Dimers

Metal nanoparticles exhibit localized surface plasmon resonance (LSPR). One can think of LSPR as resonance of electron sea oscillations driven by incident electric field. This is similar to the way a spring-mass system attains resonance under external periodic driving force. The result of this plasmon resonance is enhanced dipole moment or charge separation, which leads to 1) large extinction (extinction is defined as sum of scattering and absorption) and 2) large electric field near the particle. Both of which are shape, size and surrounding dependent. Researchers have taken advantage of this large electric field localization to enhance Raman signals from molecules Read More …

Charge density in metal nanoparticles at plasmon resonance

It is important to know the magnitude and distribution of electric field near the metallic nanoparticles at plasmon resonance. One can look at the electric field and say whether the plasmon mode is dipolar or higher order mode such as qudrapolar mode. At many times one is also interested to know the surface charge density which makes easier to identify the plasmon mode. One can get the surface charge density by talking the divergence of electric field (near field) either calculated by DDA method or FDTD method [Reference paper]. Below I have calculated the electric field near nanoparticle at plasmon Read More …

Spoof Plasmons / Designer Surface Plasmons

Aim of this article/post: To 1) introduce the concept of Designer surface plasmons or Spoof plasmons and 2) Dispersion relations and Visualization of the fields using MEEP code. (Some of the text/simulations are taken from my paper in the area of DSPs.) Surface Plasmons are electromagnetic waves that travel at the interface of metals such as Ag/Au (follow Lorentz-Drude dielectric model) and a dielectric. Surface plasmons are not expected in perfect electric conductors (PEC’s) as the electric field inside the metal is zero. However, highly localized surface-bound states appear when the PEC is periodically modulated with arrays of sub-wavelength square Read More …