Wulff-Based Approach to Modeling the Plasmonic Response of Single Crystal, Twinned, and Core–Shell Nanoparticles

The growing interest in plasmonic nanoparticles and their increasingly diverse applications is fuelled by the ability to tune properties via shape control, promoting intense experimental and theoretical research. Such shapes are dominated by geometries that can be described by the kinetic Wulff construction such as octahedra, thin triangular platelets, bipyramids, and decahedra, to name a few. Shape is critical in dictating the optical properties of these nanoparticles, in particular their localized surface plasmon resonance behavior, which can be modeled numerically. One challenge of the various available computational techniques is the representation of the nanoparticle shape. Specifically, in the discrete dipole approximation, a particle is represented by discretizing space via an array of uniformly distributed points-dipoles; this can be difficult to construct for complex shapes including those with multiple crystallographic facets, twins, and core–shell particles. Here, we describe a standalone user-friendly graphical user interface (GUI) that uses both kinetic and thermodynamic Wulff constructions to generate a dipole array for complex shapes, as well as the necessary input files for DDSCAT-based numerical approaches. Examples of the use of this GUI are described through three case studies spanning different shapes, compositions, and shell thicknesses. Key advances offered by this approach, in addition to simplicity, are the ability to create crystallographically correct structures and the addition of a conformal shell on complex shapes.


The user interface
The steps for the generation of the shape and input files are illustrated in Figure S1. The overall flow is as follows: first, the user sets the parameters in the four panels of the main window.
Next, the shape geometry is calculated, followed by the definition of the shape size and optionally of the interdipole spacing and the creation of the shape and parameter files.
Specifically, the first step is to specify the Wulff model inputs in basic parameters, i.e. the surface growth velocities of the {100}, {110}, and {111} planes as well as the kinetic growth re-entrant surface, twin and disclination enhancements. Note that if one wished to do a thermodynamic approach, thermodynamic surface energies should be used instead of growth velocities, with no enhancement. The advanced parameters panel receives computational variables for the shape generation, which include the boundary of the dimensionless space in which the calculation takes place (boundary), the discretization step (step) and two smoothing parameters (smoothing beta and smoothing box). More specifically, smoothing beta smoothens the final growth front values matrix and the smoothing box is a factor in the exponential edge smoothing expression used in the calculation of growth velocity contributions of the facets in each grid point. The twinning type of the particle is defined in the homonymous panel and the user can select no twin plane (single crystal), one {111} twin plane (monotwin) or five nonparallel {111} twin planes (pentatwin). The last panel is used when calculating NPs with a shell, where shell thickness is defined as a percentage of the total thickness of the particle (shell percentage). When adding a shell, one must specify whether the shape is convex or concave since a different computational approach is needed to determine the points-dipoles that lie within a convex or concave shape. The shell generated is conformal, i.e. it has the same geometry as the Wulff NP without a shell.

S3
After all the parameters are defined the shape can be calculated (create shape button). An isosurface is then displayed in the right panel and an array of dipoles approximating the volume of the nanoparticle is created and temporarily saved for the next steps. The displayed shape can be saved as a Matlab supported file (.fig) or an image file (e.g. bmp).
The shape is dimensionless until the user defines a size. In the DDSCAT the size of the studied target is introduced in the parameter file as the effective radius: where V is the volume of the target. To calculate V and the effective radius (calculate effective radius), the user is prompted to select two arbitrary points on the shape and input the distance between them as shown in Figure S1b.
When performing the DDSCAT calculations the choice of dipole number or equivalently dipole size is important for the accuracy of the obtained result. Therefore, the user is given the option to define the interdipole distance (define interdipole distance) through the dialog box ( Figure S1c). In order to satisfy the given interdipole distance and NP size, the boundary and step input in the advanced parameters panel are automatically updated.
The first DDSCAT input file generated is the shape file (create shape file), which contains the array of dipoles that represent the NP as well as information about its orientation and composition. The orientation is specified in a dialog box by defining the target axes 4 ( Figure   S1d). When the shell percentage is given a non-zero value, the core material will be assigned the reference number 1 and the shell material the reference number 2; an example of the first few lines of the shape file, including this information, is shown in Figure S1g.

S4
The second DDA input file generated is the DDSCAT parameter file (create ddscat file), Figure   S1f. This file includes details about the computational setup of the calculations, the material and effective radius of the target, the incident field and the output files. The dialog box shown in Figure Table S2: Interdipole distance, corresponding number of dipoles and size for the modelled shapes used for the absorption and scattering simulations shown in Figure 3. Table S3: GUI input parameters used to model the studied shapes.