Description Returns the unpolarized Mie intensity function sampled along the polar axis from 0 to 180 degrees.
Syntax MieScatterIntensity( wavel, diam, sinang, nreal, nimag, nimmerse, count, intensity() )
Parameters wavel As Double Incident wavelength in microns.
diam As Double Particle diameter given in microns. Any particle density function is ignored.
sinang As Double Sine of the incident angle.
nreal As Double Real part of the particle refractive index.
nimag As Double Imaginary part of the particle refractive index.
nimmerse As Double Real part of refractive index for material in which the particle is immersed.
count As Long Number of sample points between 0 and 90 degrees.
intensity() As Double Mie intensity returned as an array of dimension 2N - 1, where N is the number of samples (count), covering a range of angles from 0 to 180 degrees.
Example The example below computes the Mie intensity function at a wavelength of 0.6328 microns for a single 10 micron diameter particle with a complex refractive index of n=1.53+0.0005i. The resulting intensity data is then printed to the output window.
Sub Main
Dim wavl As Double, pdiam As Double, sintheta As Double Dim nreal As Double, nimag As Double, nimmerse As Double Dim nsamps As Long Dim mieintensity() As Double
'Configuration parameters wavl = 0.6328 'microns pdiam = 10 'microns sintheta = Sin(DegToRad(0)) nreal = 1.53 nimag = 0.0005 nimmerse = 1.0 nsamps = 301
'Populate the intensity array MieScatterIntensity( wavl, pdiam, sintheta, nreal, nimag, nimmerse, nsamps, mieintensity() )
'Output array, mieintensity, has 2*nsamps - 1 points that subtend polar angles from 0 to 180 degrees. Dim curAng As Double, angStep As Double Dim curSamp As Long angStep = 180/(2*nsamps-2) Print "Angle (deg)" & Chr(9) & "Intensity" & Chr(9) & "Phase" For curSamp = 0 To UBound(mieintensity(),1)
Print curSamp*angStep; Print mieintensity(curSamp)
Next
End Sub
See Also
|