Home > atmlab > mie > mie_2.m

mie_2

PURPOSE ^

Low-frequency approximation of Mie Efficiencies for given

SYNOPSIS ^

function result = mie_2(m, x, xmax)

DESCRIPTION ^

 Low-frequency approximation of Mie Efficiencies for given 
 complex refractive-index ratio m=m'+im" 
 and size parameter x=k0*a, k0= wave number in ambient medium,  
 a=sphere radius using the complex Mie Coefficients an and bn 
 for n=1 to 2, p. 131 in Bohren and Huffman (1983) BEWI:TDD122.
 Result is m', m", x, efficiencies for extinction (qext), 
 scattering (qsca), absorption (qabs), backscattering (qb), 
 asymmetry parameter asy=<costeta> and qratio=qb/qsca.
 Uses the function "mieab_2" for the Mie Coefficients.
 C. M�zler, May 2002.

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

DOWNLOAD ^

mie_2.m

SOURCE CODE ^

0001 function result = mie_2(m, x, xmax)
0002 
0003 % Low-frequency approximation of Mie Efficiencies for given
0004 % complex refractive-index ratio m=m'+im"
0005 % and size parameter x=k0*a, k0= wave number in ambient medium,
0006 % a=sphere radius using the complex Mie Coefficients an and bn
0007 % for n=1 to 2, p. 131 in Bohren and Huffman (1983) BEWI:TDD122.
0008 % Result is m', m", x, efficiencies for extinction (qext),
0009 % scattering (qsca), absorption (qabs), backscattering (qb),
0010 % asymmetry parameter asy=<costeta> and qratio=qb/qsca.
0011 % Uses the function "mieab_2" for the Mie Coefficients.
0012 % C. M�zler, May 2002.
0013 
0014 if x==0
0015     result=[0 0 0 0 0 1.5];
0016 elseif x>xmax,
0017     result=[NaN, NaN, NaN, NaN, NaN, NaN];
0018 else,
0019     nmax=2;
0020     n1=nmax-1;
0021     n=(1:nmax);cn=2*n+1; c1n=n.*(n+2)./(n+1); c2n=cn./n./(n+1);
0022     x2=x*x;
0023     f=mieab_2(m,x);
0024     anp=(real(f(1,:))); anpp=(imag(f(1,:)));
0025     bnp=(real(f(2,:))); bnpp=(imag(f(2,:)));
0026     g1(1:4,nmax)=[0; 0; 0; 0];
0027     g1(1,1:n1)=anp(2:nmax);
0028     g1(2,1:n1)=anpp(2:nmax);
0029     g1(3,1:n1)=bnp(2:nmax);
0030     g1(4,1:n1)=bnpp(2:nmax);   
0031     dn=cn.*(anp+bnp);
0032     q=sum(dn);
0033     qext=2*q/x2;
0034     en=cn.*(anp.*anp+anpp.*anpp+bnp.*bnp+bnpp.*bnpp);
0035     q=sum(en);
0036     qsca=2*q/x2;
0037     qabs=qext-qsca;
0038     fn=(f(1,:)-f(2,:)).*cn;
0039     gn=(-1).^n;
0040     f(3,:)=fn.*gn;
0041     q=sum(f(3,:));
0042     qb=q*q'/x2;
0043     asy1=c1n.*(anp.*g1(1,:)+anpp.*g1(2,:)+bnp.*g1(3,:)+bnpp.*g1(4,:));
0044     asy2=c2n.*(anp.*bnp+anpp.*bnpp);
0045     asy=4/x2*sum(asy1+asy2)/qsca;
0046     qratio=qb/qsca;
0047     result=[qext qsca qabs qb asy qratio];
0048 end;

Generated on Mon 15-Sep-2014 13:31:28 by m2html © 2005