Home > SPlaC v1_0 > Mie > PWE > PweEFaverages.m

PweEFaverages

PURPOSE ^

Calculates surface-averaged EFs for PWE

SYNOPSIS ^

function stE=PweEFaverages(stE)

DESCRIPTION ^

 Calculates surface-averaged EFs for PWE
 The E field is specified as 3 [L x T] or [R x T] matrices
 in the sturcture stE containing Ecr, Ect, and Esf
 Ecr, Ect, Esf are discussed in the supplementary information.
 This is a low-level function called by PweEsurf and PweEmap.

 Parameters:
 - stE: structure with fields (LR is L or R)
   stE.Ecr: [LR x T] 
   stE.Ect: [LR x T] 
   stE.Esf: [LR x T] 
   stE.theta: [1 x T] row vector with theta's (equally-spaced
              between 0 and pi)

 Returns: same structure stE with the additional fields:
 - stE.MLocParaAve: [LR x 1] wavelength- or r-dependent average MLocPara
 - stE.MLocPerpAve: [LR x 1] wavelength- or r-dependent average MLocPerp
 - stE.MLocAve: [LR x 1] wavelength- or r-dependent average MLoc
 - stE.F0E4Ave: [LR x 1] wavelength- or r-dependent average SERS EF F^0_{E4}
 - stE.F0E4PerpAve: [LR x 1] wavelength- or r-dependent average SERS EF
                        F^0_{E4} for perpendicular component
 - stE.F0E4ParaAve: [LR x 1] wavelength- or r-dependent average SERS EF
                        F^0_{E4} for parallel component

 This file is part of the SPlaC v1.0 package (copyright 2008)
 Check the README file for further information

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 theta=stE.theta; % [1 x T]
0002 nNbTheta=length(theta); % T
0003 
0004 Ecr2theta=abs(stE.Ecr).^2;
0005 Ect2theta=abs(stE.Ect).^2;
0006 Esf2theta=abs(stE.Esf).^2;
0007 
0008 if nNbTheta==1
0009     disp 'PweEFaverages: only one theta, all averages will be set to zero.'
0010     dtheta=0;
0011 else
0012     dtheta=pi/(nNbTheta-1);
0013 end
0014 sintcolnorm=(dtheta/2)*transpose(sin(theta)); % [T x 1]
0015 
0016 % computes surface-averages (integrating
0017 % <f>=0.5*int(f(t)*sin(t)dt using a simple sums in the rectangle approximation)
0018 % Sums are computed as matrix [LR x T]* vector [T x 1] multiplication
0019 % All results are [LR x 1]
0020 
0021 % average LFIEF
0022 stE.MLocPerpAve=1/2* Ecr2theta * sintcolnorm;
0023 stE.MLocParaAve=1/2* (Ect2theta +Esf2theta) * sintcolnorm;
0024 stE.MLocAve=stE.MLocPerpAve+stE.MLocParaAve;
0025 
0026 % average SERS EF (E4 approximation)
0027 stE.F0E4Ave= ...
0028      (3/8* ( ((Ecr2theta+Ect2theta).^2+Esf2theta.^2) * sintcolnorm) + ...
0029      1/4* ( ((Ecr2theta+Ect2theta).*Esf2theta) * sintcolnorm) );
0030 % average SERS EF (E4 approximation - perpendicular component only)
0031 stE.F0E4PerpAve= 3/8* (Ecr2theta.^2) * sintcolnorm;
0032 % average SERS EF (E4 approximation - parallel component only)
0033 stE.F0E4ParaAve= 1/8* ( (3*(Ect2theta.^2+Esf2theta.^2) + 2*Ect2theta.*Esf2theta) * sintcolnorm );
0034

This web page is part of the SPlaC package © 2008. Contact: Eric Le Ru
Generated on Wed 03-Dec-2008 11:10:14 by m2html © 2003 (adapted)