We have developed an algorithm to calculate electric and magnetic fields inside and around a multilayered sphere. The algorithm includes explicit expressions for Mie expansion coefficients inside the sphere and calculation of the vector spherical harmonics in terms of the Riccati–Bessel functions and their logarithmic derivatives. This novel approach has been implemented in the new version of our program scattnlay. Scattnlay 2.0 will be the first publicly available (at GitHub, https://github.com/ovidiopr/scattnlay) program, based on the Mie theory, which can calculate near-fields for the general case of a multilayer sphere. Several tests were designed to verify that the results obtained with our code match literature results and those obtained through similar programs (limited to core-shell structures) or full-wave 3D simulations. These tests demonstrate that the implementation is effective, yielding accurate values of electric and magnetic fields for a wide range of size parameters, number of layers, and refractive indices. Program summaryProgram title: scattnlay 2.0Catalogue identifier: AEEY_v2_0Program summary URL:http://cpc.cs.qub.ac.uk/summaries/AEEY_v2_0.htmlProgram obtainable from: CPC Program Library, Queen’s University, Belfast, N. IrelandLicensing provisions: GNU GPL v3No. of lines in distributed program, including test data, etc.: 34502No. of bytes in distributed program, including test data, etc.: 851543Distribution format: tar.gzProgramming language: C++11.Computer: Any computer with a C++11 compiler.Operating system: Linux (any version), Windows, Solaris.RAM: 1 Mb–100 MbClassification: 1.3.Does the new version supersede the previous version?: YesNature of problem: The scattering of electromagnetic (EM) radiation by a multilayered sphere is an interesting phenomenon which has recently drawn a great attention for application of tailor-made nanostructures in several fields like medicine (optical imaging and photothermal cancer therapy), atmospheric sciences (to study light absorption by aerosols), design of invisibility cloaks, etc. Expressions of scattering coefficients seem to be simple and straightforward to implement; however, they involve several numerical difficulties that make most of the existent algorithms inapplicable to several common cases. An improved recursive algorithm that circumvents most of the numerical problems present in previous algorithms has been developed by Yang [1]. This algorithm has been implemented in our program [2] to calculate the far-field parameters. In the updated version we have developed and implemented an efficient algorithm for the calculation of electric and magnetic fields inside and around multilayered spheres. In addition to the near-field calculations, the program includes some new functionalities, such as the possibility of including a layer composed of a perfect electrical conductor.Solution method: Calculation of Mie scattering coefficients and efficiency factors for a multilayered sphere as described by Yang [1], combined with standard solutions of the scattering amplitude functions. Determination of electric and magnetic fields using an algorithm developed in this work.Reasons for new version: To include calculations of electric and magnetic fields inside and around the particle.Summary of revisions: The code has been ported to C++11, which has given a cleaner and faster implementation. A new algorithm has been devised and implemented to include the calculation of near electric and magnetic fields. Finally, several small bug fixes and improvements to the original code have been made.Restrictions: Single scattering and permeability of the layers fixed to unity. Large complex part of layers refractive index leads to convergence problems.Running time: Seconds to minutes
Read full abstract