17 | 07 | 2024
Main Menu
Related / External
We acknowledge support of this project by Deutsche Forschungsgemeinschaft (DFG) within the special program "Themenorientierte Informationsnetzwerke".

The page is hosted by the University of Bremen.

Baptiste Auguie This email address is being protected from spambots. You need JavaScript enabled to view it. v1.3, 2013-01

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,

Loading the package and first steps


# load the package

# Introductory document
vignette(package = "cda")

# A few examples
demo(package = "cda")

A more complete description, along with some tutorial examples, can be found on the github project wiki.

Basic Usage

In this example we define a dimer of nanorods, model its optical response to linearly polarised light at fixed incidence, and orientation-averaged optical activity.

# loading the package
library(rgl)  # 3D visualisation
library(ggplot2)  # 2D graphs

Manually defining a cluster

# dielectric function
wvl <- seq(400, 900)
gold <- epsAu(wvl)

# define a cluster of particles
cl <- list(r = rbind(c(0, 0, 0),
                      c(0, 0, 200)),
            angles = rbind(c(0, 0, 0),
                           c(pi/4, 0, 0)),
            sizes = rbind(c(40, 20, 20),
                          c(40, 20, 20)))


Extinction, absorption, scattering of linearly polarised light at fixed incidence

# calculate extinction spectrum at fixed incidence
linear <- linear_extinction_spectrum(cl, gold)



Orientation-averaged optical activity


circular <- circular_dichroism_spectrum(cl, gold)



If you find this package useful in your research, please cite one of the following references, as appropriate.

  1. Baptiste Auguié. CDA: Coupled dipole approximation with R and C++. R package version 1.3, 2012.
  2. 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, 2011.
  3. 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, 6 2011.
  4. 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, 2011.
  5. B. Auguié and W.L. Barnes. Diffractive coupling in gold nanoparticle arrays and the effect of disorder. pt. Lett., 34, 2009.
  6. B. Auguié and W.L. Barnes. Collective resonances in gold nanoparticle arrays. 101, 2008.
scattport.org verwendet Cookies, um Ihnen den bestmöglichen Service zu gewährleisten. Wenn Sie auf der Seite weitersurfen, stimmen Sie der Cookie-Nutzung zu.
Weitere Informationen Einverstanden Ablehnen