Solves the EM problem of excitation of PSPP in the Otto configuration The Otto configuration is illustrated in Fig. 3.12(a) This is equivalent to a three-multilayer planar system (Prism/Dielectric/Metal). Note that the incident wave propagates in the prism, i.e the coupling from air to prism must be considered separately (see Sec. 3.4.5). This script simply defines the relevant parameters, calls the function PlnRefMulti to solve the EM problem, and provides examples of plots of the results. This file is part of the SPlaC v1.0 package (copyright 2008) Check the README file for further information
0001 %%%%%%%%%%%%%%%%%% 0002 % Parameters: 0003 %%%%%%%%%%%%%%%%%% 0004 0005 % Wavelengths and angles of incidence (inside the prism) 0006 % lambda (in nm) is column vector 0007 lambda=transpose(400:1:800); 0008 %lambda=633; 0009 0010 % aideg is row vector; angle of incidence in degrees 0011 aideg=0:1:89; % broad angle range 0012 %aideg=32:0.01:40; % ok for 633nm, nM=1.0 0013 %aideg=48:0.005:60; % ok for 633nm, nM=1.33 0014 0015 % Gap thickness in nm, i.e. thickness of dielectric region 0016 Lgap=500; % in nm, ok for 633nm, nM=1.33 0017 0018 0019 % Refractive indices: 0020 0021 % Prism, assumed a constant here 0022 nP=1.766; % Sapphire 0023 0024 % Dielectric gap (for PSPPs), assumed a constant here 0025 %nM=1.0; % Air 0026 nM=1.33; % Water 0027 0028 % Epsilon of Metal (column vector) 0029 epsMetal=epsAg(lambda); % Analytical expression for Ag 0030 %epsMetal=epsAu(lambda); % Analytical expression for Au 0031 0032 %%%%%%%%%%%%%%%%%%%%%%%%%% 0033 % Solution of the problem 0034 %%%%%%%%%%%%%%%%%%%%%%%%%% 0035 0036 % Defines Otto configuration, 2 interfaces, 3 layers 0037 % Prism/Dielectric/Metal 0038 % all epsilons must be columns (lambda dependent) 0039 % epsilon1 must be real positive 0040 nNbSurf=2; 0041 Cepsilon{1}=nP^2+0*lambda; % Prism 0042 Cepsilon{2}=nM^2+0*lambda; % Dielectric for PSPP 0043 Cepsilon{3}=epsMetal; % Metal 0044 CL{1}=0; % interfaces positions 0045 CL{2}=Lgap; 0046 0047 % solves the problem for TM waves 0048 stResTM=PlnMultiRef ('TM',nNbSurf, lambda, Cepsilon, CL, aideg); 0049 0050 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 0051 % Examples of post-processing 0052 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 0053 % see help of MultiRef for description of the results 0054 0055 0056 %Reflectivity (reflection coefficient $R^p=|r^p|^2$) 0057 % Rp is matrix [length(lambda) x length(aideg)] 0058 Rp=abs(stResTM.rP).^2; 0059 0060 % Local field intensity EF outside metal 0061 % i.e. on interface 2 outside 0062 Mperp=stResTM.MoutPerp{2}; 0063 Mpara=stResTM.MoutPara{2}; 0064 % Total LFIEF (with respect to field amplitude IN PRISM) 0065 M=Mperp+Mpara; 0066 0067 % plot examples 0068 0069 % 3D plot of Rp(aideg, lambda) 0070 surf(aideg, lambda,Rp); 0071 0072 % 2D plots of Rp(lambda) and Rp(aideg) 0073 scrsz = get(0,'ScreenSize'); % scrsz(3) contains screen width 0074 figAspectRatio=3; 0075 figWidth=3/4*scrsz(3); 0076 figure('Name','OttoPSPP', ... 0077 'Position',[(scrsz(3)-figWidth)/2 scrsz(4)-150-figWidth/figAspectRatio figWidth figWidth/figAspectRatio]); 0078 % plot of Rp(lambda) for given angle% plot of Rp(lambda) for given angle 0079 subplot(1,2,1); 0080 aideg_index=54; 0081 plot(lambda,Rp(:,aideg_index)); 0082 title(['Wavelength-dependent reflection coefficient for angle: ' num2str(aideg(aideg_index)) ' degrees']); 0083 0084 % plot of Rp(aideg) for given lambda 0085 subplot(1,2,2); 0086 lambda_index=234; 0087 plot(aideg,Rp(lambda_index,:)); 0088 title(['Angle-dependent reflection coefficient for lambda=' num2str(lambda(lambda_index)) ' nm']);