Skip to content
baptiste edited this page Nov 23, 2012 · 22 revisions

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.

This wiki provides information to start using the package.

Installation + getting started

Basic example

Simulating extinction and optical activity from a dimer of gold nanorods

Demos and tutorials

clusters generate 3D views of some predefined cluster shapes using RGL rendering or povray

dimer_linear extinction spectrum of a dimer of gold nanorods

dimer_cd circular dichroism for a chiral dimer of gold nanorods

helix_cd circular dichroism for a helix of gold nanoparticles

diffractive_chain extinction spectrum of a square array of gold nanorods

lattice_sum lattice sum for a 2D square array of dipoles

multiple_incidence dispersion plot with varying angles of incidence

Technical aspects and tests

timing_inversion is it faster to invert the interaction matrix once, or solve a linear system for multiple angles of incidence?

averaging_method compares the performance of GL quadrature, QMC, and basic grid

trivial_tests checks the correctness of the results in trivial situations (non-chiral cluster, translations, rotations, inversion).

Clone this wiki locally