12
Applications

Figures in this chapter that were generated by Mathematica routines contained in the Code section are labelled "Mathematica simulation" in the figure caption.  The reader can regenerate all of these graphs automatically by selecting "Evaluate Notebook" under the "Evaluation" menu bar in Mathematica.  If Mathematica asks "Do you want to automatically evaluate all the initialization cells in the notebook?" it is sufficient to answer "No."  If the reader is interested in generating similar graphs for different parameter ranges or different materials, it is generally straightforward to do this as well.  The Code section should first be expanded by double clicking on the down arrow of the rightmost bracket.  This will expand the notebook to display "Setup" and "Code for generating figures" subsubsections.  If the notebook has not yet been evaluated, the "Setup" subsubsection should be executed first by selecting (clicking once on) its rightmost bracket and entering "Shift-Return" on a standard keyboard or just "Enter" on an extended keyboard.  Then the "Code for generating figures" subsection should be expanded by double clicking on the downward arrow on the rightmost bracket of that subsubsection.  This subsubsection can be further expanded, if necessary, by again double clicking on the right bracket with the downward pointing arrow.  After expanding the subsubsections, eventually a list of figure captions is obtained.  By double-clicking on the up arrow of the figure caption, a text section and a code section for that figure are displayed.  The parameters for generating the graph are described in the text section.  The reader simply needs to modify these parameters in the code section, which is right below the text section, and then replot the figure by selecting (clicking once on) the rightmost bracket that encloses the code section for the figure and hitting "Shift-Return" on the keyboard or just "Enter" on an extended keyboard.  The figure will then be regraphed using the new parameters.  The third line in the Setup subsection of the Code section is normally "option := optC" for generating color figures, but the line can be changed to "option := optB" for generating black and white figures instead if desired.
This notebook also contains a section with all of the figures in the text, a section with the exercises and code for generating relevant figures, and a section with all the chapter references.  Each section can, as usual, be opened by double clicking on the down arrow of the right bracket.

Code

Setup

ClearAll["Global`*"];
Needs["PlotLegends`"];
option :=optC;   (*  change this option to "optC" for color plots or "optB" for black and white  *)

Units

yocto=(10.^(-24));
zepto=(10.^(-21));
atto=(10.^(-18));
femto=(10.^(-15));
pico=(10.^(-12));
nano=(10.^(-9));
micro=(10.^(-6));
milli=(10.^(-3));
kilo=(10.^3);
mega=(10.^6);
giga=(10.^9);
tera=(10.^12);
peta=(10.^15);
exa=(10.^18);
zetta=(10.^21);
yotta=(10.^24);

Physical constants

NSub={
cc->2.99792458 (10^8) ,
e->1.6021773 (10^(-19)),
h->6.6260755 (10^(-34)),
ℏ->1.05457 (10^(-34)),
Kb->1.380658 (10^(-23)),
me->9.109389 (10^(-31)),
μ0->4 π (10^(-7)),
ϵ0->8.85419 (10^(-12)),
Lorentz->24.6974 nano
};

Plotting Examples

Graphics Styles

fs=12;(*FontSize for LabelStyle*)
is={350,200};(*ImageSize for one figure*)
gr={400,150};(*ImageSize for GraphicsRow*)
gg={400,300};(*ImageSize for GraphicsGrid*)
gs=-30; (*GraphicsSpacing for two figures*)
ggs={-20,20};(*GraphicsSpacing for four figures*)
thinthick=Thickness[0.005];
thick=Thickness[0.007]; (*Thickness of lines*)

Graphics color option: optC

optC={
LabelStyle->{FontSize -> fs},
GridLines->Automatic,
Frame->True,
ImageSize->is,
PlotRange->All,
PlotStyle->{
{Red,Thick},
{Green,Dashing[{0.06,0.02}],Thick},{Blue,Dashing[{0.02,0.01}],Thick},
{Magenta,DotDashed,Thick},{Purple,Thick,Dashing[{0.04,0.01}]},{Orange,Thick,Dashing[{0.01,0.01}]}}};

Graphics black option: optB

optB={
GridLines -> Automatic,
Frame -> True,
ImageSize->is,
LabelStyle -> {FontSize -> fs},
PlotRange->{All,All},
PlotStyle->{
{Black,thick},
{Black,thick,Dashing[{0.06,0.02}]},
{Black,thick,Dashing[{0.02,0.01}]},
{Black,thick,DotDashed},
{Black, thick, Dashing[{0.04, 0.01}]},
{Black,thick,Dashing[{0.04, 0.03}]}}};

General two plots using optX

xmin=-π;xmax=π;
ymin=-1;ymax=1;
Fig01=Plot[
{Sin[x],Sin[2x],Sin[3x],Sin[4x]},
{x,xmin,xmax},
PlotRange->{ymin,ymax},
FrameLabel -> {{"x",""},{"sinx", ""}},
Evaluate[optC]]

xmin=-π;xmax=π;
ymin=-1;ymax=1;
Fig02=Plot[
{Sin[x],Sin[2x]},
{x,xmin,xmax},Filling -> Axis,
FillingStyle -> Opacity[0.2],
PlotRange->{ymin,ymax},
FrameLabel -> {{"x",""},{"sinx", ""}},
Evaluate[optC]]

GraphicsRow[{Fig01,Fig02},
ImageSize->gr,
Frame->False,
Spacings->gs]

General four plots using optX

GraphicsGrid[{
  {Fig01,Fig02},
  {Fig01,Fig02}},
 ImageSize -> gg,
 Frame -> False,
 Spacings -> gs]

Manipulate plots

amin=1;
amax=4;
Manipulate[
Plot[
 Sin[a θ],
{θ,0,6},
Frame->True,
FrameLabel->{"θ (deg)","sin(a θ)","Function",StringJoin["a = ",ToString[.01Ceiling[100.a]],""]},ImageSize->.75is,
PlotRange->{-1,1},
GridLines->Automatic,
PlotStyle->{
{Red,thinthick},
{Green,thinthick,Dashing[{0.06,0.02}]},{Blue,thinthick,Dashing[{0.02,0.01}]},
{Magenta,thinthick,DotDashed},
{Purple,thinthick,Dashing[{0.04,0.01}]}}],
{{a,amin,"Phase"},amin,amax}]

Tabulated metallic refractive indices

A note on refractive indices:  There are several sources of tabulated refractive indices for silver, gold and other metals in the literature and on the web.  The Handbook of Optical Constants of Solids edited by Palik [Academic, San Diego, 1998] is probably the most frequently cited source in recent years and is one of the more comprehensive sources.  For the noble metals, the data of Johnson and Christy [Phys. Rev. B, 6 (1972) 4370-4379] are also frequently cited, especially in literature prior to the publication of the Handbook.  Indices from both of these sources have been included for use in simulations in this chapter.  However, the experimental precision in the Johnson and Christy data is somewhat limited and the data in the Handbook are frequently stitched together from several sources over an extended wavelength range.  The result of this is that calculations of extinction coefficients and peak field intensities often exhibit anomalous peaks at certain wavelengths corresponding to small changes in the refractive index from the limited experimental precision or a data stitch.  In order to avoid these unphysical effects in the modeling, it is generally much better to use an analytical model of the refractive indices that is smooth and continuous and has no precision problems.  Therefore, we have also included the anayltical models developed by Rakic et al. [Appl. Opt. 37 (1998) 5271-5283] and generally recommend their use for all modeling.
	Refractive indices for gold are taken from D. W. Lynch and W. R. Hunter, "Gold" in Handbook of Optical Constants of Solids, ed. E. D. Palik (Academic, San Diego, 1998) 293-295.  Refractive indices for silver are taken from D. W. Lynch and W. R. Hunter, "Silver" in Handbook of Optical Constants of Solids, ed. E. D. Palik (Academic, San Diego, 1998) 355-357.  Refractive indices for copper are taken from D. W. Lynch and W. R. Hunter, "Copper" in Handbook of Optical Constants of Solids, ed. E. D. Palik (Academic, San Diego, 1998) 284-285.  Refractive indices for aluminum are taken from D. Y. Smith, E. Shiles and M. Inokuti, "The optical properties of metallic aluminum" in Handbook of Optical Constants of Solids, ed. E. D. Palik (Academic, San Diego, 1998) 397-400.  Refractive indices for iridium are taken from D. W. Lynch and W. R. Hunter, "Iridium" in Handbook of Optical Constants of Solids, ed. E. D. Palik (Academic, San Diego, 1998) 302-303.  Refractive indices for rhodium are taken from D. W. Lynch and W. R. Hunter, "Rhodium" in Handbook of Optical Constants of Solids, ed. E. D. Palik (Academic, San Diego, 1998) 348-349.

GoldIndices = {{0.2883,1.742,1.9},{0.2952,1.776,1.918},{0.3024,1.812,1.92},{0.310, 1.83, 1.916}, {0.3179, 1.84, 1.904}, {0.3263, 1.824, 1.878}, {0.3351, 1.798, 1.86}, {0.3444, 1.766, 1.846}, {0.3542, 1.74, 1.848}, {0.3647, 1.716, 1.862}, {0.3757, 1.696, 1.906}, {0.3875, 1.674, 1.936}, {0.400, 1.658, 1.956}, {0.4133, 1.636, 1.958}, {0.4275, 1.616, 1.94}, {0.4428, 1.562, 1.904}, {0.4592, 1.426, 1.846}, {0.4769, 1.242, 1.796}, {0.4959, 0.916, 1.84}, {0.5166, 0.608, 2.12}, {0.5391, 0.402, 2.54}, {0.5636, 0.306, 2.88}, {0.5904, 0.236, 2.96}, {0.6199, 0.194, 3.05}, {0.6526, 0.166, 3.15}, {0.6888, 0.16, 3.8}, {0.7293, 0.164, 4.35},{0.7749, 0.174, 4.86}, {0.8266, 0.188, 5.39}, {0.8856, 0.21, 5.88}, {0.9537, 0.236, 6.47}, {1.033, 0.272, 7.07}, {1.127, 0.312, 7.93}, {1.240, 0.372, 8.77}, {1.265, 0.389, 8.09}, {1.291, 0.403, 8.25}, {1.319, 0.419, 8.42}, {1.378, 0.454, 8.77}, {1.409, 0.473, 8.96}, {1.442, 0.493, 9.15}, {1.476, 0.515, 9.36}, {1.512, 0.537, 9.58}, {1.550, 0.559, 9.81}, {1.590, 0.583, 10.1}, {1.631, 0.609, 10.3}, {1.675, 0.636, 10.6}, {1.722, 0.665, 10.9}, {1.771, 0.696, 11.2}, {1.823, 0.73, 11.5}, {1.879, 0.767, 11.9}, {1.937, 0.807, 12.2}, {2.000, 0.85, 12.6}, {2.066, 0.896, 13}, {2.138, 0.947, 13.4}, {2.214, 1.002, 13.9}, {2.296, 1.063, 14.4}, {2.384, 1.13, 14.9}, {2.480, 1.205, 15.5}, {2.583, 1.287, 16.1}, {2.695, 1.379, 16.8}, {2.818, 1.482, 17.5}, {2.952, 1.598, 18.3}};

SilverIndices = {{0.200,1.072,1.24},{0.20327869,1.098,1.26},{0.20666667,1.125,1.27},{0.2137931,1.173,1.29},{0.22142857,1.208,1.3},{0.22962963,1.238,1.31},{0.23846154,1.265,1.33},{0.248,1.298,1.35},{0.25306122,1.32,1.35},{0.25833333,1.343,1.35},{0.26382979,1.372,1.35},{0.26956522,1.404,1.33},{0.27555556,1.441,1.31},{0.28181818,1.476,1.26},{0.28837209,1.502,1.19},{0.2952381,1.519,1.08},{0.29879518,1.522,0.992},{0.30243902,1.496,0.882},{0.30617284,1.432,0.766},{0.310,1.323,0.647},{0.31155779,1.246,0.586},{0.31392405,1.149,0.54},{0.31552163,1.044,0.514},{0.31794872,0.932,0.504},{0.31958763,0.815,0.526},{0.32207792,0.708,0.565},{0.32375979,0.616,0.609},{0.32631579,0.526,0.663},{0.33066667,0.371,0.813},{0.33243968,0.321,0.902},{0.33513514,0.294,0.986},{0.33972603,0.259,1.12},{0.34444444,0.238,1.24},{0.35428571,0.209,1.44},{0.36470588,0.186,1.61},{0.37575758,0.2,1.67},{0.3875,0.192,1.81},{0.400,0.173,1.95},{0.41333333,0.173,2.11},{0.42758621,0.16,2.26},{0.44285714,0.157,2.4},{0.45925926,0.144,2.56},{0.47692308,0.132,2.72},{0.496,0.13,2.88},{0.51666667,0.13,3.07},{0.53913043,0.129,3.25},{0.56363636,0.12,3.45},{0.59047619,0.121,3.66},{0.620,0.131,3.88},{0.65263158,0.14,4.15},{0.68888889,0.14,4.44},{0.72941176,0.148,4.74},{0.775,0.143,5.09},{0.82666667,0.145,5.5},{0.88571429,0.163,5.95},{0.95384615,0.198,6.43},{1.03333333,0.226,6.99},{1.12727273,0.251,7.67},{1.240,0.329,8.49},{1.26530612,0.375,7.78},{1.29166667,0.383,7.92},{1.31914894,0.392,8.06},{1.34782609,0.401,8.21},{1.37777778,0.411,8.37},{1.40909091,0.421,8.37},{1.44186047,0.431,8.7},{1.47619048,0.442,8.88},{1.51219512,0.455,9.08},{1.550,0.469,9.32},{1.58974359,0.485,9.57},{1.63157895,0.501,9.84},{1.67567568,0.519,10.1},{1.72222222,0.537,10.4},{1.77142857,0.557,10.7},{1.87878788,0.6,11.4},{1.9375,0.624,11.8},{2.000,0.65,12.2}};

