The multilayered sphere: a recursive transfer matrix

Learn · Spheres · The multilayered sphere

Aden and Kerker solved the coated sphere in 1951 by writing out the boundary conditions at both interfaces and inverting the resulting 4×44\times 4 system. For a nanomatryoshka with four shells that route gives an 8×88\times 8 system, for a graded profile sampled in a hundred steps it is hopeless, and in every case the direct inversion is numerically fragile. The transfer-matrix formulation of the Foundations chapter does better: one 2×22\times 2 matrix per interface and per channel, multiplied inward or outward, with the same code for a plane wave and for a dipole inside or outside any shell. This section writes that recursion down in the form PyStratify implements, following Moroz (2005) and the STRATIFY paper.

The fields in each shell

Number the regions from the core outward, n=1,…,N+1n = 1, \dots, N + 1, the host being N+1N + 1; region nn has index nnn_n, wavenumber kn=nnk0k_n = n_n k_0 and permeability μn\mu_n, and the interface between nn and n+1n + 1 sits at rnr_n. In each region the electric field is a sum over the composite angular index L=(ℓ,m)L = (\ell, m) and the two polarizations p=Mp = M (magnetic, TE) and p=Ep = E (electric, TM) of a regular and an outgoing multipole,

E(r)=∑p,L[ApL(n) JpL(kn,r)+BpL(n) HpL(kn,r)],\mathbf{E}(\mathbf{r}) = \sum_{p, L}\left[A_{pL}(n)\,\mathbf{J}_{pL}(k_n, \mathbf{r}) + B_{pL}(n)\,\mathbf{H}_{pL}(k_n, \mathbf{r})\right],

where J\mathbf{J} and H\mathbf{H} are the vector multipole fields built on jℓj_\ell and hℓ(1)h^{(1)}_\ell with the normalised vector spherical harmonics YL(m)\mathbf{Y}^{(m)}_L, YL(e)\mathbf{Y}^{(e)}_L, YL(o)\mathbf{Y}^{(o)}_L (Jackson's; Bohren and Huffman's M\mathbf{M}, N\mathbf{N} give the same results). The magnetic field follows from H=−iεn/μn ∇×E/kn\mathbf{H} = -i\sqrt{\varepsilon_n/\mu_n}\,\nabla\times\mathbf{E}/k_n, which swaps JML\mathbf{J}_{ML} and JEL\mathbf{J}_{EL}: the magnetic multipole's H\mathbf{H} looks like an electric multipole's E\mathbf{E}, and vice versa. The amplitudes ApL(n)A_{pL}(n), BpL(n)B_{pL}(n) are the unknowns, two per region, per ℓ\ell, per polarization. Because the harmonics are orthogonal and the problem has spherical symmetry, nothing couples different LL or different pp: every channel (p,ℓ)(p, \ell) is a scalar problem of the Foundations type, and mm never appears in the matrices.

The transfer matrix of one interface

Continuity of the tangential E\mathbf{E} and H\mathbf{H} at rnr_n links the amplitudes on both sides. With the Riccati–Bessel functions ψℓ(z)=z jℓ(z)\psi_\ell(z) = z\, j_\ell(z), ζℓ(z)=z hℓ(1)(z)\zeta_\ell(z) = z\, h^{(1)}_\ell(z), the internal size parameter xn=knrnx_n = k_n r_n, the external one x~n=kn+1rn\tilde{x}_n = k_{n+1} r_n, and the relative index and permeability η~n=nn/nn+1\tilde{\eta}_n = n_n / n_{n+1}, μ~n=μn/μn+1\tilde{\mu}_n = \mu_n/\mu_{n+1}, the lowering matrix that carries the outer amplitudes to the inner ones for a magnetic multipole is

