+ All Categories
Home > Documents > Algorithms for the calculation of scattering by stratified spheres

Algorithms for the calculation of scattering by stratified spheres

Date post: 02-Oct-2016
Category:
Upload: t-p
View: 214 times
Download: 0 times
Share this document with a friend
4
Algorithms for the calculation of scattering by stratified spheres Owen B. Toon and T. P. Ackerman Efficient, numerically stable, methods for the calculation of light-scattering intensity functions for concen- trically coated spheres are discussed. Earlier forms of these equations are subject to various numerical dif- ficulties which give rise to significant errors, especially for thin absorbing shells. The present equations are accurate for all refractive indices, for large and small particles, and for cores with any relative size. 1. Introduction Theoretical expressions describingthe light scattered by a particle composed of a spherical core surrounded by a concentric shell were developed many years ago by Aden and Kerker 1 and have been discussed in detail by Kerker. 2 Investigators have encountered several nu- merical problems using these equations, which we at- tempt to overcome in this paper. Espenscheid et al. 3 found that the use of upward re- cursion to evaluate the Bessel functions which appear in Kerker's equations produced large errors. Kattawar and Hood 4 found that the higher-order terms in the expansions for the scattered radiation field were subject to error because one must subtract large nearly equal terms which can result in a numerically meaningless remainder. Ackerman and Toon, 5 who studied scat- tering by particles slightly larger than the wavelength of light, which were covered by thin carbon shells, found that even the first term in the expansion for the scat- tered radiation field could be numerically invalid be- cause of the subtraction of large quantities to obtain a smaller one. In addition to these problems, Kerker's equations contain spherical Bessel functions whose magnitude increases exponentially with their argument and may easily exceed the capacity of modern com- puters. To circumvent these various difficulties, we have reformulated Kerker's 2 equations using many of the same techniques employed to prevent similar problems which arise in the equations for scattering by homogeneous spheres. 2 We shall first describe the equations we use to cal- culate the scattered radiation field and discuss their The authors are with NASA Ames Research Center, Space Science Division, Moffett Field, California 94035. Received 11 April 1981. numerical stability. Then we present the schemes we use to find the various terms which appear in the equations and illustrate the numerical stability of these schemes. Finally, we describe the checks we have performed to be certain that our complete computer code is numerically stable and accurate. II. Computational Equations The scattered radiation field is completely deter- mined by a series of coefficients which Kerker 2 denotes by a, and bn. For example, the extinction coefficient is given by Qeit = (2) E (2n + 1)[Re(an + bn)], (1) where a, the size parameter, is the product of r and the ratio of the particle diameter to the wavelength of light. The symbol Re denotes the real part of the complex quantity an + bn. Kerker's equations for an and bn contain three Ri- catti-Bessel functions and their derivatives. To obtain a numerically stable form of Kerker's equations, we performed four operations. First, we divided all the' equations by the appropriate terms to replace the Ri- catti-Bessel functions with their logarithmic derivatives. This technique, long used in standard Mie theory, cir- cumvents the exponential dependence of the functions on size parameter. Second, we formed ratios of the terms in the equations which could not be expressed as logarithmic derivatives, so that the ratios are bounded as the size parameter becomes large and as the core size becomes small. Third, we eliminated many of the Ri- catti-Bessel functions by using the fundamental rela- tions between them. Most of the problems in the original equations due to the subtraction of large terms to leave a small residual were caused by two Ricatti- Bessel functions converging to similar values. Ana- lytically expressing the Bessel functions in terms of each other eliminates these problems. Finally, to calculate 15 October 1981 / Vol. 20, No. 20 / APPLIED OPTICS 3657
Transcript

Algorithms for the calculation of scattering bystratified spheres

Owen B. Toon and T. P. Ackerman

Efficient, numerically stable, methods for the calculation of light-scattering intensity functions for concen-trically coated spheres are discussed. Earlier forms of these equations are subject to various numerical dif-ficulties which give rise to significant errors, especially for thin absorbing shells. The present equations areaccurate for all refractive indices, for large and small particles, and for cores with any relative size.

1. Introduction

Theoretical expressions describing the light scatteredby a particle composed of a spherical core surroundedby a concentric shell were developed many years ago byAden and Kerker1 and have been discussed in detail byKerker.2 Investigators have encountered several nu-merical problems using these equations, which we at-tempt to overcome in this paper.

Espenscheid et al. 3 found that the use of upward re-cursion to evaluate the Bessel functions which appearin Kerker's equations produced large errors. Kattawarand Hood4 found that the higher-order terms in theexpansions for the scattered radiation field were subjectto error because one must subtract large nearly equalterms which can result in a numerically meaninglessremainder. Ackerman and Toon,5 who studied scat-tering by particles slightly larger than the wavelengthof light, which were covered by thin carbon shells, foundthat even the first term in the expansion for the scat-tered radiation field could be numerically invalid be-cause of the subtraction of large quantities to obtain asmaller one. In addition to these problems, Kerker'sequations contain spherical Bessel functions whosemagnitude increases exponentially with their argumentand may easily exceed the capacity of modern com-puters. To circumvent these various difficulties, wehave reformulated Kerker's2 equations using many ofthe same techniques employed to prevent similarproblems which arise in the equations for scattering byhomogeneous spheres. 2

We shall first describe the equations we use to cal-culate the scattered radiation field and discuss their

The authors are with NASA Ames Research Center, Space ScienceDivision, Moffett Field, California 94035.

Received 11 April 1981.

numerical stability. Then we present the schemes weuse to find the various terms which appear in theequations and illustrate the numerical stability of theseschemes. Finally, we describe the checks we haveperformed to be certain that our complete computercode is numerically stable and accurate.

II. Computational Equations

The scattered radiation field is completely deter-mined by a series of coefficients which Kerker 2 denotesby a, and bn. For example, the extinction coefficientis given by

Qeit = (2) E (2n + 1)[Re(an + bn)], (1)

where a, the size parameter, is the product of r and theratio of the particle diameter to the wavelength of light.The symbol Re denotes the real part of the complexquantity an + bn.

Kerker's equations for an and bn contain three Ri-catti-Bessel functions and their derivatives. To obtaina numerically stable form of Kerker's equations, weperformed four operations. First, we divided all the'equations by the appropriate terms to replace the Ri-catti-Bessel functions with their logarithmic derivatives.This technique, long used in standard Mie theory, cir-cumvents the exponential dependence of the functionson size parameter. Second, we formed ratios of theterms in the equations which could not be expressed aslogarithmic derivatives, so that the ratios are boundedas the size parameter becomes large and as the core sizebecomes small. Third, we eliminated many of the Ri-catti-Bessel functions by using the fundamental rela-tions between them. Most of the problems in theoriginal equations due to the subtraction of large termsto leave a small residual were caused by two Ricatti-Bessel functions converging to similar values. Ana-lytically expressing the Bessel functions in terms of eachother eliminates these problems. Finally, to calculate

15 October 1981 / Vol. 20, No. 20 / APPLIED OPTICS 3657

(4)

(5)

(6)

the various terms in the equations, we derived expres-sions which are numerically stable for large values of sizeparameters and for recursion to higher order.

We find that a stable efficient algorithm isan '.(Z2) Ul(k1 + U2U3) - k3U2U4

rn(Z2 ) U5 (k1 + U2 U 3) - k3 U2 U4 (

n= 0(Z 2) U6(k2 + U7 U3 ) - k2 U7U 4 3~n(Z2) U8 (k2 + U 7U 3) - k2 U7 U4 (

where

U1 = k3s7n(Zl) - k2n (Z2)

- k3 77'(Z ) + n/(Z 2) - n-l( 2)__211k2 Z2J 1n(2

U 2 = k-1on'(Z4) k2?'n(Z3),

U3 = -i [rz (Z ) in(Z4) - An(Z4) +n(Z4)

U4 = [ln(Z4)/Pn(Z1)]

U5 = k3 7 11(zl) - k27R3(Z2)

= I~k3,1~Zj ni ____ .- (OJk

([k2 Z2J n (Z2 )

U6 = k2 7n1(Z) - k37 1n(Z2)

[k Z2 4n (Z2)= lk3 r/ zl) + z ]#^n(z2) - l6f-1(z2)} 3 2

U7 = k2 7l (Z4) - kol Z),

U8 = k2q7n1(Z1) -k377n(Z2)

= ([k2 t1(Z1) + n (Z2) n-&(2)} k3)

113 ~ Z21 ~Z)

where

On(Z) = Zjn(Z); in(Z) = spherical Bessel function,

n(z)= zh2(z); h= spherical Hankel function,

71nl(Z) = hn(Z)/On(Z),

1n(z) = n(Z)/n(Z)

and

k = m2ir/,

k2 = m,2r/X,

k3 = 27r/X,

Z1 = k2R,

Z2 = k3Rs,

z3 k,

Z4 = k2Rc,

m, = refractive index of core,

mg = refractive index of shell,

& = radius of core,

Rs = radius of entire particle.

The refractive indices are defined as m = nreal- inimaginary so they have a negative imaginary part.

Note that U1, U5 , U6, and U8 can be written in twoforms as with homogeneous Mie theory. If the second

form is used, a slight simplification is achieved, since17n(Z2 ) and n3 (Z2) need not be found. If the second al-ternate is used, 4n(Z2 ) and An(Z2) should be multipliedinto the bracket term.

Although Eqs. (2) and (3) are the equations we usedto compute an and bn, they can be rewritten in a fashionwhich provides more insight but is less stable numeri-cally:

+ U [U3 k 3 1 () U 4 hk2 k 2 U1 /IO

bn = bnh

[k 2 k 2 U5

| [U 3 k Ukh) ]*J 7 [k3 k 3

1 + U 7 U3 _ k2 t (Z2) 14 1Ik3 k3 U8 I

(13)

(7) Equations (12) and (13) are less stable than Eqs. (2)and (3) because of the U6 term which appears in thedenominator. However, Eqs. (3) and (4) present an and

(8) bn for a core-shell particle in terms of a simple correc-tion factor applied to the anh, bnh, which are the termsappropriate for a homogeneous particle with the re-fractive indices of the shell. The terms anh and bnh are

(9) the ratios U1JU5 and U6/U8.The magnitude of the correction for different core

(0) and shell refractive indices is controlled by U2 and U7which vanish if mc equals m. When mc and m, differ,the magnitude of the correction is controlled by the ratio

(11) of core size to shell size through the terms in bracketswhich multiply U2 and U7.

The numerical stability of Eqs. (2) and (3) resultsfrom two factors. First, all the expressions contain ei-ther logarithmic derivatives of Ricatti-Bessel functions,Ricatti-Bessel functions of a real argument, or ratios ofRicatti-Bessel functions which are bounded both forlarge values of size parameter and for small values of thecore radius. Second, all the subtractions involveidentical functions of different arguments or functionswhich are bounded and do not converge to similarlimits.

Ill. Computational Scheme

To compute the values of an and b specific algo-rithms must be chosen for the various functions. Wefound that a useful approach is to build the stratifiedparticle-scattering equations into a preexisting homo-geneous particle-scattering code such as the one de-scribed by Dave6 7 which is readily available or Wis-combe's 8 new code which is computationally more ef-ficient especially for array processors. This approachhas several advantages. The homogeneous codes al-ready solve for most of the needed functions in a mannerwhich has been tested for many years. In examiningcodes for stratified particles written by several inex-perienced workers, we found that the Bessel functionswere often calculated using the wrong recursion direc-tions, a problem that can be avoided by using a devel-oped homogeneous code as a framework. In addition,as Kattawar and Hood4 suggest, the higher-order an, bn

3658 APPLIED OPTICS / Vol. 20, No. 20 / 15 October 1981

\ 1J L

terms in the stratified scattering equations converge tothose for a homogeneous particle with the optical con-stants of the shell. Hence it is economical to use thehomogeneous equations for higher-order terms. Assuggested by Kattawar and Hood,4 we use homogeneousMie theory when n > z 3 and when (an - anh)/an and (bn- bnh)/bn are >10-9. Unlike Kattawar and Hood,4 wedo not do this to preserve numerical significance butsimply for economy. A final reason to embed thestratified equations in a homogeneous model is that thehomogeneous equations are less expensive to use thanthe stratified ones in the limit in which there is nocore.

The reader will note that many of the equations forthe Ui involve only the functions ' 1q(z), , V(z)n , n (Z).The function 17 (z) can be found from downward re-cursion, as has been done for homogeneous Mie theory.One chooses a large value of n = N, calculates the value71N, and then finds the smaller values using

1 =n+1 - 1 (14)

nn Z tn + 1 1nl

As discussed by Dave6 7 the easiest way to determine N

is to set it arbitrarily to 0.0 + i.0 and simply choose avalue of N somewhat larger than the largest value of nthat will be used in the computation. Wiscombe 8 dis-cusses an alternate scheme which is faster and moreeconomical of computer storage. For homogeneous Mietheory, values of q1(z) must be calculated and storedfor each n for one value of z. In stratified Mie theory,177.(z) must be calculated for z 1, z 3, and z4 , so three timesas much computer storage is required. We also find771(z2) using downward recursion. An alternate formof U1, U5, U6, and U8 is also given which does not in-volve 71(Z 2 ).

The next functions to be computed are 'n (Z2) andtn (Z2). These are functions of a real argument and aretherefore bounded. These are also needed for homo-geneous Mie theory and are calculated 6 by using upwardrecursion to find gn (Z2) and taking the real part to find4'n(Z2). Thus we use

6n(Z2) = Re[Mn(Z2)]

rn(Z2) = 2 n-1(Z2) - gn-2(Z2)- (15)Z2

P-1(Z2) = cOSz2 - i sinz2

DO(Z2) = sin(z 2 ) + i COSZ2

We are now able to compute U1, U5, U6, and U8which are identical to the numerators and denominatorsin homogeneous Mie theory. We can also find U2 andU7, which contain functions that can be generated usingthe same computational schemes as used in homoge-neous Mie theory.

The expressions for U3 and U4 involve 4'n and tn asfunctions of a complex argument. These cannot bedirectly evaluated because 4n is not bounded for largez. Instead we desire algorithms to calculate the ratiosof these terms which are bounded. We write

1. (Z4) .- n1(Z4) [1 (z ) + n/zil4n (ZA) ~n-&1 ) lZ4 qnl(Z4) + n

and utilize

'o(Z4) A sinx4 + Bi COSX4

4o(zl) C sinx 1 + Di cos x1

(16)

(17)

where

Z4= X4 + iY4,

Zi = Xi + iyl,

A = exp(2y4 + Y1) + exp(yi),

B = exp(2y4 + Yl) - exp(yi),

C = exp(2y, + y4) + exp(y4),

D = exp(2y, + Y4) - exp(y4).

Since both Yi and y4 are negative, no term in Eq. (17)becomes large as z becomes large. Since lY,1 > 1Y41, Aand B approach zero faster than C and D. Therefore,Eq. (17) tends to zero for large z. Also if z4 is zero, Eq.(16) becomes zero with no numerical difficulties.However, it is also simple to avoid z 4 being zero by usinghomogeneous Mie theory for very small cores.

Equation (16) is, of course, a form of recursion rela-tion, and it is important to determine how the errorspropagate when using the equation. The simple factthat the function is bounded does not guarantee that therecursion is stable. Suppose an error En-, is introduceddue to round-off of the last decimal place, then

e + tf(Z4) _ [4n-1(Z4) J[1ni (Zi) + n/Z

4n '(z ) 'Ln-l(Zl) 1 (Z4) + n/Z4

but using Eq. (16), this can be written as

(18)

[n'(zl) + n/zl= E-ln(Z 4) + fl/Z4

1 (9

Comparing Eq. (19) with Eq. (16) we see that the errorgrows just as rapidly as does the function. Hence thefractional error in 4n(Z4)/4n (z 1) is precisely the sameas the fractional error in 4,nV1 (z4)/n-l(z 1) It is ir-relevant if the term in brackets in Eq. (19) is larger orsmaller than unity because the fractional error is inde-pendent of n. Therefore, the fractional error does notgrow with n, and the algorithm is stable. Since theround-off error should be random, no net error shouldoccur. If any systematic round-off error occurred, theerrors would be additive and therefore would propagateon the order of one decimal place for each ten terms inthe series. Use of a computer with a large number ofdecimal places, such as CDC 7600 which has fourteendecimal places, will prevent any cumulative error frompropagating into significant decimal places for anyconceivable value of the size parameters. We haveconfirmed numerically that the error propagation be-haves as stated. We introduced a 50% error in the valueOf 4n (Z4)/n (Z1) for a small value of n (which was largerthan the arguments of the function so that the functionwas changing monotonically with n) and found that fora much larger value of n, the fractional error remained50%.

15 October 1981 / Vol. 20, No. 20 / APPLIED OPTICS 3659

The value of U 4 is, of course, completely determinedby Eq. (16). The term U3 contains Eq. (16) and as wellthe two terms n(Zl)4n(Z 4 ) and n( 4)0n(Z 4). Wewrite

~%(zi)ll(Z4) = ~ n-(Z1)(2-1(Z4)Z40)h[fl(z1) + n/zlI[Z47t1(Z4 ) + n]

tn(Z4)0'n(Z4) = +n-1(Z4)nn-1(Z4) 4 (21)[Z4nn(Z4) + nj[Z44n(Z4) + n]

where the initial values are

No(Z4)A0(z 4 ) = 12 + (sin2X4 - 1/2 + i COSX4 sinx4) exp(2y4) \

o(Z1)4o(Z4) = 1/2 [(sinxI sinx4 - cosxi COSX4)

+ i(sinx 4 cosx1 + COSX4 sinx1 )] exp(yi + yJ)+ 1/2 [(sinx1 sinx4 + cosxI COSX4)

+ i(sinx4 cosx1 - COSX4 sinxi)] exp(y1 - y4)

Since yj > Y41 and bothy1 andy 4 are negative, theinitial values are bounded as z becomes large. Thevalues are also bounded as Z4 approaches zero.

Following the previous argument used to examine theerror propagation in Eq. (16), it can be shown that therelative errors in calculating n Z4)t'n Z4) andtn(Zl)n (z4) are independent of n and therefore do notpropagate. We have also confirmed this numericallyby introducing an error and determining that its mag-nitude did not increase.

The final terms we must calculate are m73(Z4) andn7(zi). Kattawar and Plass9 have shown thatthese maybe calculated by upward recursion and that any errorsrapidly decrease with increasing n. We have numeri-cally confirmed the lack of error propagation by intro-ducing an error which was found to decay rapidly withincreasing n. The recursion relation is

n(Z) -+ [ - n-(z)j] (23)z z

and the initial value is

=(Z)=. (24)

IV. Test of the Algorithm

We checked our results for extinction efficiency fac-tors by comparing them with the tabulated values ofEspenscheid et al. 3 for real refractive indices, a sizeparameter of 10 for the total particle, and a large rangeof core sizes. We found agreement to the four decimalplaces that were reported by Espenschied et al.3 Wealso compared polarization and phase function with thegraphical results of Kattawar and Hood4 for water shellssurrounding carbon cores of moderate size and foundagreement within our ability to interpolate from theirgraphs.

Calculations were performed to test the program invarious limits. Ackerman and Toon5 present calcula-tions of single-scattering albedos for carbon cores sur-rounded by shells of sulfuric acid. As the shells shrinkin size the code smoothly approaches the pure carbonlimit, as determined from a homogeneous Mie code, tosix decimal places. Likewise calculations for carbonoverlying a pure sulfate core smoothly converge to theresults for pure sulfate as the shell thickness de-creases.

We also performed several tests, all of which werecorrect in comparison to homogeneous Mie theory to atleast six decimal places, for the asymmetry parameterand single-scattering albedo. These tests were done forvalues of the size parameter Z2 between 0.01 and 1000for a real refractive index of 1.5 and an imaginary indexof 0 or 1.5. The tests included setting the refractiveindices of the core and shell equal to each other, settingthe shell refractive indices equal to those of free space(1-Oi), and setting the core radius to be 10-5 of the shellradius, with core refractive indices that were twice aslarge as those of the shell. We also found that a metalparticle with Z2 = 1, R = .9R,, m = 1.5, and m =100-lOOOi had the same single-scattering albedo andasymmetry parameter (which is negative) to within onepart in 106 as a homogeneous metal particle with therefractive index of the shell, as would be expected.

These various tests show that the model is numeri-cally accurate even for values of the refractive indicesand core sizes that could cause Kerker's original equa-tions to fail. In particular, large values of z1 , Z3, and Z4would cause the Ricatti-Bessel functions in Kerker'sequation to be too large to evaluate numerically. Thecarbon shell cases discussed by Ackerman and Toon5

had numerical difficulties when using Kerker's equa-tions due to the subtraction of large nearly equal terms.The numerical difficulties expressed themselves by thefailure of the code to converge to the proper limits forthin carbon shells. The present equations avoid theseerrors. For applications of these new equations to someproblems of importance for atmospheric aerosols, thereader is referred to Ackerman and Toon.5

References1. A. L. Aden and M. Kerker, J. Appl. Phys. 22, 1242 (1951).2. M. Kerker, The Scattering of Light and Other Electromagnetic

Radiation (Academic, New York, 1969).3. W. F. Espenscheid, E. Willis, E. Matijevic, and M. Kerker, J.

Colloid Sci. 20, 501 (1965).4. G. W. Kattawar and D. A. Hood, Appl. Opt. 15, 1996 (1976).5. T. P. Ackerman and 0. B. Toon, Appl. Opt., 20, 3661 (1981).6. J. V. Dave, Report 320-3236, IBM Scientific Center, Palo Alto,

Calif. (1968).7. J. V. Dave, Appl. Opt. 8, 155 (1969).8. W. J. Wiscombe, NCAR/TN-140 (1979); Appl. Opt. 19, 1505

(1980).9. G. W. Kattawar and G. N. Plass, Appl. Opt. 6, 1377 (1967).

3660 APPLIED OPTICS / Vol. 20, No. 20 / 15 October 1981


Recommended