Calculates far-field properties (scattered field only) for PWE. Parameters: - stM: structure with results of the Mie computation can be obtained by calling PweSolveSingleSphere of MulPweSolveMultiSphere with sCoeff='coeff' - nNbTheta: integer scalar number of theta points used for computations - stPinTaun: structure (optional) with functions of theta pi_n and tau_n if omitted, then the functions are computed from scrath it is faster to pass this structure as argument if these functions have already been calculated Returns: structure stEfarSca with fields stEfarSca.x: [L x 1] stEfarSca.theta: [1 x T] stEfarSca.lambda: [L x 1] stEfarSca.S1: [L x T] S1 scattering amplitudes (see supplementary information) stEfarSca.S2: [L x T] S2 scattering amplitudes (see supplementary information) stEfarSca.Qsca: [L x 1] scattering coefficients computed from integrals over theta. Should be the same as obtained from PweQcoeff for consistency This file is part of the SPlaC v1.0 package (copyright 2008) Check the README file for further information
0001 % get theta dependence if not provided 0002 if nargin < 3 0003 theta=linspace(0,pi,nNbTheta); % row [1 x T] 0004 stPinTaun=PwePinTaun(stM.nNmax,transpose(theta)); % fields are [T x nNmax] 0005 end 0006 0007 % stM already contains fields cn1 and dn1 0008 stEsurf=PweEsurf(stM.lambda,stM.epsilonM,stM,Inf,nNbTheta,'scattering',stPinTaun); 0009 0010 stEfarSca.x=stM.x; 0011 stEfarSca.theta=stEsurf.theta; 0012 stEfarSca.lambda=stEsurf.lambda; 0013 stEfarSca.S1=-stEsurf.Esf; 0014 stEfarSca.S2=stEsurf.Ect; 0015 stEfarSca.Qsca=4*stEsurf.MLocParaAve./(stM.x).^2; % check Qsca from far-field average 0016 0017