(AML(n)BML(n))=TMℓ−(n)(AML(n+1)BML(n+1)),TMℓ−(n)=−i(η~ ζℓ′(x) ψℓ(x~)−μ~ ζℓ(x) ψℓ′(x~)η~ ζℓ′(x) ζℓ(x~)−μ~ ζℓ(x) ζℓ′(x~)−η~ ψℓ′(x) ψℓ(x~)+μ~ ψℓ(x) ψℓ′(x~)−η~ ψℓ′(x) ζℓ(x~)+μ~ ψℓ(x) ζℓ′(x~)),\begin{pmatrix} A_{ML}(n) \\ B_{ML}(n) \end{pmatrix} = T^-_{M\ell}(n) \begin{pmatrix} A_{ML}(n+1) \\ B_{ML}(n+1) \end{pmatrix}, \qquad T^-_{M\ell}(n) = -i \begin{pmatrix} \tilde{\eta}\,\zeta_\ell'(x)\,\psi_\ell(\tilde{x}) - \tilde{\mu}\,\zeta_\ell(x)\,\psi_\ell'(\tilde{x}) & \tilde{\eta}\,\zeta_\ell'(x)\,\zeta_\ell(\tilde{x}) - \tilde{\mu}\,\zeta_\ell(x)\,\zeta_\ell'(\tilde{x}) \\ -\tilde{\eta}\,\psi_\ell'(x)\,\psi_\ell(\tilde{x}) + \tilde{\mu}\,\psi_\ell(x)\,\psi_\ell'(\tilde{x}) & -\tilde{\eta}\,\psi_\ell'(x)\,\zeta_\ell(\tilde{x}) + \tilde{\mu}\,\psi_\ell(x)\,\zeta_\ell'(\tilde{x}) \end{pmatrix},

with x=xnx = x_n, x~=x~n\tilde{x} = \tilde{x}_n and the subscript nn dropped on η~\tilde{\eta}, μ~\tilde{\mu}. The electric matrix TEℓ−T^-_{E\ell} is the same expression with η~\tilde{\eta} and μ~\tilde{\mu} interchanged, and the raising matrices T+=(T−)−1T^+ = (T^-)^{-1} have the same shape with the roles of xx and x~\tilde{x} exchanged and η~\tilde{\eta}, μ~\tilde{\mu} in the denominators. The prefactor −i-i is the inverse Wronskian ψℓζℓ′−ψℓ′ζℓ=i\psi_\ell\zeta_\ell' - \psi_\ell'\zeta_\ell = i, which is what makes the matrix exactly invertible; det⁡T±=η~μ~\det T^\pm = \tilde{\eta}\tilde{\mu} up to the normalisation of the fields, never zero.

Raising, lowering, and the two closing conditions

Multiplying the matrices of successive interfaces moves the pair of amplitudes through the whole onion:

(ApL(n)BpL(n))=Tpℓ(n)(ApL(1)BpL(1)),Tpℓ(n)=∏j=n−11Tpℓ+(j);(ApL(n)BpL(n))=Mpℓ(n)(ApL(N+1)BpL(N+1)),Mpℓ(n)=∏j=nNTpℓ−(j),\begin{pmatrix} A_{pL}(n) \\ B_{pL}(n) \end{pmatrix} = \mathcal{T}_{p\ell}(n)\begin{pmatrix} A_{pL}(1) \\ B_{pL}(1) \end{pmatrix}, \quad \mathcal{T}_{p\ell}(n) = \prod_{j = n-1}^{1} T^+_{p\ell}(j); \qquad \begin{pmatrix} A_{pL}(n) \\ B_{pL}(n) \end{pmatrix} = \mathcal{M}_{p\ell}(n)\begin{pmatrix} A_{pL}(N+1) \\ B_{pL}(N+1) \end{pmatrix}, \quad \mathcal{M}_{p\ell}(n) = \prod_{j = n}^{N} T^-_{p\ell}(j),

with Mpℓ(1)=Tpℓ(N+1)−1\mathcal{M}_{p\ell}(1) = \mathcal{T}_{p\ell}(N+1)^{-1}. For NN interfaces these are 2N2N equations for 2(N+1)2(N+1) amplitudes per channel; two more conditions close the system:

  • regularity at the centre: no outgoing (singular) wave emerges from the origin unless a source sits there, so BpL(1)=0B_{pL}(1) = 0;
  • the source: for a plane wave, the regular amplitude in the host is the known expansion of the incident wave, ApL(N+1)=ApLincA_{pL}(N+1) = A^{\mathrm{inc}}_{pL}, and the outgoing amplitude BpL(N+1)B_{pL}(N+1) is the scattered wave.

Writing Tpℓ(N+1)=(T11T12T21T22)\mathcal{T}_{p\ell}(N+1) = \begin{pmatrix} \mathcal{T}_{11} & \mathcal{T}_{12} \\ \mathcal{T}_{21} & \mathcal{T}_{22}\end{pmatrix} and applying both conditions gives the scattered amplitude in one line,

BpL(N+1)=T21T11 ApL(N+1),B_{pL}(N+1) = \frac{\mathcal{T}_{21}}{\mathcal{T}_{11}}\, A_{pL}(N+1) ,

so the whole multilayered sphere has been reduced to a homogeneous one with composite Mie coefficients aℓ,bℓ=T21/T11a_\ell, b_\ell = \mathcal{T}_{21}/\mathcal{T}_{11} (up to the sign convention of the outgoing wave). Every far-field formula of Mie theory, the efficiencies, the scattering pattern, the multipole decomposition, the Kerker conditions, holds unchanged with these coefficients; the near field in any shell is read off from the amplitudes T(n)\mathcal{T}(n) produced on the way. A dipole source in shell ndn_d changes only the second condition: the outgoing amplitude jumps by the dipole's own multipole expansion at rdr_d, and "no incoming wave from infinity" replaces the plane wave; the matrices are the same. That is the subject of the next section.

Numerical discipline

The elegance of the recursion hides two traps that have broken many published codes.

Growth of the Riccati–Bessel functions. For complex argument zz, ζℓ(z)\zeta_\ell(z) grows like e∣Im z∣e^{|\mathrm{Im}\,z|} and ψℓ(z)\psi_\ell(z) like e∣Im z∣e^{|\mathrm{Im}\,z|} too, while for ∣z∣≪ℓ|z| \ll \ell the pair behaves as zℓ+1z^{\ell+1} and z−ℓz^{-\ell}: inside a metal shell or at high orders, the matrix elements span hundreds of orders of magnitude and the products lose every digit or overflow. Yang's "improved recursive algorithm" and scattnlay avoid the worst of it with ratios and logarithmic derivatives of the Bessel functions. PyStratify goes one step further and carries each amplitude together with its logarithm, so that the growing factors are divided out before any product is formed and a sphere with a 2 nm silver shell at ℓ=500\ell = 500 is as safe as a glass bead at ℓ=5\ell = 5. The Verification page compares this recursion with the same formulas evaluated in 60-digit arithmetic, and with scattnlay and treams, down to 10−1110^{-11} in the cross sections and 10−1310^{-13} in the fields.

Truncation and the internal size parameter. Wiscombe's rule for the number of orders, ℓmax=x+4x1/3+2\ell_\mathrm{max} = x + 4x^{1/3} + 2 with xx the host size parameter, is designed for the far field of a homogeneous sphere. A high-index core, where the internal wavelength is short, and a dipole close to a surface both need more orders, so the engine takes the largest internal ∣m∣x|m| x into account and, for emitters, continues until the rates converge. The order count the calculator reports is this adaptive one.

The first application: plasmon hybridization

A metal shell on a dielectric core has two surfaces, and each supports a plasmon, that of a cavity in the metal and that of a sphere of metal. In a thin shell the two couple and split into a low-energy bonding and a high-energy antibonding mode, whose separation grows as the shell thins: the nanoshell's resonance can be tuned from the visible deep into the near infrared with the shell thickness alone, which is the basis of its use in photothermal therapy. Prodan, Radloff, Halas and Nordlander described this with a hybridization picture borrowed from molecular orbital theory, and demonstrated it on a nanomatryoshka, a nanoshell inside a nanoshell, whose two shell plasmons hybridize once more when the dielectric spacer between them is thin. In the transfer-matrix language all of this is in the composite coefficient a1a_1: four interfaces, four matrices, and the zeros of T11\mathcal{T}_{11} in the complex frequency plane are the hybridized modes.

References

  1. A. L. Aden and M. Kerker, J. Appl. Phys. 22, 1242 (1951), doi:10.1063/1.1699834
  2. A. Moroz, Ann. Phys. 315, 352 (2005), doi:10.1016/j.aop.2004.07.002
  3. I. L. Rasskazov, P. S. Carney and A. Moroz, OSA Continuum 3, 2290 (2020), doi:10.1364/OSAC.399979
  4. W. Yang, Appl. Opt. 42, 1710 (2003), doi:10.1364/AO.42.001710
  5. O. Peña and U. Pal, Comput. Phys. Commun. 180, 2348 (2009), doi:10.1016/j.cpc.2009.07.010
  6. E. Prodan, C. Radloff, N. J. Halas and P. Nordlander, Science 302, 419 (2003), doi:10.1126/science.1089171
  7. C. F. Bohren and D. R. Huffman, Absorption and Scattering of Light by Small Particles (Wiley, 1983), §8.1, doi:10.1002/9783527618156