CopperIndices={{0.2952,1.42,1.64},{0.3099,1.34,1.72},{0.3263,1.34,1.81},{0.3444,1.31,1.87},{0.3646,1.27,1.95},{0.3874,1.18,2.21},{0.4133,1.18,2.21},{0.4428,1.17,2.36},{0.4768,1.15,2.5},{0.5166,1.12,2.6},{0.539,1.04,2.59},{0.5635,0.826,2.6},{0.5904,0.468,2.81},{0.6199,0.272,3.24},{0.6525,0.214,3.67},{0.6702,0.215,3.86},{0.688,0.213,4.05},{0.7084,0.214,4.24},{0.7293,0.223,4.43},{0.8265,0.26,5.26},{1.240,0.433,8.46},{1.265,0.496,6.78},{1.291,0.505,6.92},{1.319,0.515,7.06},{1.348,0.525,7.21},{1.378,0.536,7.36},{1.409,0.547,7.53},{1.442,0.559,7.7},{1.476,0.572,7.88},{1.512,0.586,8.06},{1.550,0.606,8.26},{1.589,0.627,8.47},{1.631,0.649,8.69},{1.675,0.672,8.92},{1.722,0.697,9.16},{1.771,0.723,9.41},{1.823,0.752,9.68},{1.878,0.782,9.97},{1.937,0.815,10.3},{2.000,0.85,10.6},{2.066,0.89,11},{2.138,0.933,11.3},{2.214,0.98,11.8},{2.296,1.03,12.2},{2.384,1.09,12.7},{2.480,1.15,13.2},{2.583,1.22,13.7}};

AluminumIndices={{0.300,0.276,3.61},{0.310,0.294,3.74},{0.3179,0.31,3.84},{0.3263,0.326,3.95},{0.3351,0.344,4.06},{0.3444,0.364,4.17},{0.350,0.375,4.24},{0.3542,0.385,4.3},{0.3647,0.407,4.43},{0.3757,0.432,4.56},{0.3875,0.46,4.71},{0.400,0.49,4.86},{0.4133,0.523,5.02},{0.4275,0.558,5.2},{0.4428,0.598,5.38},{0.450,0.618,5.47},{0.4592,0.644,5.58},{0.4769,0.695,5.8},{0.4959,0.755,6.03},{0.500,0.769,6.08},{0.5061,0.789,6.15},{0.5166,0.826,6.28},{0.5276,0.867,6.42},{0.5391,0.912,6.55},{0.550,0.958,6.69},{0.551,0.963,6.7},{0.5636,1.02,6.85},{0.5767,1.08,7},{0.5904,1.15,7.15},{0.600,1.2,7.26},{0.6048,1.22,7.31},{0.6199,1.3,7.48},{0.6358,1.39,7.65},{0.650,1.47,7.79},{0.6526,1.49,7.82},{0.6702,1.6,8.01},{0.6888,1.74,8.21},{0.700,1.83,8.31},{0.7085,1.91,8.39},{0.7293,2.14,8.57},{0.750,2.4,8.62},{0.7514,2.41,8.62},{0.7749,2.63,8.6},{0.7999,2.8,8.45},{0.825,2.75,8.31},{0.8266,2.74,8.31},{0.850,2.61,8.22},{0.8551,2.58,8.21},{0.875,2.38,8.18},{0.8856,2.24,8.21},{0.900,2.06,8.3},{0.9184,1.86,8.44},{0.925,1.77,8.49},{0.950,1.49,8.88},{0.9537,1.47,8.95},{0.9919,1.37,9.49},{1.000,1.35,9.58},{1.033,1.26,10},{1.078,1.21,10.6},{1.127,1.2,11.2},{1.181,1.21,11.8},{1.200,1.21,12},{1.240,1.21,12.5},{1.305,1.23,13.2},{1.378,1.26,14},{1.459,1.33,14.9},{1.500,1.38,15.4},{1.550,1.44,16},{1.653,1.59,17.1},{1.771,1.77,18.3},{1.907,1.99,19.8},{2.000,2.15,20.7}};

IridiumIndices={{0.2,0.94,1.68},{0.2033,0.94,1.73},{0.2066,0.95,1.78},{0.2101,0.97,1.82},{0.2138,0.96,1.86},{0.2175,0.97,1.92},{0.2214,0.98,1.98},{0.2254,0.99,2.03},{0.2296,1.0,2.09},{0.2339,1.02,2.15},{0.2384,1.04,2.22},{0.2431,1.07,2.29},{0.248,1.1,2.35},{0.253,1.13,2.42},{0.2583,1.18,2.49},{0.2638,1.24,2.56},{0.2695,1.31,2.6},{0.2755,1.37,2.65},{0.2818,1.45,2.68},{0.2883,1.51,2.7},{0.2952,1.58,2.71},{0.3024,1.62,2.7},{0.31,1.64,2.68},{0.3179,1.64,2.67},{0.3263,1.61,2.69},{0.3351,1.57,2.72},{0.3444,1.52,2.81},{0.3542,1.5,2.93},{0.3647,1.53,3.05},{0.3757,1.57,3.15},{0.3875,1.62,3.26},{0.4,1.68,3.35},{0.4133,1.73,3.43},{0.4275,1.77,3.51},{0.4428,1.81,3.61},{0.4592,1.85,3.73},{0.4769,1.91,3.86},{0.4959,1.98,4.00},{0.5166,2.07,4.14},{0.5391,2.18,4.26},{0.5636,2.29,4.38},{0.5904,2.4,4.48},{0.6199,2.5,4.57},{0.6526,2.57,4.68},{0.6888,2.64,4.81},{0.7293,2.69,4.92},{0.7749,2.68,5.08},{0.8266,2.65,5.39},{0.8856,2.72,5.74},{0.9537,2.85,6.07},{1.033,2.96,6.41},{1.127,3.04,6.84},{1.24,3.15,7.31},{1.378,3.19,7.88},{1.55,3.14,8.61},{1.771,2.93,9.78},{2.066,2.79,11.6}};

RhodiumIndices={{0.2000,0.78,1.85},{0.2066,0.76,1.93},{0.2138,0.79,2.00},{0.2214,0.8,2.06},{0.2296,0.8,2.14},{0.2384,0.79,2.23},{0.248,0.79,2.34},{0.253,0.79,2.39},{0.2583,0.79,2.46},{0.2638,0.79,2.52},{0.2695,0.78,2.6},{0.2755,0.79,2.68},{0.2818,0.8,2.76},{0.2883,0.83,2.85},{0.2952,0.84,2.94},{0.3024,0.84,3.03},{0.31,0.86,3.12},{0.3179,0.88,3.23},{0.3263,0.91,3.34},{0.3351,0.95,3.45},{0.3444,0.99,3.58},{0.3542,1.04,3.71},{0.3647,1.11,3.84},{0.3757,1.2,3.97},{0.3875,1.3,4.09},{0.4000,1.41,4.2},{0.4133,1.53,4.29},{0.4275,1.63,4.36},{0.4592,1.8,4.49},{0.4769,1.85,4.55},{0.4959,1.88,4.65},{0.5166,1.9,4.78},{0.5391,1.94,4.94},{0.5636,2.0,5.11},{0.5904,2.05,5.3},{0.6199,2.12,5.51},{0.6526,2.2,5.76},{0.6888,2.3,6.02},{0.7293,2.42,6.33},{0.7749,2.6,6.64},{0.8266,2.78,6.97},{0.8856,3.01,7.31},{0.9537,3.26,7.63},{0.9919,3.38,7.8},{1.033,3.51,7.94},{1.078,3.6,8.09},{1.127,3.67,8.26},{1.181,3.72,8.44},{1.240,3.71,8.67},{1.305,3.69,8.94},{1.378,3.62,9.36},{1.459,3.64,9.81},{1.550,3.63,10.3},{1.653,3.63,11.0},{1.771,3.67,11.7},{1.907,3.77,12.6},{2.066,3.87,13.5}};

GoldIndices2 and SilverIndices2 are from Johnson and Christy, "Optical constants of the noble metals," Phys. Rev. B, 6 (1972) 4370-4379.  Note that at short wavelengths there is a substantial difference between the refractive indices of Ag in this list and that from the Handbook of Optical Constants of Solids.  When comparing to examples in the literature it is important to use the same source for the optical constants!

GoldIndices2 = {{0.18788, 1.28, 1.188}, {0.19165, 1.32, 1.203}, {0.19528, 1.34, 1.226}, {0.19936, 1.33, 1.251}, {0.20328, 1.33, 1.277}, {0.20736, 1.3, 1.304}, {0.21197, 1.3, 1.35}, {0.2164, 1.3, 1.387}, {0.22143, 1.3, 1.427}, {0.22628, 1.31, 1.46}, {0.23134, 1.3, 1.497}, {0.23709, 1.32, 1.536}, {0.24266, 1.32, 1.577}, {0.2490, 1.33, 1.631}, {0.25514, 1.33, 1.688}, {0.2616, 1.35, 1.749}, {0.26898, 1.38, 1.803}, {0.27617, 1.43, 1.847}, {0.2844, 1.47, 1.869}, {0.29245, 1.49, 1.878}, {0.30097, 1.53, 1.889}, {0.31078, 1.53, 1.893}, {0.32041, 1.54, 1.898}, {0.33155, 1.48, 1.883}, {0.34254, 1.48, 1.871}, {0.35429, 1.5, 1.866}, {0.36795, 1.48, 1.895}, {0.38154, 1.46, 1.933}, {0.39744, 1.47, 1.952}, {0.41333, 1.46, 1.958}, {0.43056, 1.45, 1.948}, {0.45091, 1.38, 1.914}, {0.47148, 1.31, 1.849}, {0.4960, 1.04, 1.833}, {0.52101, 0.62, 2.081}, {0.54867, 0.43, 2.455}, {0.58216, 0.29, 2.863}, {0.61692, 0.21, 3.272}, {0.65957, 0.14, 3.697}, {0.70455, 0.13, 4.103}, {0.7561, 0.14, 4.542}, {0.82119, 0.16, 5.083}, {0.89209, 0.17, 5.663}, {0.98413, 0.22, 6.35}, {1.08772, 0.27, 7.15}, {1.21569, 0.35, 8.145}, {1.39326, 0.43, 9.519}, {1.61039, 0.56, 11.21}, {1.9375, 0.92, 13.78}};

SilverIndices2={{0.18788,1.07,1.212},{0.191.65,1.1,1.232},{0.19528,1.12,1.255},{0.19936,1.14,1.277},{0.20328,1.15,1.296},{0.20736,1.18,1.312},{0.21197,1.2,1.325},{0.21640,1.22,1.336},{0.22143,1.25,1.342},{0.22628,1.26,1.344},{0.23134,1.28,1.357},{0.23709,1.28,1.367},{0.24266,1.3,1.378},{0.24900,1.31,1.389},{0.25514,1.33,1.393},{0.26160,1.35,1.387},{0.26898,1.38,1.372},{0.27617,1.41,1.331},{0.28440,1.41,1.264},{0.29245,1.39,1.161},{0.30097,1.34,0.964},{0.31078,1.13,0.616},{0.32041,0.81,0.392},{0.33155,0.17,0.829},{0.34254,0.14,1.142},{0.35429,0.1,1.419},{0.36795,0.07,1.657},{0.38154,0.05,1.864},{0.39744,0.05,2.07},{0.41333,0.05,2.275},{0.43056,0.04,2.462},{0.45091,0.04,2.657},{0.47148,0.05,2.869},{0.49600,0.05,3.093},{0.52101,0.05,3.324},{0.54867,0.06,3.586},{0.58216,0.05,3.858},{0.61692,0.06,4.152},{0.65957,0.05,4.483},{0.70455,0.04,4.838},{0.75610,0.03,5.242},{0.82119,0.04,5.727},{0.89209,0.04,6.312},{0.98413,0.04,6.992},{1.08772,0.04,7.795},{1.21569,0.09,8.828},{1.39326,0.13,10.1},{1.61039,0.15,11.85},{1.9375,0.24,14.08}};

IronIndices2 and CobaltIndices2 are from Johnson and Christy, "Optical constants of transition metals: Ti, V, Cr, Mn, Fe, Co, Ni, and Pd," Phys. Rev. B, 9 (1974) 5056 - 5070.

IronIndices2 = {{0.18788,1.29,1.35},{0.19165,1.35,1.37},{0.19528,1.42,1.39},{0.19936,1.45,1.4},{0.20328,1.47,1.4},{0.20736,1.49,1.41},{0.21197,1.47,1.43},{0.2164,1.47,1.44},{0.22143,1.47,1.47},{0.22628,1.47,1.49},{0.23134,1.48,1.53},{0.23709,1.48,1.57},{0.24266,1.5,1.61},{0.249,1.51,1.66},{0.25514,1.53,1.7},{0.2616,1.56,1.75},{0.26898,1.59,1.79},{0.27617,1.62,1.84},{0.2844,1.64,1.88},{0.29245,1.65,1.94},{0.30097,1.67,2},{0.31078,1.69,2.06},{0.32041,1.74,2.12},{0.33155,1.78,2.19},{0.34254,1.85,2.27},{0.35429,1.93,2.35},{0.36795,2.02,2.43},{0.38154,2.12,2.5},{0.39744,2.24,2.58},{0.41333,2.35,2.65},{0.43056,2.48,2.71},{0.45091,2.59,2.77},{0.47148,2.67,2.82},{0.496,2.74,2.88},{0.52101,2.86,2.91},{0.54867,2.95,2.93},{0.58216,2.94,2.99},{0.61692,2.88,3.05},{0.65957,2.92,3.1},{0.70455,2.86,3.19},{0.7561,2.87,3.28},{0.82119,2.94,3.39},{0.89209,2.96,3.56},{0.98413,2.92,3.79},{1.08772,2.97,4.06},{1.21569,3.03,4.39},{1.39326,3.09,4.83},{1.61039,3.11,5.39},{1.9375,3.17,6.12}};

