Coupled-dipole simulations of sparse plasmonic nanoparticle assemblies using the cda package
Baptiste Auguie
This e-mail address is being protected from spambots. You need JavaScript enabled to view it.
version 1.0, 2011-07

Figure 1. Ray-tracing rendering of 3D clusters of plasmonic nanoparticles with arbitrary positions, sizes, and orientations.
Brief description
The cda package implements the coupled-dipole approximation for electromagnetic scattering by sparse collections of subwavelength particles, with a particular focus on plasmonic nanoparticles in the visible regime. The interaction matrix, and the solution of the linear system of coupled-dipole equations are executed in C++ code for speed; convenient wrapper functions are provided at the R level to generate the particle clusters, calculate the extinction, scattering, and absorption of light by particles with linearly and circularly polarised light. Functions are also provided to calculate orientation-averaged circular dichroism, and display clusters of nanoparticles in three dimensions using OpenGL or povray.
Package installation
cda is an R package available on CRAN; it may be installed directly from the R command line,
Installation procedure and first steps
## Required dependencies
dependencies <- c("ggplot2", # plotting and data reshaping
"Rcpp", # R/C++ interface
"RcppArmadillo", # Rcpp interface with the Armadillo <1> linear algebra C++ library
"statmod", # provides Gauss-Legendre quadrature points for orientation-averaging
"rgl" # R interface to OpenGL for 3D visualisation
)
install.packages(dependencies)
install.packages("cda")
## load the package
library(cda)
## Two introductory documents
vignette(package = "cda")
## A few examples
demo(package = "cda")
## A number of figures reproduced from recent works in the literature
system(paste("open", system.file("publis","circular_dichroism.pdf",package="cda")))
## which can be copied from the publis/ directory
list.files(system.file("publis", package="cda"), recursive=TRUE)
1. Armadillo
Examples
Extinction of a dimer of gold nanorods
demo(dimer_linear)
> library(cda)
> wvl <- seq(400,900)
> gold <- epsAu(wvl)
> onedimer <- function(d = 200){
+ clust <- makeRodChain(N=2, pitch=d*1e-3)
+ m <- linear_extinction_spectrum(clust, gold, n=1.5)
+ invisible(m)
+ }
> params <- data.frame(d=seq(200, 400, by=10))
> comparison <- mdply(params, onedimer)
> p <-
+ ggplot(data=comparison) +
+ geom_path(aes(wavelength, value, linetype=variable,
+ colour=d, group=interaction(d,variable))) +
+ labs(y=expression(sigma[ext]*" /"*mu*m^2),
+ x=expression(wavelength*" /"*mu*m),
+ colour = expression(d/nm), linetype=expression(polarisation))

Figure 2. demo(dimer_linear) from the cda package. Extinction spectra of a dimer of gold nanorods excited by linearly polarised light, with varying separation. The two rods are parallel, with a distance varied from 200 nm to 400nm. The particle shape is described by a prolate ellipsoid of semi-axes 50nm and 30nm, immersed in a homogeneous medium of refractive index 1.5 (glass).
Optical activity of a chiral dimer of gold nanorods
demo(dimer_cd)
> library(cda)
> wvl <- seq(500,900)
> gold <- epsAu(wvl)
> onecluster <- function(handedness="right"){
+ test <- handedness == "right"
+ clust <- makeDimerCluster(d = 200e-3, phi=pi/4, right = test)
+ m <- circular_dichroism_spectrum(clust, gold, n=1.33, N=36)
+ invisible(m)
+ }
> params <- data.frame(handedness=c("right", "left"))
> comparison <- mdply(params, onecluster)
> p <- ggplot(comparison) + facet_grid(type~., scales="free") +
+ geom_hline(yintercept=0) +
+ geom_path(aes(energy, value, colour=handedness, linetype=variable,
+ group=interaction(handedness, variable))) +
+ labs(x="energy / eV", y=expression(sigma / mu*m^2))

Figure 3. demo(dimer_cd) from the cda package. A chiral cluster of two nanorods is used with a separation d = 200 nm and dihedral angle φ = ±π/4. Opposite handedness yields a mirror-image circular dichroism spectrum.
References
- B. Auguié, J.L. Alonso-Gómez, A. Guerrero-Martìnez, and L.M. Liz-Marzán. Fingers crossed: Optical activity of a chiral dimer of plasmonic nanorods. The Journal of Physical Chemistry Letters, 2(8):846–851, 2011.
- A. Guerrero-Martìnez, J.L. Alonso-Gómez, B. Auguié, M. Cid, and L.M. Liz-Marzán. From individual to collective chirality in metal nanoparticles. Nano Today, in press, 2011.
- A. Guerrero-Martìnez, B.Auguié, J.L. Alonso-Gómez, Z.Džolić, S. Gómez-Graña, M. Žinić, M.M. Cid, and L.M. Liz-Marzán. Intense optical activity from three-dimensional chiral ordering of plasmonic nanoantennas. Angewandte Chemie International Edition, 50(24):5499–5503, 2011.
- B. Auguié, X.M. Bendaña, W.L. Barnes, and F.J. García de Abajo. Diffractive arrays of gold nanoparticles near an interface: Critical role of the substrate. Phys. Rev. B, 82(15):155447, Oct 2010.
- B. Auguié and W.L. Barnes. Diffractive coupling in gold nanoparticle arrays and the effect of disorder. Opt. Lett., 34(4):401–403, Feb 2009.
- B. Auguié and W.L. Barnes. Collective resonances in gold nanoparticle arrays. 101(14):143902, Sep 2008.
Version 1.0
Last updated 2011-07-26 10:46:31 NZST