clusters 3D
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)

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))
dimer linear
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))
dimer cd
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.