CobaltIndices2={{0.18788,1.16,1.59},{0.19165,1.21,1.63},{0.19528,1.26,1.67},{0.19936,1.29,1.71},{0.20328,1.32,1.75},{0.20736,1.36,1.78},{0.21197,1.38,1.82},{0.2164,1.41,1.84},{0.22143,1.43,1.85},{0.22628,1.45,1.86},{0.23134,1.47,1.87},{0.23709,1.47,1.89},{0.24266,1.46,1.91},{0.249,1.45,1.93},{0.25514,1.45,1.97},{0.2616,1.44,2.01},{0.26898,1.44,2.04},{0.27617,1.44,2.09},{0.2844,1.44,2.14},{0.29245,1.44,2.19},{0.30097,1.44,2.25},{0.31078,1.44,2.31},{0.32041,1.45,2.37},{0.33155,1.46,2.44},{0.34254,1.48,2.52},{0.35429,1.49,2.61},{0.36795,1.5,2.71},{0.38154,1.53,2.82},{0.39744,1.57,2.93},{0.41333,1.61,3.05},{0.43056,1.67,3.17},{0.45091,1.74,3.28},{0.47148,1.81,3.41},{0.496,1.88,3.55},{0.52101,1.97,3.68},{0.54867,2.05,3.82},{0.58216,2.13,3.96},{0.61692,2.19,4.11},{0.65957,2.25,4.27},{0.70455,2.31,4.45},{0.7561,2.4,4.64},{0.82119,2.53,4.88},{0.89209,2.65,5.16},{0.98413,2.78,5.5},{1.08772,2.94,5.88},{1.21569,3.17,6.31},{1.39326,3.42,6.77},{1.61039,3.61,7.26},{1.9375,3.87,7.79}};

Routines to compute refractive indices of various metals

