We perform verification by comparing our numerical calculations of the extinction cross-section with analytical solutions, available for spherical geometries.

For spherical geometries the solution for the extinction cross-section provided by Mishenko (1) applies for all mediums. When the medium is a lossy medium, $k^\prime$ is the real part of the complex wave number, otherwise $k$ is a real-valued and we take $k^\prime=k$.

\begin{equation*} C_\text{ext} = \frac{4\pi a^3}{k^\prime} \operatorname{Im}\left(k^2 \frac{\epsilon_p/\epsilon_m -1}{\epsilon_p/\epsilon_m -2}\right) \end{equation*}

where $a$ is the radius of the sphere, $k$ the complex wave number ($k=k^\prime +i k^{\prime\prime}$), $\epsilon_p$ the dielectric constant of the particle, and $\epsilon_m$ the dielectric constant of the host medium.

When we apply the electrostatic approximation the simulation reduces to a sphere under a constant electric field (Figure 1).

Case for a silver sphere:

Problem parameters:

- Metal : Silver (Ag). (In water at room temeprature)
- Radius : 10 nm

Case for a golden sphere:

Problem parameters:

- Metal : Gold (Au). (In water at room temeprature)
- Radius : 10 nm

Before running the isolated sphere for different values of wavelength and observing how the extinction cross-section behaves, we need to do a mesh convergence analysis to ensure that the results are not going to be affected by changing the size of the mesh.

We run the single sphere LSPR problem for meshes of 512, 2048, 8192 and 32768 elements.

We performed a grid convergence analysis at wavelength $380$ nm for silver nanoparticles, and wavelength $520$ nm for gold nanoparticles.

**Silver at 380 nm**

Values of dielectric constants obtained by interpolation (based on (3,4)):

- Water : 1.7972 + 8.5048e-09j
- Silver: -3.3877 + 0.1922j

**Gold at 520 nm**

Values of dielectric constants obtained by interpolation:

- Water : 1.7801 + 3.3515e-09j
- Gold: -3.8875 + 2.6344j

In the following figure we see the convergence of the extinction cross-section for silver and gold spheres. Error is computed against the analytical solution for spheres, given below.

- Silver: 3622.1161 $nm^2$
- Gold : 404.4210 $nm^2$

We obtain a $1/N$ convergence, proving that the numerical solutions computed with `PyGBe`

for isolated spheres are correctly resolved by the meshes.

N | % error_Ag | % error_Au |
---|---|---|

512 | 29.73 | 5.328 |

2048 | 7.32 | 1.396 |

8192 | 1.91 | 0.363 |

32768 | 0.52 | 0.096 |

To ensure an errors $<5\%$ we use the $~8K$ element meshes for the subsequent simulations to calculate the extinction cross-section for a spectrum of wavelengths.

Runs performed in a GPU card NVIDIA Tesla C2075:

N | time_Ag [s] | time_Au [s] |
---|---|---|

512 | 4.32 | 4.09 |

2048 | 17.93 | 14.83 |

8192 | 112.50 | 93.72 |

32768 | 618.74 | 502.01 |

For reference we also run the previous cases in a newer GPU card, NVIDIA Tesla K40:

N | time_Ag [s] | time_Au [s] |
---|---|---|

512 | 2.35 | 2.10 |

2048 | 8.02 | 7.19 |

8192 | 62.83 | 53.33 |

32768 | 350.63 | 298.13 |

In both cases the values of the metal and the water dielectric constant for each wavelength were obtained by interpolation of experimental data (3, 4).

**Note**

The runs were performed for wavelngths in the range [350-420] nm each 1 nm, what gives a total of 71 runs.

Figure 3 and 4 show the extinction cross-section as a function of wavelength for silver and gold immersed in water. In both cases the markers correspond to the numerical solutions obtained with PyGBe while the dash lines are the analytical solutions calculated using the equation for the extinction cross-section presented above. As you can see in the figures, we get good agreement between the numerical and analytical solutions. The peak in the extinction cross-section indicates that the plasmons of the metallic sphere are resonating with the incoming electric field.

(1) Mishchenko, M. I. (2007). Electromagnetic scattering by a fixed finite object embedded in an absorbing medium. Opt. Express, 20(15):13188–13202.

(3) Hale, G. M. and Querry, M. R. (1972). Optical constants of water in the 200-nm to 200-μm wavelength region. Appl. Opt., 12(3):555–563.

(4) Johnson, P. B. and Christy, R. W. (1972). Optical constants of nobble metals. Phys. Rev. B, 12(6):4370–4379.

In [1]:

```
#Ignore this cell, It simply loads a style for the notebook.
from IPython.core.display import HTML
def css_styling():
try:
styles = open("styles/custom.css", "r").read()
return HTML(styles)
except:
pass
css_styling()
```

Out[1]: