[QEXT,QSCA,GQSC,SFORW,SBACK,S1,S2,TFORW,TBACK,PMOM,SPIKE] = ... MIEV0(XX,CREFIN,[PERFCT],[ANYANG],[XMU],[MIMCUT],[NMOM],... [IPOLZN])
Computes Mie scattering and extinction efficiencies; asymmetry factor; forward and backscatter amplitude; scattering amplitudes vs. scattering angle for incident polarization parallel and perpendicular to the plane of scattering; coefficients in the Legendre polynomial expansions of either the unpolarized phase function or the polarized phase matrix; some quantities needed in polarized radiative transfer; and information about whether or not a resonance has been hit. This MATLAB code is a transcription of the original FORTRAN code by Wiscombe (see references). Where possible, vectorization has been implemented. MOST input and internal variables and names have been preserved. NOTE : S1, S2, SFORW, SBACK, TFORW, AND TBACK are calculated internally for negative imaginary refractive index; for positive imaginary index, their complex conjugates are taken before they are returned, to correspond to customary usage in some parts of physics (in particular, in papers on cam approximations to Mie theory).
Parameters 
Description 
XX [scalar] 
Mie size parameter (2 * pi * radius / wavelength) 
CREFIN [scalar] 
Complex refractive index (imag part can be + or , but internally a negative imaginary index is assumed). If imag part is  , scattering amplitudes as in Van de Hulst are returned; if imag part is + , complex conjugates of those scattering amplitudes are returned (the latter is the convention in physics). ** % NOTE ** In the 'PERFECT' case, scattering amplitudes in the Van de Hulst convention will automatically be returned unless Im(CREFIN) is positive; otherwise, CREFIN plays no role. 
PERFCT [scalar] 
(Optional) If TRUE, assume refractive index is infinite and use special case formulas for Mie coefficients 'a' and 'b' (see Kerker, M., The Scattering of Light and Other Electromagnetic Radiation, p. 90). This is sometimes called the 'totally reflecting', sometimes the 'perfectly conducting' case. (See CREFIN for additional information). Default is FALSE. 
ANYANG [scalar] 
(Optional) If TRUE, any angles whatsoever may be input through XMU. If FALSE, the angles are monotone increasing and mirror symmetric about 90 degrees (this option is advantageous because the scattering amplitudes S1,S2 for the angles between 90 and 180 degrees are evaluable from symmetry relations, and hence are obtained with little added computational cost.) Default is TRUE. 
XMU [vector/scalar] 
If ANYANG is TRUE, cosines of angles at which S1,S2 are to be evaluated. If ANYANG is FALSE, then XMU can be the number of angles to use between 0 and 180 degrees inclusive (set to zero to skip computation of S1 and S2) or the angles at which to compute but must be mirror symmetric about 90 degrees. If ANYANG is false and XMU<=1, XMU will be interpreted as the angle cosine, ANYANG will be reset to true and S1 and S2 will be computed at the single angle acos(XMU). 
MIMCUT [scalar] 
(Optional) Positive value below which imaginary refractive index is regarded as zero (computation proceeds faster for 0 imaginary index). Default is 0. 
NMOM [scalar] 
Highest Legendre moment PMOM to calculate, numbering from zero (NMOM=0 prevents calculation of PMOM) 
IPOLZN [scalar] 
Specifies which Legendre moments to compute. If POSITIVE, compute the Legendre moments PMOM for the Mueller matrix elements determined by the digits of IPOLZN, with 1 referring to M1, 2 to M2, 3 to S21, and 4 to D21. E.g., if IPOLZN=14 then only moments for M1 and D21 will be returned, if IPOLZN=1234 all four moments will be returned. If 0, compute Legendre moments PMOM for the unpolarized unnormalized phase function. If NEGATIVE, compute Legendre moments PMOM for the Sekera phase quantities determined by the digits of ABS(IPOLZN), with 1 referring to R1, 2 to R2, 3 to R3, and 4 to R4. E.g., if IPOLZN=14 then only moments for R1 and R4 will be returned, if IPOLZN=1234 all four moments will be returned. 
Return Values 
Description 
QEXT [scalar] 
Extinction efficiency factor 
QSCA [scalar] 
Scattering efficiency factor 
GQSC [scalar] 
Asymmetry factor times scattering efficiency (allows calculation of radiation pressure efficiency factor QPR=QEXT  GQSC) 
SFORW [scalar] 
Complex forwardscattering amplitude S1 at 0 degrees, S2(0)=S1(0) 
SBACK [scalar] 
Complex backscattering amplitude S1 at 180 degrees, S2(180)=S1(180) 
S1 [vector] 
Complex Mie scattering amplitude for spol (perpendicular to the scattering plane) at angles specified. 
S2 [vector] 
Complex Mie scattering amplitude for ppol (parallel to the scattering plane) at angles specified. 
TFORW [vector] 
Complex values of: TFORW(1)=(S2  (MU)*S1) / (1  MU^2) and TFORW(2)=(S1  (MU)*S2) / (1  MU^2) at angle theta=0 (MU=COS(theta)=1), where the expressions on the righthand side are indeterminate. (These quantities are required for doing polarized radiative transfer.) 
TBACK [vector] 
Complex values of: TBACK(1)=(S2  (MU)*S1) / (1  MU^2) and TBACK(2)=(S1  (MU)*S2) / (1  MU^2) at angle theta=180 (MU=COS(theta)=1) 
PMOM [matrix] 
Moments M=0 to NMOM of unnormalized NPth phase quantity PQ moments with M>2*NTRM are zero, where NTRM=number of terms in Mie series. 
SPIKE [scalar] 
Magnitude of the smallest denominator of either Mie coefficient (asubn or bsubn), taken over all terms in the Mie series past N=size parameter XX. Values of SPIKE below about 0.3 signify a ripple spike, since these spikes are produced by abnormally small denominators in the Mie coefficients (normal denominators are of order unity or higher). Defaults to 1.0 when not on a spike. Does not identify all resonances. 
Copyright (c) 2009. All rights reserved.

What do you think about this topic? Send feedback!