Drude[λ_]:=Module[{n,ω,ϵ,c,h,ωp,γ,ϵ∞},
c=2.99792456×(10^14);          (*  speed of light in μm/s  *)
h=4.1359×(10^(-15));                (*  Plank's constant in eV s  *)
ϵ∞=4;                                     (*  background dielectric constant  *)
ωp=15;                                       (*  ωp in eV  *)
γ = 0.1;                               (*  damping coefficient in eV  *)
ω = 7.7905/λ;                     (*  ang. frequency in eV when λ is in μm  *)
ϵ=ϵ∞-(ωp^2)/(ω^2 + I γ ω);
n = (Sqrt[ϵ]);
(*  Print["λ=",λ," n=",n];  *)
Return[n]];

(* from Rakic et al., Appl. Opt. vol. 37 (1998) 5271   *)
LorentzDrudeAg[λ_]:=Module[{n,ω,f,ωω,ϵ,c,ωp,γ,ϵ∞},
f={0.065,0.124,0.011,0.840,5.646};
γ={3.886,0.452,0.065,0.916,2.419};
ωω={0.816,4.481,8.185,9.083,20.29};
ωp=9.01;
ω = 1.24/λ;                 (*  ang. frequency in eV when λ is in μm  *)
Do[If[i==0,ϵ=1-(0.845(ωp^2)/(ω^2+I 0.048ω )),
ϵ=ϵ+f[[i]] ((ωp)^2)/((ωω[[i]])^2-ω^2-I ω γ[[i]])],{i,0,5}];
n = (Sqrt[ϵ]);
Return[n]];


(* from Rakic et al., Appl. Opt. vol. 37 (1998) 5271   *)
LorentzDrudeAu[λ_]:=Module[{n,ω,f,ωω,ϵ,c,ωp,γ,ϵ∞},
f={0.024,0.010,0.071,0.601,4.384};
γ={0.241,0.345,0.870,2.494,2.214};
ωω={0.415,0.830,2.969,4.304,13.32};
ωp=9.03;
ω = 1.24/λ;                 (*  ang. frequency in eV when λ is in μm  *)
Do[If[i==0,ϵ=1-(0.760(ωp^2)/(ω^2+I 0.053ω )),
ϵ=ϵ+f[[i]] ((ωp)^2)/((ωω[[i]])^2-ω^2-I ω γ[[i]])],{i,0,5}];
n = (Sqrt[ϵ]);
Return[n]];

(* from Rakic et al., Appl. Opt. vol. 37 (1998) 5271   *)
LorentzDrudeCu[λ_]:=Module[{n,ω,f,ωω,ϵ,c,ωp,γ,ϵ∞},
f={0.061,0.104,0.723,0.638};
γ={0.378,1.056,3.213,4.305};
ωω={0.291,2.957,5.300,11.18};
ωp=10.83;
ω = 1.24/λ;                 (*  ang. frequency in eV when λ is in μm  *)
Do[If[i==0,ϵ=1-(0.575(ωp^2)/(ω^2+I 0.030ω )),
ϵ=ϵ+f[[i]] ((ωp)^2)/((ωω[[i]])^2-ω^2-I ω γ[[i]])],{i,0,4}];
n = (Sqrt[ϵ]);
Return[n]];

(* from Rakic et al., Appl. Opt. vol. 37 (1998) 5271   *)
LorentzDrudeAl[λ_]:=Module[{n,ω,f,ωω,ϵ,c,ωp,γ,ϵ∞},
f={0.227,0.050,0.166,0.030};
γ={0.333,0.312,1.351,3.382};
ωω={0.162,1.544,1.808,3.473};
ωp=14.98;
ω = 1.24/λ;                 (*  ang. frequency in eV when λ is in μm  *)
Do[If[i==0,ϵ=1-(0.523(ωp^2)/(ω^2+I 0.047ω )),
ϵ=ϵ+f[[i]] ((ωp)^2)/((ωω[[i]])^2-ω^2-I ω γ[[i]])],{i,0,4}];
n = (Sqrt[ϵ]);
Return[n]];

(* from Rakic et al., Appl. Opt. vol. 37 (1998) 5271   *)
LorentzDrudeBe[λ_]:=Module[{n,ω,f,ωω,ϵ,c,ωp,γ,ϵ∞},
f={0.031,0.140,0.530,0.130};
γ={1.664,3.395,4.454,1.802};
ωω={0.100,1.032,3.183,4.604};
ωp=18.51;
ω = 1.24/λ;                 (*  ang. frequency in eV when λ is in μm  *)
Do[If[i==0,ϵ=1-(0.084(ωp^2)/(ω^2+I 0.035ω )),
ϵ=ϵ+f[[i]] ((ωp)^2)/((ωω[[i]])^2-ω^2-I ω γ[[i]])],{i,0,4}];
n = (Sqrt[ϵ]);
Return[n]];

(* from Rakic et al., Appl. Opt. vol. 37 (1998) 5271   *)
LorentzDrudeCr[λ_]:=Module[{n,ω,f,ωω,ϵ,c,ωp,γ,ϵ∞},
f={0.151,0.150,1.149,0.825};
γ={3.175,1.305,2.676,1.335};
ωω={0.121,0.543,1.970,8.775};
ωp=10.75;
ω = 1.24/λ;                 (*  ang. frequency in eV when λ is in μm  *)
Do[If[i==0,ϵ=1-(0.168(ωp^2)/(ω^2+I 0.047ω )),
ϵ=ϵ+f[[i]] ((ωp)^2)/((ωω[[i]])^2-ω^2-I ω γ[[i]])],{i,0,4}];
n = (Sqrt[ϵ]);
Return[n]];

(* from Rakic et al., Appl. Opt. vol. 37 (1998) 5271   *)
LorentzDrudeNi[λ_]:=Module[{n,ω,f,ωω,ϵ,c,ωp,γ,ϵ∞},
f={0.100,0.135,0.106,0.729};
γ={4.511,1.334,2.178,6.292};
ωω={0.174,0.582,1.597,6.089};
ωp=15.92;
ω = 1.24/λ;                 (*  ang. frequency in eV when λ is in μm  *)
Do[If[i==0,ϵ=1-(0.096(ωp^2)/(ω^2+I 0.048ω )),
ϵ=ϵ+f[[i]] ((ωp)^2)/((ωω[[i]])^2-ω^2-I ω γ[[i]])],{i,0,4}];
n = (Sqrt[ϵ]);
Return[n]];

(* from Rakic et al., Appl. Opt. vol. 37 (1998) 5271   *)
LorentzDrudePd[λ_]:=Module[{n,ω,f,ωω,ϵ,c,ωp,γ,ϵ∞},
f={0.649,0.121,0.638,0.453};
γ={2.950,1.555,4.621,3.236};
ωω={0.336,0.501,1.659,5.715};
ωp=15.92;
ω = 1.24/λ;                 (*  ang. frequency in eV when λ is in μm  *)
Do[If[i==0,ϵ=1-(0.330(ωp^2)/(ω^2+I 0.008ω )),
ϵ=ϵ+f[[i]] ((ωp)^2)/((ωω[[i]])^2-ω^2-I ω γ[[i]])],{i,0,4}];
n = (Sqrt[ϵ]);
Return[n]];

(* from Rakic et al., Appl. Opt. vol. 37 (1998) 5271   *)
LorentzDrudePt[λ_]:=Module[{n,ω,f,ωω,ϵ,c,ωp,γ,ϵ∞},
f={0.191,0.659,0.547,3.576};
γ={0.517,1.838,3.668,8.517};
ωω={0.780,1.314,3.141,9.249};
ωp=15.92;
ω = 1.24/λ;                 (*  ang. frequency in eV when λ is in μm  *)
Do[If[i==0,ϵ=1-(0.333(ωp^2)/(ω^2+I 0.080ω )),
ϵ=ϵ+f[[i]] ((ωp)^2)/((ωω[[i]])^2-ω^2-I ω γ[[i]])],{i,0,4}];
n = (Sqrt[ϵ]);
Return[n]];

(* from Rakic et al., Appl. Opt. vol. 37 (1998) 5271   *)
LorentzDrudeTi[λ_]:=Module[{n,ω,f,ωω,ϵ,c,ωp,γ,ϵ∞},
f={0.899,0.393,0.187,0.001};
γ={2.276,2.518,1.663,1.762};
ωω={0.777,1.545,2.509,19.43};
ωp=15.92;
ω = 1.24/λ;                 (*  ang. frequency in eV when λ is in μm  *)
Do[If[i==0,ϵ=1-(0.148(ωp^2)/(ω^2+I 0.082ω )),
ϵ=ϵ+f[[i]] ((ωp)^2)/((ωω[[i]])^2-ω^2-I ω γ[[i]])],{i,0,4}];
n = (Sqrt[ϵ]);
Return[n]];

(* from Rakic et al., Appl. Opt. vol. 37 (1998) 5271   *)
LorentzDrudeW[λ_]:=Module[{n,ω,f,ωω,ϵ,c,ωp,γ,ϵ∞},
f={0.054,0.166,0.706,2.590};
γ={0.530,1.281,3.332,5.836};
ωω={1.004,1.917,3.580,7.498};
ωp=15.92;
ω = 1.24/λ;                 (*  ang. frequency in eV when λ is in μm  *)
Do[If[i==0,ϵ=1-(0.206(ωp^2)/(ω^2+I 0.064ω )),
ϵ=ϵ+f[[i]] ((ωp)^2)/((ωω[[i]])^2-ω^2-I ω γ[[i]])],{i,0,4}];
n = (Sqrt[ϵ]);
Return[n]];

(*  from D.W.Lynch and W.R.Hunter,"Gold" in Handbook of Optical Constants of Solids,ed.E.D.Palik (Academic,San Diego,1998) 293-295  *)
Gold[λ_]:=Module[{n,n1,n2,K1,K2,λ1,λ2},
If[λ<GoldIndices[[1,1]],Print[" Input wavelength is too short."];Abort[]];
If[λ>GoldIndices[[Length[GoldIndices],1]],Print[" Input wavelength is too long."];Abort[]];
Catch[Do[λ2=GoldIndices[[i,1]];
n2=GoldIndices[[i,2]];
K2=GoldIndices[[i,3]];
If[λ==λ2,n=n2+I K2;Throw[n],
If[λ<λ2,λ1=GoldIndices[[i-1,1]];
n1=GoldIndices[[i-1,2]];
K1=GoldIndices[[i-1,3]];
n=n1 + (n2-n1)(λ-λ1)/(λ2-λ1) + I(K1 + (K2-K1)(λ-λ1)/(λ2-λ1));
Throw[n]]],{i,Length[GoldIndices]}]];
Return[n]];

(*  from D.W.Lynch and W.R.Hunter "Iridium" in Handbook of Optical Constants of Solids,ed.E.D.Palik (Academic,San Diego,1998) 302-303  *)
Iridium[λ_]:=Module[{n,n1,n2,K1,K2,λ1,λ2},
If[λ<IridiumIndices[[1,1]],Print[" Input wavelength is too short."];Abort[]];
If[λ>IridiumIndices[[Length[IridiumIndices],1]],Print[" Input wavelength is too long."];Abort[]];
Catch[Do[λ2=IridiumIndices[[i,1]];
n2=IridiumIndices[[i,2]];
K2=IridiumIndices[[i,3]];
If[λ==λ2,n=n2+I K2;Throw[n],
If[λ<λ2,λ1=IridiumIndices[[i-1,1]];
n1=IridiumIndices[[i-1,2]];
K1=IridiumIndices[[i-1,3]];
n=n1 + (n2-n1)(λ-λ1)/(λ2-λ1) + I(K1 + (K2-K1)(λ-λ1)/(λ2-λ1));
Throw[n]]],{i,Length[IridiumIndices]}]];
Return[n]];

(*  from D.W.Lynch and W.R.Hunter "Rhodium" in Handbook of Optical Constants of Solids,ed.E.D.Palik (Academic,San Diego,1998) 348-349  *)
Rhodium[λ_]:=Module[{n,n1,n2,K1,K2,λ1,λ2},
If[λ<RhodiumIndices[[1,1]],Print[" Input wavelength is too short."];Abort[]];
If[λ>RhodiumIndices[[Length[RhodiumIndices],1]],Print[" Input wavelength is too long."];Abort[]];
Catch[Do[λ2=RhodiumIndices[[i,1]];
n2=RhodiumIndices[[i,2]];
K2=RhodiumIndices[[i,3]];
If[λ==λ2,n=n2+I K2;Throw[n],
If[λ<λ2,λ1=RhodiumIndices[[i-1,1]];
n1=RhodiumIndices[[i-1,2]];
K1=RhodiumIndices[[i-1,3]];
n=n1 + (n2-n1)(λ-λ1)/(λ2-λ1) + I(K1 + (K2-K1)(λ-λ1)/(λ2-λ1));
Throw[n]]],{i,Length[RhodiumIndices]}]];
Return[n]];

(*  from Johnson and Christy,"Optical constants of the noble metals,"Phys. Rev. B,6(1972) 4370-4379  *)
Gold2[λ_]:=Module[{n,n1,n2,K1,K2,λ1,λ2},
If[λ<GoldIndices2[[1,1]],Print[" Input wavelength is too short."];Abort[]];
If[λ>GoldIndices2[[Length[GoldIndices2],1]],Print[" Input wavelength is too long."];Abort[]];
Catch[Do[λ2=GoldIndices2[[i,1]];
n2=GoldIndices2[[i,2]];
K2=GoldIndices2[[i,3]];
If[λ==λ2,n=n2+I K2;Throw[n],
If[λ<λ2,λ1=GoldIndices2[[i-1,1]];
n1=GoldIndices2[[i-1,2]];
K1=GoldIndices2[[i-1,3]];
n=n1 + (n2-n1)(λ-λ1)/(λ2-λ1) + I(K1 + (K2-K1)(λ-λ1)/(λ2-λ1));
Throw[n]]],{i,Length[GoldIndices2]}]];
Return[n]];

(*  from D.W.Lynch and W.R.Hunter "Silver" in Handbook of Optical Constants of Solids ed.E.D.Palik (Academic,San Diego,1998) 355-357  *)
Silver[λ_]:=Module[{n,n1,n2,K1,K2,λ1,λ2},
If[λ<SilverIndices[[1,1]],Print[" Input wavelength is too short."];Abort[]];
If[λ>SilverIndices[[Length[SilverIndices],1]],Print[" Input wavelength is too long."];Abort[]];
Catch[Do[λ2=SilverIndices[[i,1]];
n2=SilverIndices[[i,2]];
K2=SilverIndices[[i,3]];
If[λ==λ2,n=n2+I K2;Throw[n],
If[λ<λ2,λ1=SilverIndices[[i-1,1]];
n1=SilverIndices[[i-1,2]];
K1=SilverIndices[[i-1,3]];
n=n1 + (n2-n1)(λ-λ1)/(λ2-λ1) + I(K1 + (K2-K1)(λ-λ1)/(λ2-λ1));
Throw[n]]],{i,Length[SilverIndices]}]];
Return[n]];

(*  from Johnson and Christy,"Optical constants of the noble metals,"Phys. Rev. B,6(1972) 4370-4379  *)
Silver2[λ_]:=Module[{n,n1,n2,K1,K2,λ1,λ2},
If[λ<SilverIndices2[[1,1]],Print[" Input wavelength is too short."];Abort[]];
If[λ>SilverIndices2[[Length[SilverIndices2],1]],Print[" Input wavelength is too long."];Abort[]];
Catch[Do[λ2=SilverIndices2[[i,1]];
n2=SilverIndices2[[i,2]];
K2=SilverIndices2[[i,3]];
If[λ==λ2,n=n2+I K2;Throw[n],
If[λ<λ2,λ1=SilverIndices2[[i-1,1]];
n1=SilverIndices2[[i-1,2]];
K1=SilverIndices2[[i-1,3]];
n=n1 + (n2-n1)(λ-λ1)/(λ2-λ1) + I(K1 + (K2-K1)(λ-λ1)/(λ2-λ1));
Throw[n]]],{i,Length[SilverIndices2]}]];
Return[n]];

(*  from Johnson and Christy, Phys. Rev. B,9(1974) 5056-5070  *)
Iron2[λ_]:=Module[{n,n1,n2,K1,K2,λ1,λ2},
If[λ<IronIndices2[[1,1]],Print[" Input wavelength is too short."];Abort[]];
If[λ>IronIndices2[[Length[IronIndices2],1]],Print[" Input wavelength is too long."];Abort[]];
Catch[Do[λ2=IronIndices2[[i,1]];
n2=IronIndices2[[i,2]];
K2=IronIndices2[[i,3]];
If[λ==λ2,n=n2+I K2;Throw[n],
If[λ<λ2,λ1=IronIndices2[[i-1,1]];
n1=IronIndices2[[i-1,2]];
K1=IronIndices2[[i-1,3]];
n=n1 + (n2-n1)(λ-λ1)/(λ2-λ1) + I(K1 + (K2-K1)(λ-λ1)/(λ2-λ1));
Throw[n]]],{i,Length[IronIndices2]}]];
Return[n]];

(*  from Johnson and Christy, Phys. Rev. B,9(1974) 5056-5070  *)
Cobalt2[λ_]:=Module[{n,n1,n2,K1,K2,λ1,λ2},
If[λ<CobaltIndices2[[1,1]],Print[" Input wavelength is too short."];Abort[]];
If[λ>CobaltIndices2[[Length[CobaltIndices2],1]],Print[" Input wavelength is too long."];Abort[]];
Catch[Do[λ2=CobaltIndices2[[i,1]];
n2=CobaltIndices2[[i,2]];
K2=CobaltIndices2[[i,3]];
If[λ==λ2,n=n2+I K2;Throw[n],
If[λ<λ2,λ1=CobaltIndices2[[i-1,1]];
n1=CobaltIndices2[[i-1,2]];
K1=CobaltIndices2[[i-1,3]];
n=n1 + (n2-n1)(λ-λ1)/(λ2-λ1) + I(K1 + (K2-K1)(λ-λ1)/(λ2-λ1));
Throw[n]]],{i,Length[CobaltIndices2]}]];
Return[n]];

(*  from D.W.Lynch and W.R.Hunter "Copper" in Handbook of Optical Constants of Solids,ed.E.D.Palik (Academic,San Diego,1998) 284-285  *)
Copper[λ_] := Module[{n, n1, n2, K1, K2, λ1, λ2},
   If[λ < CopperIndices[[1, 1]], Print[" Input wavelength is too short."]; Abort[]];
   If[λ > CopperIndices[[Length[CopperIndices], 1]], Print[" Input wavelength is too long."]; Abort[]];
   Catch[Do[λ2 = CopperIndices[[i, 1]];
     n2 = CopperIndices[[i, 2]];
     K2 = CopperIndices[[i, 3]];
     If[λ == λ2, n = n2 + I K2; Throw[n],
      If[λ < λ2, λ1 = CopperIndices[[i - 1, 1]];
       n1 = CopperIndices[[i - 1, 2]];
       K1 = CopperIndices[[i - 1, 3]];
       n = n1 + (n2 - n1) (λ - λ1)/(λ2 - λ1) + I (K1 + (K2 - K1) (λ - λ1)/(λ2 - λ1));
       Throw[n]]], {i, Length[CopperIndices]}]];
   Return[n]];

(*  from D.Y.Smith E.Shiles and M.Inokuti "The optical properties of metallic aluminum" in Handbook of Optical Constants of Solids ed.E.D.Palik (Academic,San Diego,1998) 397-400  *)
Aluminum[λ_] := Module[{n, n1, n2, K1, K2, λ1, λ2},
   If[λ < AluminumIndices[[1, 1]], Print[" Input wavelength is too short."]; Abort[]];
   If[λ > AluminumIndices[[Length[AluminumIndices], 1]], Print[" Input wavelength is too long."]; Abort[]];
   Catch[Do[λ2 = AluminumIndices[[i, 1]];
     n2 = AluminumIndices[[i, 2]];
     K2 = AluminumIndices[[i, 3]];
     If[λ == λ2, n = n2 + I K2; Throw[n],
      If[λ < λ2, λ1 = AluminumIndices[[i - 1, 1]];
       n1 = AluminumIndices[[i - 1, 2]];
       K1 = AluminumIndices[[i - 1, 3]];
       n = n1 + (n2 - n1) (λ - λ1)/(λ2 - λ1) + I (K1 + (K2 - K1) (λ - λ1)/(λ2 - λ1));
       Throw[n]]], {i, Length[AluminumIndices]}]];
   Return[n]];

Various thin film routines

The dielectric function is computed from the refractive index in this routine.

ϵ[λ_,n_]:=Module[{nmetal,ϵm},
nmetal=Which[n==-1,Gold[λ],n==-2,Silver[λ],n==-3,Copper[λ],n==-4,Aluminum[λ],n==-5,Drude[λ],n==-6,LorentzDrudeAu[λ],n==-7,LorentzDrudeAg[λ],n==-8,LorentzDrudeCu[λ],n==-9,LorentzDrudeAl[λ],n==-10,Gold2[λ],n==-11,Silver2[λ],n==-12,LorentzDrudeBe[λ],n==-13,LorentzDrudeCr[λ],n==-14,LorentzDrudeNi[λ],n==-15,LorentzDrudePd[λ],n==-16,LorentzDrudePt[λ],n==-17,LorentzDrudeTi[λ],n==-18,LorentzDrudeW[λ],n==-19,Iron2[λ],n==-20,Cobalt2[λ],n==-21,Rhodium[λ],n==-22,Iridium[λ],True,n];
ϵm=(nmetal^2);
Return[ϵm]];

The reflectivity in the Otto or Kretschmann configurations is calculated in these routines.  For the Otto configuration, the input parameters are the wavelength λ, the angle of incidence θ of the beam on the bottom surface of the prism, the index of the prism (Subscript[n, 0]), the index of the dielectric in the gap (Subscript[n, 1]), and the index of the metal (Subscript[n, 2]), and the thickness of the dielectric film d.  For the Kretschmann configuration the input parameters are the wavelength λ, the angle of incidence θ, the index of the incident medium (Subscript[n, 0]), the metal index (Subscript[n, 1]), the index of the transmitting medium (Subscript[n, 2]), and the thickness of the metal film d.  RTM computes the reflectivity for incident light polarized in the plane of incidence (TM or p polarization), while RTE computes the reflectivity for incident light polarized perpendicular to the plane of incidence (TE or s polarization).

RTM[λ_,θ_,n0_,n1_,n2_,d_]:=Module[{nn1,nn2,k0,cos0,cos1,cos2,sin1,sin2,a1,a2,b1,b2,exp1,refl,tran,R,T},
k0=2 π/λ;
nn1=Which[n1==-1,Gold[λ],n1==-2,Silver[λ],n1==-3,Copper[λ],n1==-4,Aluminum[λ],n1==-5,Drude[λ],n1==-6,LorentzDrudeAu[λ],n1==-7,LorentzDrudeAg[λ],n1==-8,LorentzDrudeCu[λ],n1==-9,LorentzDrudeAl[λ],n1==-10,Gold2[λ],n1==-11,Silver2[λ],n1==-12,LorentzDrudeBe[λ],n1==-13,LorentzDrudeCr[λ],n1==-14,LorentzDrudeNi[λ],n1==-15,LorentzDrudePd[λ],n1==-16,LorentzDrudePt[λ],n1==-17,LorentzDrudeTi[λ],n1==-18,LorentzDrudeW[λ],n1==-19,Iron2[λ],n1==-20,Cobalt2[λ],n1==-21,Rhodium[λ],n1==-22,Iridium[λ],True,n1];
nn2=Which[n2==-1,Gold[λ],n2==-2,Silver[λ],n2==-3,Copper[λ],n2==-4,Aluminum[λ],n2==-5,Drude[λ],n2==-6,LorentzDrudeAu[λ],n2==-7,LorentzDrudeAg[λ],n2==-8,LorentzDrudeCu[λ],n2==-9,LorentzDrudeAl[λ],n2==-10,Gold2[λ],n2==-11,Silver2[λ],n2==-12,LorentzDrudeBe[λ],n2==-13,LorentzDrudeCr[λ],n2==-14,LorentzDrudeNi[λ],n2==-15,LorentzDrudePd[λ],n2==-16,LorentzDrudePt[λ],n2==-17,LorentzDrudeTi[λ],n2==-18,LorentzDrudeW[λ],n2==-19,Iron2[λ],n2==-20,Cobalt2[λ],n2==-21,Rhodium[λ],n2==-22,Iridium[λ],True,n2];
cos0=Cos[2 π θ/360];
sin1=n0 Sin[2 π θ/360]/nn1;
cos1=Sqrt[1-(sin1^2)];
sin2=n0 Sin[2 π θ/360]/nn2;
cos2=Sqrt[1-(sin2^2)];
a1=(n0 cos1-nn1 cos0)/(nn2 cos1-nn1 cos2);
a2=(nn1 cos0+n0 cos1)/(nn2 cos1+nn1 cos2);
b1=(n0 cos1-nn1 cos0)/(nn2 cos1+nn1 cos2);
b2=(nn1 cos0+n0 cos1)/(nn2 cos1-nn1 cos2);
exp1=Exp[2 I nn1 k0 d cos1];
refl=(a1-a2 exp1)/(b1 exp1-b2);
R=(Abs[refl])^2;
tran=(a2+b1 refl)Exp[ I nn1 k0 d cos1];
T= nn2  Re[cos2] (Abs[tran])^2/(n0 cos0);
Return[R]];

RTE[λ_,θ_,n0_,n1_,n2_,d_]:=Module[{nn1,nn2,k0,cos0,cos1,cos2,sin1,sin2,a1,a2,b1,b2,exp1,refl,tran,R,T},
k0=2 π/λ;
nn1=Which[n1==-1,Gold[λ],n1==-2,Silver[λ],n1==-3,Copper[λ],n1==-4,Aluminum[λ],n1==-5,Drude[λ],n1==-6,LorentzDrudeAu[λ],n1==-7,LorentzDrudeAg[λ],n1==-8,LorentzDrudeCu[λ],n1==-9,LorentzDrudeAl[λ],n1==-10,Gold2[λ],n1==-11,Silver2[λ],n1==-12,LorentzDrudeBe[λ],n1==-13,LorentzDrudeCr[λ],n1==-14,LorentzDrudeNi[λ],n1==-15,LorentzDrudePd[λ],n1==-16,LorentzDrudePt[λ],n1==-17,LorentzDrudeTi[λ],n1==-18,LorentzDrudeW[λ],n1==-19,Iron2[λ],n1==-20,Cobalt2[λ],n1==-21,Rhodium[λ],n1==-22,Iridium[λ],True,n1];
nn2=Which[n2==-1,Gold[λ],n2==-2,Silver[λ],n2==-3,Copper[λ],n2==-4,Aluminum[λ],n2==-5,Drude[λ],n2==-6,LorentzDrudeAu[λ],n2==-7,LorentzDrudeAg[λ],n2==-8,LorentzDrudeCu[λ],n2==-9,LorentzDrudeAl[λ],n2==-10,Gold2[λ],n2==-11,Silver2[λ],n2==-12,LorentzDrudeBe[λ],n2==-13,LorentzDrudeCr[λ],n2==-14,LorentzDrudeNi[λ],n2==-15,LorentzDrudePd[λ],n2==-16,LorentzDrudePt[λ],n2==-17,LorentzDrudeTi[λ],n2==-18,LorentzDrudeW[λ],n2==-19,Iron2[λ],n2==-20,Cobalt2[λ],n2==-21,Rhodium[λ],n2==-22,Iridium[λ],True,n2];
cos0=Cos[2 π θ/360];
sin1=n0 Sin[2 π θ/360]/nn1;
cos1=Sqrt[1-(sin1^2)];
sin2=n0 Sin[2 π θ/360]/nn2;
cos2=Sqrt[1-(sin2^2)];
a1=(nn1 cos1-n0 cos0)/(nn1 cos1+nn2 cos2);
a2=(nn1 cos1+n0 cos0)/(nn1 cos1-nn2 cos2);
b1=(nn1 cos1-n0 cos0)/(nn1 cos1-nn2 cos2);
b2=(nn1 cos1+n0 cos0)/(nn1 cos1+nn2 cos2);
exp1=Exp[2 I nn1 k0 d cos1];
refl=(a1 exp1-a2 )/(b1-b2 exp1);
R=(Abs[refl])^2;
tran=(a1+b2 refl)Exp[ I nn1 k0 d cos1];
T= nn2  Re[cos2] (Abs[tran])^2/(n0 cos0);
Return[R]];

The field in the medium outside of the prism in the Kretschmann configuration is calculated in this routine.  The input parameters are the wavelength λ, the angle of incidence θ, the index of the incident medium (Subscript[n, 0]), the metal index (Subscript[n, 1]), the index of the transmitting medium (Subscript[n, 2]), the thickness of the metal film d, and the distance below the surface z.  The output is the list {|(Subscript[E, x])|,|(Subscript[E, z])|,|E|}.

field[λ_,θ_,n0_,n1_,n2_,d_,z_]:=Module[{nmetal,k0,cos0,cos1,cos2,sin0,sin1,sin2,a1,a2,b1,b2,c1,c2,exp1,refl,tran,R,T,Ex,Ez,E,E1,E2},
k0=2 π/λ;
nmetal=Which[n1==-1,Gold[λ],n1==-2,Silver[λ],n1==-3,Copper[λ],n1==-4,Aluminum[λ],n1==-5,Drude[λ],n1==-6,LorentzDrudeAu[λ],n1==-7,LorentzDrudeAg[λ],n1==-8,LorentzDrudeCu[λ],n1==-9,LorentzDrudeAl[λ],n1==-10,Gold2[λ],n1==-11,Silver2[λ],n1==-12,LorentzDrudeBe[λ],n1==-13,LorentzDrudeCr[λ],n1==-14,LorentzDrudeNi[λ],n1==-15,LorentzDrudePd[λ],n1==-16,LorentzDrudePt[λ],n1==-17,LorentzDrudeTi[λ],n1==-18,LorentzDrudeW[λ],n1==-19,Iron2[λ],n1==-20,Cobalt2[λ],n1==-21,Rhodium[λ],n1==-22,Iridium[λ],True,n1];
sin0=Sin[2 π θ/360];
cos0=Cos[2 π θ/360];
sin1=n0 Sin[2 π θ/360]/nmetal;
cos1=Sqrt[1-(sin1^2)];
sin2=n0 Sin[2 π θ/360]/n2;
cos2=Sqrt[1-(sin2^2)];
a1=(n0 cos1-nmetal cos0)/(n2 cos1-nmetal cos2);
a2=(nmetal cos0+n0 cos1)/(n2 cos1+nmetal cos2);
b1=(n0 cos1-nmetal cos0)/(n2 cos1+nmetal cos2);
b2=(nmetal cos0+n0 cos1)/(n2 cos1-nmetal cos2);
exp1=Exp[2 I nmetal k0 d cos1];
refl=(a1-a2 exp1)/(b1 exp1-b2);
R=(Abs[refl])^2;
tran=(a2+b1 refl)Exp[ I nmetal k0 d cos1];
T= n2  Re[cos2] (Abs[tran])^2/(n0 cos0);
If[z>0.0,
Ex=cos2 tran Exp[I n2 k0 cos2 z];
Ez=sin2 tran Exp[I n2 k0 cos2 z],
If[z>-d,
c1=(nmetal cos2+n2 cos1)/(2 nmetal cos1);
c2=(n2 cos1-nmetal cos2)/(2 nmetal cos1);
E1=c1 Exp[-I nmetal k0 d cos1] tran;
E2=c2 Exp[+I nmetal k0 d cos1] tran;
Ex=E1 cos1 Exp[+I nmetal k0 cos1 (z+d)]-E2 cos1 Exp[-I nmetal k0 cos1 (z+d)];
Ez=E1 sin1 Exp[+I nmetal k0 cos1 (z+d)]+E2 sin1 Exp[-I nmetal k0 cos1 (z+d)],
Ex=cos0 Exp[+I n0 k0 cos0 (z+d)]-refl cos0 Exp[-I n0 k0 cos0 (z+d)];
Ez=sin0 Exp[+I n0 k0 cos0 (z+d)]+refl sin0 Exp[-I n0 k0 cos0 (z+d)]]];
E=Sqrt[Abs[Ex]^2 + Abs[Ez]^2];
Return[{{z,Abs[Ex]},{z,Abs[Ez]},{z,E}}]];

Calculation of the complex SP wavevector for a Drude metal with damping assuming the SP frequency is real.

Ksp:=Ω Sqrt[(Ω^2 -1+I Γ Ω)/(2 Ω^2 -1 + 2 I Γ Ω)];

The SP wavevector is computed in this routine from the metal index, the dielectric index, and the wavelength.

ksp[nm_,nd_,λ_]:=Module[{ϵd,ϵm},
ϵd=nd^2;
ϵm=ϵ[λ,nm];
Return[2 π Sqrt[ϵm ϵd/(ϵm+ϵd)]/λ]];

Mie scattering from a sphere

mie[λ_,r_,n1_,n2_,nang_ ]:=Module[{s1,s2,Qsct,Qext,Qbck,Qnf,nsph,x,y,nstop,nang1,nmx,amu,d,rn,π0,π1,ψ0,ψ1,ψ2,ψ3,χ0,χ1,χ2,χ3,ξ0,ξ1,ξ2,ξ3,h0,h1,h2,h3,fn,jj,pi,τ,p,t,an,bn,m},
If[nang==1,nang1=2,nang1=nang];
nsph=Which[n2==-1,Gold[λ],n2==-2,Silver[λ],n2==-3,Copper[λ],n2==-4,Aluminum[λ],n2==-5,Drude[λ],n2==-6,LorentzDrudeAu[λ],n2==-7,LorentzDrudeAg[λ],n2==-8,LorentzDrudeCu[λ],n2==-9,LorentzDrudeAl[λ],n2==-10,Gold2[λ],n2==-11,Silver2[λ],True,n2];
m=nsph/n1;
x=2π r n1/λ;
y=m x;

nstop=Round[x+4 (x^(1/3))+2];
nmx=Round[Max[nstop,Abs[y]]]+15;
amu=Table[Cos[π(j-1)/(2(nang1-1))],{j,nang1}];
d[nmx]=0;
Table[rn=nmx-n+1;d[nmx-n]=rn/y - 1/(d[nmx-n+1] + rn/y),{n,nmx-1}];
Do[π0[j]=0;π1[j]=1,{j,nang1}];
Do[s1[j]=0;s2[j]=0,{j,2 nang1-1}];
ψ0=Cos[x];ψ1=Sin[x];ψ2=ψ1/x - ψ0;
χ0=-Sin[x];χ1=Cos[x];χ2=χ1/x - χ0;
ξ0=ψ0-I χ0;ξ1=ψ1-I χ1;ξ2=ψ2-I χ2;          (*spherical Hankel fns of 1st kind*)
h0=(ψ0+I χ0)/x;h1=(ψ1+I χ1)/x;h2=(ψ2+I χ2)/x;  (*Hankel fns of 2nd kind*)
Qsct=0;
Qnf=0;
Do[fn=(2 n+1)/(n(n+1));
ψ3=(2 (n+1)-1) ψ2/x - ψ1;
χ3=(2 (n+1)-1) χ2/x - χ1;
ξ3=ψ3-I χ3;
h3=(ψ3+I χ3)/x;
an=((d[n]/m + n/x)ψ2 - ψ1)/((d[n]/m + n/x)ξ2 - ξ1);
bn=((m d[n] + n/x)ψ2 - ψ1)/((m d[n] + n/x)ξ2 - ξ1);
Qsct=Qsct+(2 n+1)(Abs[an]^2+Abs[bn]^2);
Qnf=Qnf+2(Abs[an]^2 ((n+1) Abs[h1]^2 + n Abs[h3]^2) + (2n+1)Abs[bn]^2 Abs[h2]^2);
Do[jj=Round[2 nang1-j];
pi[j]=π1[j];
τ[j]=n amu[[j]] pi[j] - (n+1)π0[j];
p=(-1)^(n-1);
s1[j]=s1[j] + fn (an pi[j] + bn τ[j]);
t=(-1)^n;
s2[j]=s2[j]+fn(an τ[j]+ bn pi[j]);
If[j!=jj,s1[jj]=s1[jj] + fn (an pi[j] p + bn τ[j] t);
s2[jj]=s2[jj] + fn (an τ[j] t + bn pi[j] p)],{j,nang1}];
ψ0=ψ1;ψ1=ψ2;ψ2=ψ3;
χ0=χ1;χ1=χ2;χ2=χ3;
ξ0=ξ1;ξ1=ξ2;ξ2=ξ3;
h0=h1;h1=h2;h2=h3;
Do[π1[j]=((2 n+1)/n) amu[[j]] pi[j]-(n+1) π0[j]/n;
π0[j]=pi[j],{j,nang1}],{n,nstop}];
Qsct=2Qsct/x^2;
Qext=4 Re[s1[1]]/x^2;
Qbck=4(Abs[s1[2 nang1-1]]^2/x^2);
Return[{Qsct,Qext,Qbck,Qnf,s1,s2}]];

SphereScattering[λ1_,λ2_,λinc_,r1_,r2_,rinc_,n1_,n2_,θinc_]:=Module[{Qs,Qe,Qb,Qn,Qsct,Qbck,Qext,Qnf,p1,pp1,p2,pp2,p3,pp3,rinc1,nr,r,nang,s1,s2,s11norm,θ,s11,s12,s33,s34,perp,perp1,par,par1,pol,result,λinc1,nλ,λ},
If[λ2≠λ1,            (*  find wavelength dependence  *)
If[λ2>λ1,λinc1=Abs[λinc],λinc1=-Abs[λinc] ];
nλ=Round[Abs[(λ2-λ1)/λinc1]+1];
result=Table[λ=λ1+(j-1)λinc1;
mie[λ,r1,n1,n2,1 ],{j,nλ}];
Qs=Table[{λ1+(j-1)λinc1,result[[j,1]]},{j,nλ}];
Qe=Table[{λ1+(j-1)λinc1,result[[j,2]]},{j,nλ}];
Qb=Table[{λ1+(j-1)λinc1,result[[j,3]]},{j,nλ}];
Qn=Table[{λ1+(j-1)λinc1,result[[j,4]]},{j,nλ}];
Return[{Qs,Qe,Qb,Qn}],

If[r1≠r2,            (*  find radius dependence  *)
If[r2>r1,rinc1=Abs[rinc],rinc1=-Abs[rinc] ];
nr = Round[Abs[(r2-r1)/rinc1]+1];
result=Table[r=r1+(j-1)rinc1;
mie[λ1,r,n1,n2,1 ] ,{j,nr}];
Qs=Table[{r1+(j-1)rinc1,result[[j,1]]},{j,nr}];
Qe=Table[{r1+(j-1)rinc1,result[[j,2]]},{j,nr}];
Qb=Table[{r1+(j-1)rinc1,result[[j,3]]},{j,nr}];
Qn=Table[{r1+(j-1)rinc1,result[[j,4]]},{j,nr}];
Return[{Qs,Qe,Qb,Qn}],

nang = Round[Abs[90/θinc]+1];          (*  find angle dependence  *)
{Qsct,Qext,Qbck,Qnf,s1,s2}=mie[λ1,r1,n1,n2,nang ] ;
Print["λ = ",λ1," Qsct=",Qsct, " Qext=",Qext, " Qbck=",Qbck];
s11norm=(((Abs[s1[1]])^2)+ ((Abs[s2[1]])^2) )/2;
Do[θ=θinc(j-1);
s11=(Abs[s1[j]]^2+Abs[s2[j]]^2)/2;
s12=(Abs[s2[j]]^2-Abs[s1[j]]^2)/2;
perp[j]={θ,s11-s12};
perp1[j]={(s11-s12)Cos[π θ/180.0],(s11-s12)Sin[π θ/180.0]};
par[j]={θ,s11+s12};
par1[j]={(s11+s12)Cos[π θ/180.0],(s11+s12)Sin[π θ/180.0]};
pol=-s12/s11;
s33=Re[s2[j] Conjugate[s1[j]]]/s11;
s34=Im[s2[j] Conjugate[s1[j]]]/s11;
s11=s11/s11norm,{j,2 nang-1}] ;
p1=Table[perp[j],{j,2 nang-1}];   (* perp scattering in polar coords *)
pp1=Table[perp1[j],{j,2 nang-1}]; (* perp scattering in x-y coords  *)
p2=Table[par[j],{j,2 nang-1}];      (* par scattering in polar coords *)
pp2=Table[par1[j],{j,2 nang-1}];  (* par scattering in x-y coords  *)
p3=Table[0.5(perp[j]+par[j]),{j,2 nang-1}];      (* perp + par scattering in polar coords *)
pp3=Table[0.5(perp1[j]+par1[j]),{j,2 nang-1}];  (* perp + par scattering in x-y coords  *)
Return[{p1,pp1,p2,pp2,p3,pp3}]]]];

Code for generating figures

12.1 Figures for Determination of Optical Constants of Metals

The routines for computing the reflectivity in the Otto configuration are RTM and RTE.  Reflectivity is computed for the field in the plane of incidence for RTM and perpendicular to the plane of incidence for RTE.  The input parameters are the wavelength λ, the angle of incidence θ of the beam on the bottom surface of the prism, the index of the prism (Subscript[n, 0]), the index of the dielectric in the gap (Subscript[n, 1]), and the index of the metal (Subscript[n, 2]), and the thickness of the dielectric film d.  The metal index may be entered as a complex number, or the metal index can be directly calculated vs. wavelength for several different metals according to which option is selected below.
	-1: complex index for gold interpolated from values in Palik 
	-2: complex index for silver interpolated from values in Palik  
	-3: complex index for copper interpolated from values in Palik 
	-4: complex index for aluminum interpolated from values in Palik
	-5: complex index of a Drude metal
	-6: complex index for gold from Drude-Lorentz fit from Rakik et al.
	-7: complex index for silver from Drude-Lorentz fit from Rakik et al.
	-8: complex index for copper from Drude-Lorentz fit from Rakik et al.
	-9: complex index for aluminum from Drude-Lorentz fit from Rakik et al.
	-10: complex index for gold from Johnson and Christy
	-11: complex index for silver from Johnson and Christy
	-12: complex index for beryllium from Drude-Lorentz fit from Rakik et al.
	-13: complex index for chromium from Drude-Lorentz fit from Rakik et al.
	-14: complex index for nickel from Drude-Lorentz fit from Rakik et al.
	-15: complex index for palladium from Drude-Lorentz fit from Rakik et al.
	-16: complex index for platinum from Drude-Lorentz fit from Rakik et al.
	-17: complex index for titanium from Drude-Lorentz fit from Rakik et al.
	-18: complex index for tungsten from Drude-Lorentz fit from Rakik et al.
	-19: complex index for iron from Johnson and Christy
	-20: complex index for cobalt from Johnson and Christy
	-21: complex index for Rh interpolated from values in Palik 
	-22: complex index for Ir interpolated from values in Palik

θ1 = 42.5;        (* initial angle of incidence within prism *)
θ2 = 44.5;      (* final angle of incidence within prism *)
θinc=0.01;    (* increment of angle  *)
λ=0.6328;            (* wavelength in μm  *)
num = Round[Abs[θ2 - θ1]/θinc] + 1;
n0=1.5;   (*  index of glass prism  *)
n2=1.0;   (*  index of dielectric below gold film  *)

n1=Sqrt[-17.45+I 0.92];    (*  Case 1: trial for index of gold film  *)
d=0.0387;   (*  thickness of dielectric in gap in μm  *)
d1=Table[{θ=θ1+(i-1)θinc,RTM[λ,θ,n0,n1,n2,d]},{i,num}];

n1=Sqrt[-16.72+I 1.66];    (*  Case 2: trial for index of gold film  *)
d=0.0483;   (*  thickness of dielectric in gap in μm  *)
d2=Table[{θ=θ1+(i-1)θinc,RTM[λ,θ,n0,n1,n2,d]},{i,num}];

Fig1=ListLinePlot[{d1,d2}, PlotLegend->{"Case 1","Case 2"},LegendPosition -> {-0.65, -0.3},LegendSize -> {0.3,0.25}, 
LegendShadow -> {.01, -.01},FrameLabel -> {"θ (°)", "R"}, 
Evaluate[option]]
Fig1BW=ListLinePlot[{d1,d2}, PlotLegend->{"Case 1","Case 2"},LegendPosition -> {-0.65, -0.3},LegendSize -> {0.3,0.25}, 
LegendShadow -> {.01, -.01},FrameLabel -> {"θ (°)", "R"}, 
Evaluate[optB]];
Clear[θ,θ1,θ2,θinc,λ,num,n0,n1,n2,d,d1,d2];

λ1=0.5;
λ2=0.8;
λinc=0.01;
θ = 43.5;        (* initial angle of incidence within prism *)
num = Round[Abs[λ2 - λ1]/λinc] + 1;
n0=1.5;   (*  index of glass prism  *)
n2=1.0;   (*  index of dielectric below gold film  *)

n1=Sqrt[-17.45+I 0.92];    (*  Case 1: trial for index of gold film  *)
d=0.0387;   (*  thickness of dielectric in gap in μm  *)
d1=Table[{λ=λ1+(i-1)λinc,RTM[λ,θ,n0,n1,n2,d]},{i,num}];

n1=Sqrt[-16.72+I 1.66];    (*  Case 2: trial for index of gold film  *)
d=0.0483;   (*  thickness of dielectric in gap in μm  *)
d2=Table[{λ=λ1+(i-1)λinc,RTM[λ,θ,n0,n1,n2,d]},{i,num}];

Fig2=ListLinePlot[{d1,d2},PlotLegend->{"Case 1","Case 2"}, LegendPosition -> {.35, -0.2},LegendSize -> {0.3,0.25}, 
LegendShadow -> {.01, -.01},FrameLabel -> {"λ (μm)", "R"},
Evaluate[option]] 
Fig2BW=ListLinePlot[{d1,d2},PlotLegend->{"Case 1","Case 2"}, LegendPosition -> {.35, -0.2},LegendSize -> {0.3,0.25}, 
LegendShadow -> {.01, -.01},FrameLabel -> {"λ (μm)", "R"},
Evaluate[optB]] ;
Clear[θ,λ,λ1,λ2,λinc,num,n0,n1,n2,d,d1,d2];

θ1 = 30;        (* initial angle of incidence within prism *)
θ2 = 60;      (* final angle of incidence within prism *)
θinc=0.01;    (* increment of angle  *)
λ=0.6328;            (* wavelength in μm  *)
num = Round[Abs[θ2 - θ1]/θinc] + 1;
n0=1.5;   (*  index of glass prism  *)
n2=1.0;   (*  index of dielectric below gold film  *)

n1=Sqrt[-17.45+I 0.92];    (*  index of gold film  *)
d=0.0387;   (*  thickness of dielectric in gap in μm  *)
d1=Table[{θ=θ1+(i-1)θinc,RTM[λ,θ,n0,n1,n2,d]},{i,num}];

n1=Sqrt[-16.72+I 1.66];    (*  index of gold film  *)
d=0.0483;   (*  thickness of dielectric in gap in μm  *)
d2=Table[{θ=θ1+(i-1)θinc,RTM[λ,θ,n0,n1,n2,d]},{i,num}];

Fig3=ListLinePlot[{d1,d2},PlotLegend->{"Case 1","Case 2"}, LegendPosition -> {-0.65, -0.3},LegendSize -> {0.3,0.25}, 
LegendShadow -> {.01, -.01},FrameLabel -> {"θ (°)", "R"}, 
Evaluate[option]]
Fig3BW=ListLinePlot[{d1,d2},PlotLegend->{"Case 1","Case 2"}, LegendPosition -> {-0.65, -0.3},LegendSize -> {0.3,0.25}, 
LegendShadow -> {.01, -.01},FrameLabel -> {"θ (°)", "R"}, 
Evaluate[optB]];
Clear[θ,θ1,θ2,θinc,λ,num,n0,n1,n2,d1,d2,d3,d4];

12.2 Figures for Chemical and Biological Sensors

The routines for computing the reflectivity in the Kretschmann configuration are RTM and RTE.  Reflectivity is computed for the field in the plane of incidence for RTM and perpendicular to the plane of incidence for RTE.  The input parameters are the wavelength λ, the angle of incidence θ of the beam on the bottom surface of the prism, the index of the prism (Subscript[n, 0]), the index of the metal film (Subscript[n, 1]) and its thickness d, and the index of the dielectric on the outer surface.  The metal index may be entered as a complex number, or the metal index can be directly calculated vs. wavelength for several different metals according to which option is selected below.
	-1: complex index for gold interpolated from values in Palik 
	-2: complex index for silver interpolated from values in Palik  
	-3: complex index for copper interpolated from values in Palik 
	-4: complex index for aluminum interpolated from values in Palik
	-5: complex index of a Drude metal
	-6: complex index for gold from Drude-Lorentz fit from Rakik et al.
	-7: complex index for silver from Drude-Lorentz fit from Rakik et al.
	-8: complex index for copper from Drude-Lorentz fit from Rakik et al.
	-9: complex index for aluminum from Drude-Lorentz fit from Rakik et al.
	-10: complex index for gold from Johnson and Christy
	-11: complex index for silver from Johnson and Christy
	-12: complex index for beryllium from Drude-Lorentz fit from Rakik et al.
	-13: complex index for chromium from Drude-Lorentz fit from Rakik et al.
	-14: complex index for nickel from Drude-Lorentz fit from Rakik et al.
	-15: complex index for palladium from Drude-Lorentz fit from Rakik et al.
	-16: complex index for platinum from Drude-Lorentz fit from Rakik et al.
	-17: complex index for titanium from Drude-Lorentz fit from Rakik et al.
	-18: complex index for tungsten from Drude-Lorentz fit from Rakik et al.
	-19: complex index for iron from Johnson and Christy
	-20: complex index for cobalt from Johnson and Christy
	-21: complex index for Rh interpolated from values in Palik 
	-22: complex index for Ir interpolated from values in Palik

θ1 = 43.0;        (* initial angle of incidence within prism *)
θ2 = 44.5;      (* final angle of incidence within prism *)
θinc=0.01;    (* increment of angle  *)
λ=0.6328;            (* wavelength in μm  *)
num = Round[Abs[θ2 - θ1]/θinc] + 1;
n0=1.5;   (*  index of glass prism  *)
n1 = -2;    (*  index of silver film  *)
d=0.050;  (*  thickness of silver film in μm  *)

n2=1.000;   (*  index of air outside silver film  *)
d1=Table[{θ=θ1+(i-1)θinc,RTM[λ,θ,n0,n1,n2,d]},{i,num}];

n2=1.001;   (*  index of gas outside silver film  *)
d2=Table[{θ=θ1+(i-1)θinc,RTM[λ,θ,n0,n1,n2,d]},{i,num}];
d3=Table[{θ=θ1+(i-1)θinc,d2[[i,2]]-d1[[i,2]]},{i,num}];

Fig9=ListLinePlot[{d1,d2,d3}, LegendPosition -> {.45, -0.1},PlotLegend->{"n=1.000","n=1.001","diff"},LegendSize -> {0.4,0.25}, LegendShadow -> {.01, -.01}, FrameLabel -> {"θ (°)", "R"}, Evaluate[option]]
Fig9BW=ListLinePlot[{d1,d2,d3}, LegendPosition -> {.45, -0.1},PlotLegend->{"n=1.000","n=1.001","diff"},LegendSize -> {0.4,0.25}, LegendShadow -> {.01, -.01}, FrameLabel -> {"θ (°)", "R"}, Evaluate[optB]];
Clear[θ,θ1,θ2,θinc,λ,num,n0,n1,n2,d,d1,d2,d3];

12.7 SP focusing

The routine for computing the SP wavevector is ksp[nm,nd,λ].  The input parameters are the index of the metal (Subscript[n, m]), the index of the dielectric (Subscript[n, d]), and the wavelength λ.  The metal index may be entered as a complex number, or the metal index can be directly calculated vs. wavelength for several different metals according to which option is selected below.
	-1: complex index for gold interpolated from values in Palik 
	-2: complex index for silver interpolated from values in Palik  
	-3: complex index for copper interpolated from values in Palik 
	-4: complex index for aluminum interpolated from values in Palik
	-5: complex index of a Drude metal
	-6: complex index for gold from Drude-Lorentz fit from Rakik et al.
	-7: complex index for silver from Drude-Lorentz fit from Rakik et al.
	-8: complex index for copper from Drude-Lorentz fit from Rakik et al.
	-9: complex index for aluminum from Drude-Lorentz fit from Rakik et al.
	-10: complex index for gold from Johnson and Christy
	-11: complex index for silver from Johnson and Christy
	-12: complex index for beryllium from Drude-Lorentz fit from Rakik et al.
	-13: complex index for chromium from Drude-Lorentz fit from Rakik et al.
	-14: complex index for nickel from Drude-Lorentz fit from Rakik et al.
	-15: complex index for palladium from Drude-Lorentz fit from Rakik et al.
	-16: complex index for platinum from Drude-Lorentz fit from Rakik et al.
	-17: complex index for titanium from Drude-Lorentz fit from Rakik et al.
	-18: complex index for tungsten from Drude-Lorentz fit from Rakik et al.
	-19: complex index for iron from Johnson and Christy
	-20: complex index for cobalt from Johnson and Christy
	-21: complex index for Rh interpolated from values in Palik 
	-22: complex index for Ir interpolated from values in Palik

λ=0.8;                (* wavelength in μm  *)
nd1=1.0;            (*  starting index of dielectric  *)
nd2=3.0;             (*  final index of dielectric  *)
ndinc = 0.01;    (*  increment of dielectric index  *)
num = Round[Abs[nd2 - nd1]/ndinc] + 1;
nm=-6;   (*  index of gold vs. wavelength  *)

k=Table[{nd=nd1+(i-1)ndinc,Re[ksp[nm,nd,λ]]},{i,num}];
Fig28=ListLinePlot[k,FrameLabel -> {"n", "(Subscript[k, SP]^′) (((μm)^(-1)))"}, Evaluate[option]]
Fig28BW=ListLinePlot[k,FrameLabel -> {"n", "(Subscript[k, SP]^′) (((μm)^(-1)))"}, Evaluate[optB]];
Clear[nd1,nd2,ndinc,nm,λ,num,k];

12.12 Exercises

θ1 = 66;        (* initial angle of incidence within prism *)
θ2 = 70;        (* initial angle of incidence within prism *)
θinc=0.01;    (* increment of angle  *)
d=0.050;   (*  thickness of metal film in μm  *)
λ=0.83;            (* wavelength in μm  *)
num = Round[Abs[θ2 - θ1]/θinc] + 1;
n0=1.5;   (*  index of glass prism  *)
n1=-1;    (*  index of gold film  *)

n2=1.34;   (*  index of water below gold film  *)
d1=Table[{θ=θ1+(i-1)θinc,RTM[λ,θ,n0,n1,n2,d]},{i,num}];

n2=1.35;   (*  shifted index below gold film  *)
d2=Table[{θ=θ1+(i-1)θinc,RTM[λ,θ,n0,n1,n2,d]},{i,num}];

ex1=ListLinePlot[{d1,d2}, LegendPosition -> {.4, -0.35},PlotLegend->{"Δn=0.0","Δn=0.01"},LegendSize -> {0.4,0.25}, LegendShadow -> {.01, -.01}, FrameLabel -> {"θ (°)", "R"}, Evaluate[option]]
ex1BW=ListLinePlot[{d1,d2}, LegendPosition -> {.4, -0.35},PlotLegend->{"Δn=0.0","Δn=0.01"},LegendSize -> {0.4,0.25}, LegendShadow -> {.01, -.01}, FrameLabel -> {"θ (°)", "R"}, Evaluate[optB]];
Clear[θ,θ1,θ2,θinc,λ,num,n0,n1,n2,d1,d2,d];

λ1=0.36;                  (*  initial wavelength  *)
λ2=0.48;                  (*  final wavelength  *)
λinc=0.001;           (*  increment of wavelength  *)
θinc = 1;                   (*  increment of angle  *)   
r1=0.02;                  (*  initial radius of sphere in microns  *)
r2=0.02;                  (*  final radius of sphere in microns  *)
rinc = 0.0;              (*  increment of radius  *)
n2=-2;                     (*  refractive index of silver sphere  *)

n1 = 1.33;                   (* refractive index of medium  *)  
{QsMed1,QeMed1,QbMed1,QnMed1}=SphereScattering[λ1,λ2,λinc,r1,r2,rinc,n1,n2,θinc];
n1 = 1.43;                   (* refractive index of medium  *)  
{QsMed2,QeMed2,QbMed2,QnMed2}=SphereScattering[λ1,λ2,λinc,r1,r2,rinc,n1,n2,θinc];

ex2=ListLinePlot[{QeMed1,QeMed2},PlotLegend->{"Δn=0","Δn=0.01"},LegendPosition-> {-0.75,0.1},LegendSize->0.35,LegendShadow->{.01,-.01},FrameLabel->{"λ (μm)","(Subscript[Q, ext])"},Evaluate[option]]
ex2BW=ListLinePlot[{QeMed1,QeMed2},PlotLegend->{"Δn=0","Δn=0.01"},LegendPosition-> {-0.75,0.1},LegendSize->0.35,LegendShadow->{.01,-.01},FrameLabel->{"λ (μm)","(Subscript[Q, ext])"},Evaluate[optB]];
Clear[λ1,λ2,λinc,r1,r2,rinc,n1,n2,θinc];

λ1=0.400;            (* initial wavelength in μm  *)
λ2=0.900;           (*  final wavelength in μm   *)
λinc = 0.001;     (*   increment of wavelength   *)
num = Round[Abs[λ2 - λ1]/λinc] + 1;
θ = 75;        (* angle of incidence within prism *)
n0=1.5;   (*  index of glass prism  *)
n1=-2;    (*  index of silver film  *)
d=0.050;   (*  thickness of gold film in μm  *)

n2=1.351;   (*  index of sample  *)
d1=Table[{λ=λ1+(i-1)λinc,RTM[λ,θ,n0,n1,n2,d]},{i,num}];

n2=1.393;   (*  index of sample  *)
d2=Table[{λ=λ1+(i-1)λinc,RTM[λ,θ,n0,n1,n2,d]},{i,num}];

n2=1.404;   (*  index of sample  *)
d3=Table[{λ=λ1+(i-1)λinc,RTM[λ,θ,n0,n1,n2,d]},{i,num}];

ex3=ListLinePlot[{d1,d2,d3}, LegendPosition -> {-.7, -0.35},PlotLegend->{"n=1.351","n=1.393","n=1.404"},LegendSize -> {0.4,0.25}, LegendShadow -> {.01, -.01}, FrameLabel -> {"λ (μm)", "R"}, Evaluate[option]]
ex3BW=ListLinePlot[{d1,d2,d3}, LegendPosition -> {-.7, -0.35},PlotLegend->{"n=1.351","n=1.393","n=1.404"},LegendSize -> {0.4,0.25}, LegendShadow -> {.01, -.01}, FrameLabel -> {"λ (μm)", "R"}, Evaluate[optB]];
Clear[θ,λ,λ1,λ2,λinc,num,n0,n1,n2,d1,d2,d3,d];

θ1 = 60;      (* initial angle of incidence within prism *)
θ2 = 75;      (* final angle of incidence within prism *)
θinc = 0.01;    (* increment of angle  *)
λ = 0.8;            (* wavelength in μm  *)
num = Round[Abs[θ2 - θ1]/θinc] + 1;
n0 = 1.5;   (*  index of glass prism  *)
n2 = 1.33;   (*  index of dielectric below gold film  *)
d = 0.05;   (*  thickness of silver film in μm  *)
n1 = -7;    (*  index of silver film  *)
Ag = Table[{θ = θ1 + (i - 1) θinc, RTM[λ, θ, n0, n1, n2, d]}, {i, num}];
n1 = -6;    (*  index of gold film  *)
Au = Table[{θ = θ1 + (i - 1) θinc, RTM[λ, θ, n0, n1, n2, d]}, {i, num}];

ex4a=ListLinePlot[{Ag,Au},LegendPosition -> {.45, -0.1},PlotLegend->{"Ag","Au"},LegendSize -> {0.3,0.2}, LegendShadow -> {.01, -.01}, FrameLabel -> {"θ (°)", "R"},Evaluate[option]]
ex4aBW=ListLinePlot[{Ag,Au},LegendPosition -> {.45, -0.1},PlotLegend->{"Ag","Au"},LegendSize -> {0.3,0.2}, LegendShadow -> {.01, -.01},FrameLabel -> {"θ (°)", "R"},Evaluate[optB]];
Clear[θ, θ1, θ2, θinc, λ, num, n0, n1, n2,d, d1,d2,d3,d4];

The routine for computing the field amplitude in the medium below the prism in the Kretschmann configuration is "field" and it requires seven input parameters, the wavelength λ, the angle of incidence θ, the index of the incident medium (Subscript[n, 0]), the metal index (Subscript[n, 1]), the index of the transmitting medium (Subscript[n, 2]), the thickness of the metal film d, and the distance below the surface of the metal film z.  The metal index may be entered as a complex number, or the metal index can be directly calculated for any wavelength for several different metals according to which option is selected below for (Subscript[n, 1]).
	-1: complex index for Au interpolated from values in Palik 
	-2: complex index for Ag interpolated from values in Palik  
	-3: complex index for Cu interpolated from values in Palik 
	-4: complex index for Al interpolated from values in Palik
	-5: complex index of a Drude metal
	-6: complex index for Au from Drude-Lorentz fit from Rakik et al.
	-7: complex index for Ag from Drude-Lorentz fit from Rakik et al.
	-8: complex index for Cu from Drude-Lorentz fit from Rakik et al.
	-9: complex index for Al from Drude-Lorentz fit from Rakik et al.
	-10: complex index for Au from Johnson and Christy
	-11: complex index for Ag from Johnson and Christy
	-12: complex index for Be from Drude-Lorentz fit from Rakik et al.
	-13: complex index for Cr from Drude-Lorentz fit from Rakik et al.
	-14: complex index for Ni from Drude-Lorentz fit from Rakik et al.
	-15: complex index for Pd from Drude-Lorentz fit from Rakik et al.
	-16: complex index for Pt from Drude-Lorentz fit from Rakik et al.
	-17: complex index for Ti from Drude-Lorentz fit from Rakik et al.
	-18: complex index for W from Drude-Lorentz fit from Rakik et al.
	-19: complex index for Fe from Johnson and Christy
	-20: complex index for Co from Johnson and Christy

z1 = -0.1;      (* initial distance below metal film in microns *)
z2 = 1;      (* final distance below metal film in microns *)
zinc=0.001;    (* increment of distance  *)
n0=1.5;         (*  index of incident medium - glass prism  *)
n1=-7;            (*  index of silver  *)
λ=0.8;            (*  wavelength in microns  *)
num = Round[Abs[z2 - z1]/zinc] + 1;
n1=-7;             (*  silver  *)
d=0.050;        (*  thickness of metal film in microns  *)

n2=1.0;          (*  index of transmitting medium - air  *)
θ=42.9;         (*  angle of incidence  *)
Ag1=Table[z=z1+(i-1)zinc;field[λ,θ,n0,n1,n2,d,z],{i,num}];

n2=1.33;          (*  index of transmitting medium - water  *)
θ=67;         (*  angle of incidence  *)
Ag2=Table[z=z1+(i-1)zinc;field[λ,θ,n0,n1,n2,d,z],{i,num}];

ex4b=ListLinePlot[{Ag1[[All,1]],Ag2[[All,1]]}, LegendPosition -> {.2,.3}, PlotLegend->{"air @ 42.9°","water @ 67°"},LegendSize ->{0.6,0.2}, LegendShadow -> {.01, -.01}, FrameLabel -> {"z (μm)", "|Field Amplitude|"},Evaluate[option]]
ex4bBW=ListLinePlot[{Ag1[[All,1]],Ag2[[All,1]]}, LegendPosition -> {.2,.3}, PlotLegend->{"air @ 42.9°","water @ 67°"},LegendSize ->{0.6,0.2}, LegendShadow -> {.01, -.01}, FrameLabel -> {"z (μm)", "|Field Amplitude|"},Evaluate[optB]];
Clear[λ,θ,n0,n1,n2,d,z1,z2,zinc,num,Ag1,Ag2];

Figures

12.2 Measuring the optical constants of metals

12.3 Chemical and biological sensors

12.3.2  Kretschmann sensors

12.3.3  Nanoparticle sensors

12.3.4  Optical fiber sensors

12.4 Near field microscopy

12.4.1  Scanning plasmon near field microscopy

12.4.2  Photon scanning tunneling microscopy

12.4.3  Fiber-based scanning near field microscopy with a nanoparticle

12.4.4  Fiber-based scanning near field microscopy with an aperture

12.4.5  The superlens

12.5 Surface enhanced Raman spectroscopy

12.6 Nonlinear optics

12.7 Heat assisted magnetic recording

12.8 Nanophotonics

12.8.2 SP focusing

12.8.3 SP channeling

12.8.4 Single holes and beaming

12.8.5 Hole arrays

12.8.6 SP interference

12.8.7 SP lasers

12.9 Cancer detection and treatment

12.10 Other applications

Exercises

1. For a biosensor in the Kretschmann configuration with a gold sensing surface immersed in water (n = 1.33) at a wavelength of 830 nm, how much will the SP resonance angle shift when the local refractive index changes by 1 × (10^(-7))?

ex1

The minimum reflectivity angle of the resonance shifts from {67.32, 0.0209984} to {68.43, 0.018929} or 0.11° for Δn=0.01.  An index change of (10^(-7)) should therefore give a resonance angle shift of ~(10^(-6)) degrees.

2. Using Mie theory, verify the statement in the text that the resonance wavelength shifts by about 200 nm per unit change in refractive index for silver nanoparticles in water (n = 1.33).

ex2

The resonance wavelength shifts from {0.41, 10.7236} to {0.427, 11.9139}, so Δλ=17 nm for Δn=0.1.

3. Compare the measured transmissivity spectrum in Fig. 12.12 for an optical fiber sensor with the theoretical reflectivity spectrum in the Kretschmann configuration.  Assume that the silver film on the glass prism is 50 nm thick and that the angle of incidence is fixed at 75°.  Compare both the linewidth of the resonance and the wavelength shift.  Which type of SPR sensor is likely to be more sensitive and why?

ex3

The Kretschmann configuration has both a narrower linewidth and a larger wavelength shift, so it will be more sensitive than the SPR optical fiber sensor.  This is because the incident beam in the Kretschmann configuration is assumed to be at a single angle, while in the optical fiber the light incident upon the gold film from inside the core has a broader range of angles or wavevectors.

4. If the dielectric below a 50 nm metal film in the Kretschmann configuration is water with a refractive index of 1.33 instead of air, at what angle of incidence does the SP resonance occur for silver and gold at a wavelength of 800 nm?  Is the field amplitude at the surface of the silver film larger with water in place of air, or smaller?  Does the field penetrate further into an air dielectric or a water dielectric?

ex4a

ex4b

References

[1]  E. Kretschmann.  Determination of the optical constants of metals by excitation of surface plasmons.  Z. Phys. 241 (1971) 313.
[2] W. P. Chen and J. M. Chen.  Use of surface plasma waves for determination of the thickness and optical constants of thin metallic films.  J. Opt. Soc. Am. 71 (1981) 189.
[3] R. A. Innes and J. R. Sambles.  Optical characterisation of gold using surface plasmon-polaritions.  J. Phys. F: Met. Phys. 17 (1987) 277.  Published by IOP Publishing Ltd.
[4] W. B. Lin, J. M. Chovelon, and N. Jaffrezic-Renault.  Fiber-optic surface-plasmon resonance for the determination of thickness and optical constants of thin metal films.  Appl. Opt. 39 (2000) 3261.
[5] C. Nylander, B. Liedberg, T. Lind.  Gas detection by means of surface plasmon resonance.  Sensors & Actuators 3 (1982/3) 79.
[6] T.M. Chinowsky, J.G. Quinn, D.U. Bartholomew, R. Kaiser, and J.L. Elkind.  Performance of the Spreeta 2000 integrated surface plasmon resonance affinity sensor.  Sensors and Actuators B 91 (2003) 266.
[7] Spreeta TSPR2KXY Biosensor Product Bulletin, Texas Instruments, http://www.sensata.com/sensors/spreeta-analytical-sensor-highlights.htm.
[8] Spreeta: the binding of neutravidin followed by the attachment of biotinylated antibodies to the Spreeta surface.  Texas Instruments application brief 004 (1999) SLYA015A.
[9] A. D. McFarland and R. P. Van Duyne.  Single silver nanoparticles as real-time optical sensors with zepto-mole sensitivity.  Nano Lett. 3 (2003) 1057.
[10] D. S. Ginger, Y. C. Cao and C. A. Mirkin.  Next-generation biosensing with gold nanoparticles.  Biophoton. Internat. (July, 2003) 48.
[11] R. C. Jorgenson, C. Jung, S. S. Yee and L. W. Burgess.  Multi wavelength surface plasmon resonance as an optical sensor for characterizing the complex refractive indices of chemical samples.  Sens. Actuators B 14 (1993) 721.
[12] W. A. Challener, R. R. Ollman and K. K. Kam.  A surface plasmon resonance gas sensor in a 'compact disc' format.  Sens. Actuators B 56 (1999) 254.
[13] R. C. Jorgenson and S. S. Yee.  A fiber-optic chemical sensor based on surface-plasmon resonance.  Sens. Actuators B 12 (1993) 213.
[14] J. Homola.  Optical fiber sensor based on surface plasmon excitation.  Sens. Actuators B 29 (1995) 401.
[15] M.Specht, J. D. Pedarnig, W. M. Heckl and T. W. Hänsch.  Scanning plasmon near-field microscope.  Phys. Rev. Lett. 68 (1992) 476.
[16] S. I. Bozhevolnyi, B. Vohnsen, I. I. Smolyaninov, A. V. Zayats.  Direct observation of surface polariton localization caused by surface roughness.  Opt. Commun. 117 (1995) 417.
[17] O. Sqalli, I. Utke, P. Hoffmann and F. Marquis-Weible.  Gold elliptical nanoantennas as probes for near field optical microscopy.  J. Appl. Phys. 92 (2002) 1078.
[18] T. Thio, H.J. Lezec, T. W. Ebbesen.  Strongly enhanced optical transmission through subwavelength holes in metal films.  Physica B 279 (2000) 90.
[19] J. B. Pendry.  Negative refraction makes a perfect lens.  Phys. Rev. Lett. 85 (2000 ) 3966.
[20] N. Fang, Z. W. Liu, T. J. Yen and X. Zhang. Regenerating evanescent waves from a silver superlens.  Opt. Exp. 11 (2003) 682.
[21] N. Fang, H. Lee, C. Sun and X. Zhang.  Sub-diffraction-limited optical imaging with a silver superlens.  Science 308 (2005) 534.
[22] H. Lee, Y. Xiong, N. Fang, W. Srituravanich, S. Durant, M. Ambati, C. Sun and X. Zhang.  Realization of optical superlens imaging below the diffraction limit.  New J. Phys. 7 (2005) 255.
[23] Z. Jacob, L. V. Alekseyev and E. Narimanov.  Optical Hyperlens: Far-field imaging beyond the diffraction limit.  Opt. Exp. 14 (2006) 8247.
[24] Z. Liu, H. Lee, Y. Xiong, C. Sun and X. Zhang.  Far-field optical hyperlens magnifying sub-diffraction-limited objects.  Science 315 (2007) 1686.
[25] H. Lee, Z. Liu, Y. Xiong, C. Sun and X. Zhang.  Development of optical hyperlens for imaging below the diffraction limit.  Opt. Exp. 15 (2007) 15886.
[26] I. I. Smolaninov, Y. J. Hung and C. C. Davis.  Magnifying superlens in the visible frequency range.  Science 315 (2007) 1699.
[27] G. Shvets, S. Trendafilov, J. B. Pendry and A. Sarychev.  Guiding, focusing, and sensing on the subwavelength scale using metallic wire arrays.  Phys. Rev. Lett. 99 (2007)  53903.
[28] S. Kawata, A. Ono and P. Verma.  Subwavelength colour imaging with a metallic nanolens.  Nat. Photon. 2 (2008) 438.
[29] S. Kawata, Y. Inouye and P. Verma.  Plasmonics for near-field nano-imaging and superlensing.  Nat. Photon. 3 (2009) 388.
[30] M. Fleischmann, P. J. Hendra and A. J. McQuillan.  Raman spectra of pyridine adsorbed at a silver electrode.  Chem. Phys. Lett. 26 (1974) 163.
[31] M. Moskovits.  Surface-enhanced spectroscopy.  Rev. Mod. Phys. 57 (1985) 783.
[32] D. I. Jeanmaire and R. P. Van Duyne.  Surface Raman electrochemistry. Part I. Heterocyclic, aromatic and aliphatic amines adsorbed on the anodized silver electrode.  J. Electroanal. Chem. 84 (1977) 1.
[33] M. G. Albrecht and J. A. Creighton.  Anomalously intense Raman spectra of pyridine at a silver electrode.  J. Am. Chem. Soc. 99 (1977) 5215.
[34] H. Xu, J. Aizpurua, M. Kall and P. Apell.  Electromagnetic contributions to single-molecule sensitivity in surface-enhanced Raman scattering.  Phys. Rev. E 62 (2000) 4318.
[35] A. Otto, I. Mrozek, H. Grabhorn and W. Akemann.  Surface-enhanced Raman scattering.  J. Phys.: Condens. Matter 4 (1992) 1143.
[36] J. Gersten and A. Nitzan.  Electromagnetic theory of enhanced Raman scattering by molecules adsorbed on rough surfaces.  J. Chem Phys. 73 (1980) 3023.
[37] G. Boas.  Collidal particles improve surface-enhanced Raman scattering.  Biophoton. Intl. (January, 2004) 65.
[38] R. G. Freeman, K. C. Grabar, K. J. Allison, R. M. Bright, J. A. Davis, A. P. Guthrie, M. B. Hommer, M. A. Jackson, P. C. Smith, D. G. Walter and M. J. Natan.  Self-assembled metal colloid monolayers: an approach to SERS substrates.  Science 267 (1995) 1629.
[39] F. J. García-Vidal and J. B. Pendry.  Collective theory for surface enhanced Raman scattering.  Phys. Rev. Lett. 77 (1996) 1163.
[40] M. Kerker, D.-S. Wang and H. Chew.  Surface enhanced Raman scattering (SERS) by molecules adsorbed at spherical particles.  Appl. Opt. 19 (1980) 3373.
[41] C. L. Haynes and R. P. Van Duyne.  Plasmon-sampled surface-enhanced Raman excitation spectroscopy.  J. Phys. Chem. B 107 (2003) 7426.
[42] K. Kneipp, Y. Wang, H. Kneipp, L. T. Perelman, Irving Itzkan, R. R. Dasari, and M. S. Feld.  Single molecule detection using surface-enhanced Raman scattering (SERS).  Phys. Rev. Lett. 78 (1997) 1667.
[43] S. Nie and S. R. Emory.  Probing single molecules and single nanoparticles by surface-enhanced Raman scattering.  Science 275 (1997) 1102.
[44] J. Grand, M. L. de la Chapelle, J.-L. Bijeon, P.-M. Adam, A. Vial and P. Royer.  Role of localized surface plasmons in surface-enhanced Raman scattering of shape-controlled metallic particles in regular arrays.  Phys. Rev. B 72 (2005) 033407.
[45] M. Kerker.  Founding fathers of light scattering and surface-enhanced Raman scattering.  Appl. Opt. 30 (1991) 4699.
[46] H. J. Simon, D. E. Mitchell and J. G. Watson.  Optical second-harmonic generation with surface plasmons in silver films.  Phys. Rev. Lett. 33 (1974) 1531.
[47] J. C. Quail, J. G. Rako, H. J. Simon and R. T. Deck.  Optical second-harmonic generation with long-range surface-plasmons.  Phys. Rev. Lett. 50 (1983) 1987.
[48] A. Bouhelier, M. Beversluis, A. Hartschuh, and L. Novotny.  Near-field second-harmonic generation induced by local field enhancement.  Phys. Rev. Lett. 90 (2003) 013903.
[49] D. Sarid, R. T. Deck and J. J. Fasano.  Enhanced nonlinearity of the propagation constant of a long-range surface-plasma wave.  J. Opt. Soc. Am. 72 (1982) 1345.
[50] Y. J. Chen and G. M. Carter.  Measurement of third order nonlinear susceptibilities by surface plasmons.  Appl. Phys. Lett. 41 (1982) 307.
[51] M. H. Kryder, E. C. Gage, T. W. McDaniel, W. A. Challener, R. E. Rottmayer, G. Ju, Y-T. Hsia and M. F. Erden.  Heat assisted magnetic recording.  Proc. IEEE  96 (2008) 1810.
[52] L. Néel.  Théorie du traînage magnétique des ferromagnétiques en grains fins avec applications aux terres cuites.  Ann. Géophys. 5 (1949) 99.
[53] W. A. Challener, C. Peng, A. V. Itagi, D. Karns, W. Peng, Y. Peng, X. Yang, X. Zhu, N. J. Gokemeijer, Y.-T. Hsia, G. Ju, R. E. Rottmayer, M. A. Seigler and E. C. Gage.  Heat-assisted magnetic recording by a near-field transducer with efficient optical energy transfer.  Nature Phot. 3 (2009) 220.
[54] W. A. Challener, C. Mihalcea, C. Peng, and K. Pelhos.  Miniature planar solid immersion mirror with focused spot less than a quarter wavelength.  Opt. Exp. 13, (2005) 7189.
[55] L. Novotny and B. Hecht.  Principles of Nano-Optics (Cambridge:  Cambridge University Press, 2006).
[56] P. N. Prasad.  Principle of Nanophotonics (Hoboken:  John Wiley & Sons, 2004).
[57] V. M. Shalaev and S. Kawata, eds.  Nanophotonics with Surface Plasmons (Amsterdam:  Elsevier, 2007).
[58] M. L. Brongersma and P. G. Kik, eds.  Surface Plasmon Nanophotonics (Dordrecht:  Springer, 2007).
[59] W. L. Barnes, A. Dereux and T. W. Ebbesen.  Surface plasmon subwavelength optics.  Nature 424 (2003) 824.
[60] F. Keilmann.  Surface-polariton propagation for scanning near-field optical microscopy application.  J. Microsc. 194 (1999) 567.
[61] J. M. Steele, Z. Liu, Y. Wang and X. Zhang.  Resonant and non-resonant generation and focusing of surface plasmons with circular gratings.  Opt. Exp. 14 (2006) 5664.
[62] W. A. Challener.  Surface plasmon lens for heat assisted magnetic recording.  US2003/0128634  patent application (July 10, 2003).
[63] M. Stockman.  Nanofocusing of optical energy in tapered plasmonic waveguides.  Phys. Rev. Lett. 93 (2004) 137404.
[64] C. Genet and T. W. Ebbesen.  Light in tiny holes.  Nature 445 (2007) 39.
[65] H. A. Bethe.  Theory of diffraction by small holes.  Phys. Rev. 66 (1944) 163. 
[66] T. W. Ebbesen, H. J. Lezec, H. F. Ghaemi, T. Thio, and P. A. Wolff.  Extraordinary optical transmission through sub-wavelength hole arrays.  Nature 391 (1998) 667.
[67] H. F. Ghaemi, Tineke Thio, D. E. Grupp, T. W. Ebbesen and H. J. Lezec.  Surface plasmons enhance optical transmission through subwavelength holes.  Phys. Rev. B 58 (1998) 6779.
[68] A. Degiron, H. J. Lezec, N. Yamamoto and T. W. Ebbesen.  Optical transmission properties of a single subwavelength aperture in a real metal.  Opt. Commun. 239 (2004) 61.
[69] R. Wannemacher.  Plasmon-supported transmission of light through nanometric holes in metallic thin films.  Opt. Commun. 195 (2001) 107.
[70] H. J. Lezec, A. Degiron, E. Devaux, R. A. Linke, L. Martin-Moreno, F. J. Garcia-Vidal, and T. W. Ebbesen.  Beaming light from a subwavelength aperture.  Science 297 (2002) 820.
[71] M. Sarrazin, J.-P. Vigneron and J.-M. Vigoureux.  Role of Wood anomalies in optical properties of thin metallic films with a bidimensional array of subwavelength holes.  Phys. Rev. B 67 (2003) 085415.
[72] J. R. Krenn, H. Ditlbacher, G. Schider, A. Hohenau, A. Leitner and F. R. Aussenegg.  Surface plasmon micro- and nano-optics.  J. Microsc. 209 (2003) 167.
[73] H. Ditlbacher, J. R. Krenn, G. Schider, A. Leitner and F. R. Aussenegg.  Two-dimensional optics with surface plasmon polaritons.  Appl. Phys. Lett. 81 (2002) 1762.
[74] R. Li, A. Banerjee and H. Grebel.  The possibility for surface plasmon lasers.  Opt. Exp. 17 (2009) 1622.
[75] M. A. Noginov, G. Zhu, M. Mayy, B. A. Ritzo, N. Noginova and V. A. Podolskiy.  Stimulated emission of surface plasmon polaritons.  Phys. Rev. Lett. 101 (2008) 226806.
[76] A. Kumar, S. F. Yu, X. F. Li and S. P. Lau.  Surface plasmonic lasing via the amplification of coupled surface plasmon waves inside dielectric-metal-dielectric waveguides.  Opt. Exp. 16 (2008) 16113.
[77] D. J. Bergman and M. I. Stockman.  Surface plasmon amplification by stimulated emission of radiation: quantum generation of coherent surface plasmons in nanosystems.  Phys. Rev. Lett. 90 (2003) 027402. 
[78] L. R. Hirsch, R. J. Stafford, J. A. Bankson, S. R. Sershen, B. Rivera, R. E. Price, J. D. Hazle, N. J. Halas and J. L. West.  Nanoshell-mediated near-infrared thermal therapy of tumors under magnetic resonance guidance.  Proc. Nat. Acad. Sci. 100 (2003) 13549.
[79] Y. Wang.  Wavelength selection with coupled surface plasmon waves.  Appl. Phys. Lett. 82 (2003) 4385.
[80] S. Maruo, O. Nakamura and S. Kawata.  Evanescent-wave holography by use of surface-plasmon resonance.  Appl. Opt. 36 (1997) 2343.
[81] M. E. Caldwell and E. M. Yeatman.  Surface-plasmon spatial light modulators based on liquid crystal.  Appl. Opt. 31 (1992) 3880.
[82] C. Jung, S. Yee, and K. Kuhn.  Electro-optic polymer light modulator based on surface plasmon resonance.  Appl. Opt. 34 (1995) 946.