{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Results for an isolated nanoparticle\n", "\n", "We perform verification by comparing our numerical calculations of the extinction cross-section with analytical solutions, available for spherical geometries. \n", "\n", "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$.\n", "\n", "\\begin{equation*} \n", " 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)\n", "\\end{equation*}\n", "\n", "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.\n", "\n", "When we apply the electrostatic approximation the simulation reduces to a sphere under a constant electric field (Figure 1).\n", "\n", " \n", "
\n", "#### Fig 1. Spherical nanoparticle in a constant electric field. (2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Problem set up\n", "\n", "Case for a silver sphere:\n", "\n", "Problem parameters:\n", "\n", "* Metal : Silver (Ag). (In water at room temeprature)\n", "* Radius : 10 nm\n", "\n", "Case for a golden sphere:\n", "\n", "Problem parameters:\n", "\n", "* Metal : Gold (Au). (In water at room temeprature)\n", "* Radius : 10 nm\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Mesh convergence analysis\n", "\n", "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. \n", "\n", "We run the single sphere LSPR problem for meshes of 512, 2048, 8192 and 32768 elements. \n", "\n", "We performed a grid convergence analysis at wavelength $380$ nm for silver nanoparticles, and wavelength $520$ nm for gold nanoparticles.\n", "\n", "**Silver at 380 nm** \n", "\n", "Values of dielectric constants obtained by interpolation (based on (3,4)):\n", "\n", "* Water : 1.7972 + 8.5048e-09j\n", "* Silver: -3.3877 + 0.1922j\n", "\n", "**Gold at 520 nm**\n", "\n", "Values of dielectric constants obtained by interpolation:\n", "\n", "* Water : 1.7801 + 3.3515e-09j\n", "* Gold: -3.8875 + 2.6344j\n", "\n", "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.\n", "\n", "* Silver: 3622.1161 $nm^2$\n", "* Gold : 404.4210 $nm^2$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ " \n", "
\n", "#### Fig 2. Convergence of extinction cross-section of single nanoparticle. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We obtain a $1/N$ convergence, proving that the numerical solutions computed with `PyGBe` for isolated spheres are correctly resolved by the meshes. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "| N | % error_Ag | % error_Au |\n", "|:-----:|:-----------:|:-----------:|\n", "| 512 | 29.73 | 5.328 |\n", "| 2048 | 7.32 | 1.396 |\n", "| 8192 | 1.91 | 0.363 |\n", "| 32768 | 0.52 | 0.096 |" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "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. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Runtime and Hardware specs\n", "\n", "Runs performed in a GPU card NVIDIA Tesla C2075:\n", "\n", "| N | time_Ag [s] | time_Au [s] |\n", "|:-----:|:-----------:|:-----------:|\n", "| 512 | 4.32 | 4.09 |\n", "| 2048 | 17.93 | 14.83 |\n", "| 8192 | 112.50 | 93.72 |\n", "| 32768 | 618.74 | 502.01 |\n", "\n", "For reference we also run the previous cases in a newer GPU card, NVIDIA Tesla K40:\n", "\n", "| N | time_Ag [s] | time_Au [s] |\n", "|:-----:|:-----------:|:-----------:|\n", "| 512 | 2.35 | 2.10 |\n", "| 2048 | 8.02 | 7.19 |\n", "| 8192 | 62.83 | 53.33 |\n", "| 32768 | 350.63 | 298.13 |\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Isolated nanoparticle verification\n", "\n", "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).\n", "\n", "### Silver \n", " \n", "
\n", "#### Fig 3. Extinction cross-section as a function of wavelength for a $20 nm$ silver sphere inmmersed in water.\n", "\n", "\n", "**Note**\n", "\n", "The runs were performed for wavelngths in the range [350-420] nm each 1 nm, what gives a total of 71 runs. \n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Gold\n", "\n", " \n", "
\n", "#### Fig 3. Extinction cross-section as a function of wavelength for a $20 nm$ gold sphere inmmersed in water.\n", "\n", "**Note**\n", "\n", "The runs were performed for wavelngths in the range [460-560] nm each 1 nm, what gives a total of 101 runs." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Discusion\n", "\n", "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. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "##### References\n", "\n", "(1) Mishchenko, M. I. (2007). Electromagnetic scattering by a fixed finite object embedded in an absorbing medium. Opt. Express, 20(15):13188–13202.\n", "\n", "(2) [Cooper Villagran, Christopher David. Biomolecular electrostatics with continuum models: a boundary integral implementation and applications to biosensors. Diss. 2015.](https://open.bu.edu/handle/2144/15650)\n", "\n", "(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.\n", "\n", "(4) Johnson, P. B. and Christy, R. W. (1972). Optical constants of nobble metals. Phys. Rev. B, 12(6):4370–4379." ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\n", "\n" ], "text/plain": [ "" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#Ignore this cell, It simply loads a style for the notebook.\n", "\n", "from IPython.core.display import HTML\n", "def css_styling():\n", " try:\n", " styles = open(\"styles/custom.css\", \"r\").read()\n", " return HTML(styles)\n", " except:\n", " pass\n", "css_styling()" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.5.2" } }, "nbformat": 4, "nbformat_minor": 2 }