Skip to main content
Heliyon logoLink to Heliyon
. 2022 Nov 8;8(11):e11469. doi: 10.1016/j.heliyon.2022.e11469

PyMieLab_V1.0: A software for calculating the light scattering and absorption of spherical particles

Dengpan Ma 1, Paerhatijiang Tuersun 1,, Long Cheng 1, Yuxia Zheng 1, Remilai Abulaiti 1
PMCID: PMC9660733  PMID: 36387558

Abstract

Light scattering and absorption by small particles are widely used in fields such as biomedicine, information technology, and energy technology. However, their theoretical study requires not only a high level of knowledge in electromagnetism but also a high level of computer programming skills. To solve this problem, a software called PyMieLab (https://gitlab.com/Climb12/pymielab.git) for calculating the light scattering and absorption of spherical particles has been developed based on Mie theory. This software is interactive, versatile, visual, flexible, and scalable. It has a friendly graphical user interface and can be used as a numerical simulation platform for scientific research, as well as provides a rich database of particle refractive indices. Moreover, it offers a reliable research platform for discovering new optical properties of specific materials and exploring materials with better optical properties in related fields. This paper describes in detail the theoretical basis, the graphical user interface, the calculation functions, the operational and procedural processes, the features, and the numerical verification of the software. It illustrates the application value of the software with two simulation examples.

Keywords: Spherical particles, Light scattering and absorption, Mie theory, Graphical user interface, Python Qt


Spherical particles; Light scattering and absorption; Mie theory; Graphical user interface; Python Qt.

1. Introduction

With the development of science and technology, light scattering and absorption properties of small particles are used in various applications in biomedicine, energy technology, and information technology [1, 2]. For example, in the biomedical field, leukocytes are a good model of coated spheres. By studying the characteristics of light scattering and absorption by leukocytes, information such as size and concentration can be obtained. This provides good theoretical guidance for the design of high-end blood analysis medical instruments [3, 4]. In the field of energy technology, solar energy is the most sustainable green energy source. The main challenges for photothermal, photovoltaic, and photochemical power generation applications are light absorption and conversion efficiency. Because plasmonic metal nanoparticles have very large absorption cross-sections and tunable absorption spectra, they can effectively improve the light absorption and conversion efficiency of the energy conversion device [5, 6, 7]. The information storage technique based on the scattering effect, shape and size-dependent localized surface plasmon resonance (LSPR), and polarization have frequently been employed in reflective color printing technology [8, 9]. Therefore, the light scattering and absorption of small particles are of high research value.

Particles come in many shapes, spheres, plates, rods, horns, sponges, and more. Among them, spherical particles are the most common, and their optical properties can be studied by Mie theory. This theory is a rigorous analytical solution to the scattering of plane electromagnetic waves by spherical particles proposed by German physicist Mie [10, 11, 12]. In optical particle characterization and aerosol science, light scattering simulation is regarded as an indispensable tool to develop new particle characterization techniques or solve the problem of backscattering. Mie theory and related calculation methods have developed rapidly in the past decade, so it is easy to calculate the scattering of spherical particles with several orders of magnitude larger than the incident light. This significant progress stems from the rapid development of computing algorithms in this field and the improvement of computer hardware [13].

There are many Mie-based computer codes available on the network. Although most of them are open source, using them requires a high level of electromagnetism and programming skills, both of which are difficult for many academics to possess [14]. In response to this problem, some scholars have developed software with a graphical user interface (GUI). However, the computable materials are minimal, only some calculations of far-field parameters are done, and calculations of near-field parameters are unavailable. The software PyMieLab developed in this paper provides a refractive index database for particles, it contains 2841 sets of experimental data for 370 materials. There are 141 calculation modes for far-field and near-field optical parameters. PyMieLab realizes the visualization function of all calculated data. Although some groups of commercial software exist, many scholars are discouraged by the expensive license. The software presented in this paper is entirely open-source and free. In addition, it can be used as a numerical simulation platform for scientific research on the light scattering and absorption properties of spherical particles. The software is simple to install and has a friendly GUI. It also has a rich material refractive index database, which can attract researchers of related fields to explore new optical properties of popular materials. Researchers can also compare and investigate the optical properties of the same type of materials to find materials with better performance. At the end of the paper, the characteristics and application value of PyMieLab are further illustrated through two examples: (1) Resonance wavelength and extinction efficiency of various metal nanoparticles; (2) Scattering spectra and near-field distributions of Au–Ag alloy nanoparticles under different conditions. PyMieLab is free to download and use from this website https://gitlab.com/Climb12/pymielab.git.

2. Theoretical background

2.1. Mie theory

Mie theory is a rigorous analytical solution to the scattering of plane electromagnetic waves by spherical particles [10, 11, 12]. Mie theory has received significant attention since its inception, and it is still one of the most critical methods for studying light scattering and absorption of small particles. Mie theory has been deduced and described in detail in many monographs on light scattering and absorption of small particles. The object of study in this paper is the light scattering and absorption properties of spherical particles, and the most appropriate method of study is the classical Mie theory. The interaction between light and spherical particles is shown in Figure 1. Figure 1(a) shows a homogeneous sphere, where λ is the wavelength of the incident light, R is the radius of the particle, np is the refractive index of the particle, and nm is the ambient refractive index. Figure 1(b) shows a coated sphere, where R is the radius of the inner core, t is the thickness of the outer shell, nc is the refractive index of the inner core, ns is the refractive index of the outer shell, and nm is the ambient refractive index. The relevant formulas for light scattering and absorption by spherical particles are given below [11].

Figure 1.

Figure 1

Schematic of light interaction with the (a) homogeneous sphere and (b) coated sphere.

2.1.1. Far-field parameters

  • A.

    Efficiency and cross section

The extinction, scattering, and absorption efficiencies of a spherical particle are

Qext=2x2n=1(2n+1)Re(an+bn) (1)
Qsca=2x2n=1(2n+1)(|an|2+|bn|2) (2)
Qabs=QextQsca=2x2n=1(2n+1)[Re(an+bn)|an|2|bn|2] (3)

where x is the size parameter, x=2πRnm/λ for homogeneous sphere and x=2π(R+t)nm/λ for coated sphere, an and bn are the scattering coefficients.

The extinction, scattering, and absorption cross sections of a spherical particle are

Cext=2πk2n=1(2n+1)Re(an+bn) (4)
Csca=2πk2n=1(2n+1)(|an|2+|bn|2) (5)
Cabs=CextCsca=2πk2n=1(2n+1)[Re(an+bn)|an|2|bn|2] (6)

where k=2πnm/λ is the wavenumber of the incident light in the surrounding medium.

The backscattering efficiency and cross section of a spherical particle are

Qb=1x2|n=1(2n+1)(1)n(anbn)|2 (7)
Cb=πk2|n=1(2n+1)(1)n(anbn)|2 (8)

The asymmetry parameter and radiation pressure efficiency of a spherical particle are

g=Qsca<cosθ>=4x2[n=1n(n+2)n+1Re(anan+1+bnbn+1)+n=12n+1n(n+1)Re(anbn)] (9)
Qpr=QextQsca<cosθ> (10)
  • B.

    Scattered light intensity and polarization ratio

If the incident light is 100% polarized parallel to the scattering plane, the relative scattered light intensity (scattered irradiance per unit incident irradiance) is

ipar=|n2n+1n(n+1)(anτn+bnπn)|2 (11)

where πn and τn are the angle-dependent functions.

If the incident light is 100% polarized perpendicular to the scattering plane, the relative scattered light intensity is

iper=|n2n+1n(n+1)(anπn+bnτn)|2 (12)

If the incident light is unpolarized, the relative scattered light intensity is

iunp=(ipar+iper)/2 (13)

The polarization ratio

P=(iperipar)/(iper+ipar) (14)

is such that |P|≤1; if P is positive, the scattered light is partially polarized perpendicular to the scattering plane; if P is negative, the scattered light is partially polarized parallel to the scattering plane; the degree of polarization is |P|. Regardless of the size and composition of the sphere, P (0°) = P (180°) = 0.

2.1.2. Near-field parameters

The internal electric field (E1) and scattered electric field (Es) of a homogeneous spherical particle are

E1=n=1En(cnMoln(1)idnNeln(1)) (15)
Es=n=1En(ianNeln(3)bnMoln(3)) (16)

where En=inE0(2n+1)/n(n+1), E0 is the incident field amplitude, Moln and Neln are vector spherical harmonic functions, cn and dn are the internal field coefficients.

The formula of the scattering electric field of the coated sphere is the same as that of the homogeneous sphere, and the formula of the internal electric field of the core is the same as that of the internal electric field of the homogeneous sphere. The formula for the electric field of the shell (E2) is as follows

E2=n=1En(fnMoln(1)ignNeln(1)+vnMoln(2)iwnNeln(2)) (17)

where fn, gn, vn, and wn are the internal field coefficients.

2.2. Introduction to Python Qt

Python, developed by Guido van Rossum and released in early 1991, is a cross-platform, powerful, simple, and practical interpreted language with object-oriented programming capabilities. Thanks to its open-source nature, it is easy to use Python modules using libraries from other languages (especially C/C++) [15].

Qt is a cross-platform application with a C++ development library that supports various desktop platforms such as Windows, Linux, and macOS, as well as mobile platforms such as IOS and Android, and various embedded systems, making it a very widely used cross-platform C++ development library [16, 17].

Since Python has a weak GUI development library, Tkinter, developing a professional GUI with it is challenging. The good thing is that the open-source nature of the Python language makes it easy to encapsulate class libraries from other languages (especially C/C++) into Python bindings. The QtC++ class library is a widely used cross-platform GUI design library. Since Qt has an excellent C++ GUI class library, a PyQt was created from the combination of both. PyQt5 is a Python binding of the Qt5 C++ class library. Using PyQt5 to program in Python, Python’s rich scientific computing and graphical display features can be combined with PyQt5’s GUI design features to develop more professional Python GUI applications, facilitating the effective integration and presentation of research results [17, 18].

This paper uses PyQt5 for GUI application design, combining NumPy and Matplotlib to embed data visualization functions in the window interface of the GUI application, thus integrating the research results into a GUI application for interactive manipulation and presentation.

3. Introduction to PyMieLab_V1.0

3.1. Graphical user interface

The graphical user interface of PyMieLab_V1.0 is divided into five primary areas, as shown in Figure 2.

  • (1)

    Menu bar: The particle shape and the far/near field can be selected, and the environment and the particle refractive index can be set. Moreover, the software provides a complex refractive index database for particles. ‘Help’ provides the theoretical basis, how-to guides, typical examples, and information on software development.

  • (2)

    Toolbar: It contains shortcut buttons for common functions such as save data, save the image, exit, run, and restore.

  • (3)

    Image display area: It is used to display the calculation results.

  • (4)

    Parameter setting area: This area is used to select the optical parameters to be calculated, set the minimum, maximum, and step of the independent variables, and set other parameters related to the optical parameters. The current particle shape is visualized in the lower-left corner of this area.

  • (5)

    Progress bar and status bar: The progress bar visually shows the progress of the current job running in the program. The status bar shows the current particle shape, far∖near field, environment refractive index, particle refractive index, and the program’s elapsed time.

Figure 2.

Figure 2

The graphical user interface of PyMieLab.

The operation flowcharts and program flowcharts of the software are shown in Figures 3 and 4, respectively. The steps are as follows. First, selecting the particle shape, choosing the far-field or near field, then setting the refractive index of the ambient medium and the particle, followed by adjusting the physical parameters and variables to be calculated, then specifying the particle size and wavelength, and finally visualizing the obtained results in the software interface after clicking the ‘Run’ button. The software also provides customization of particle and ambient refractive indices, unit switching, and saving of the obtained data and images.

Figure 3.

Figure 3

Operation flowcharts of PyMieLab.

Figure 4.

Figure 4

Program flowcharts of PyMieLab.

3.2. Software functions

The software was developed based on Mie theory. It can compute the far-field and near-field parameters, as shown in Table 1. When the shape is coated sphere, the radius becomes core radius and shell thickness. There are 38 calculable functions in the far-field and 24 calculable functions in the near-field for the homogeneous sphere. Similarly, there are 55 calculable functions in the far-field and 24 calculable functions in the near-field for the coated sphere. The total number of calculable functions is 141.

Table 1.

Far-field and near-field parameters of a spherical particle in the PyMieLab.

Far/near field Parameters Variables
Far-field Relative scattered light intensities (iper, ipar, and iunp) Scattering angle
Polarization (P) Scattering angle
Extinction, scattering, and absorption efficiencies and cross sections (Qext, Qsca, Qabs, Cext, Csca, and Cabs) Radius ∖ Wavelength
Backscattering efficiency and cross section (Qb and Cb) Radius ∖ Wavelength
Volumetric extinction, scattering, and absorption coefficients (Aext, Asca, and Aabs) Radius ∖ Wavelength
Asymmetric parameter (g) Radius ∖ Wavelength
Radiation pressure efficiency (Qpr) Radius ∖ Wavelength
Near-field Internal electric field (Ei) Space ∖ Time
Scattered electric field (Es) Space ∖ Time
Total electric field (Et) Space ∖ Time

The interface of the particle refractive index database is shown in Figure 5. This database contains four categories of materials: simple inorganic materials, glass, organic materials, and miscellaneous materials. It contains 370 materials and 2841 sets of experimental data from the website https://refractiveindex.info. If the ‘Detailed Information’ button is clicked, the reference, wavelength range, and refractive index data of the selected material will be displayed in detail. It is important to note that the wavelength of light used in the calculation must be within this wavelength range. Cubic spline interpolation is used to obtain the complex refractive index at any wavelength within this range.

Figure 5.

Figure 5

The interface of the material refractive index database.

3.3. Software features and strengths

The main features and strengths of PyMieLab_V1.0 are summarized below:

  • (1)

    Interactivity: PyMieLab provides a friendly GUI with many interactive menu bars, tools, and buttons. All physical and geometric parameters can be changed anytime before clicking the ‘Run’ button. The software also provides a progress bar at the bottom of the interface showing the current progress of the program, a status bar showing in real-time the physical and geometric parameters in the menu bar and their values, as well as the time required for the program to run.

  • (2)

    Diversity: The physical and geometric parameters included in PyMieLab can be customized. Environment and particle refractive indices can be imported from user files. It also provides a refractive index database with 2841 sets of experimental data for 370 materials. Such a wide variety of materials makes it possible for researchers to explore new optical properties or better optical properties of materials.

  • (3)

    Visibility: PyMieLab realizes the visualization of all the calculated physical parameters. It also can display the time-varying images for the electric field distribution of particles in different planes. If the user has other needs for the resulting image, the text data can be exported to plot figures by using other scientific drawing tools.

  • (4)

    Flexibility: The function of PyMieLab enables it to be used as a numerical simulation platform. Users can run, interrupt, resume, modify, and restart the simulation anytime. The flexibility is also reflected in the fact that this software can run on any computer with mainstream operating systems such as Windows, Linux, and Mac, without configuring other environments.

  • (5)

    Extensibility: PyMieLab provides a help file. It contains the formulae related to each function and the corresponding codes. One can directly copy and use the codes. This software strictly follows the design concept of program modularization. It greatly improves the scalability of the software.

There are many Mie-based codes/software available on the network. The main functions of the PyMieLab and the best-known codes/software are summarized in Table 2. It is seen that PyMieLab has some advantages compared with similar codes/software. Firstly, PyMieLab can calculate more optical parameters including far-field and near-field parameters. Moreover, it can calculate 141 different cases. Secondly, PyMieLab provides a particle refractive index database with 2841 sets of experimental data for 370 materials. Lastly, PyMieLab has a friendly GUI with many interactive menu bars, tools, and buttons. PyMieLab also has limitations. It only provides electromagnetic scattering calculations for homogeneous spheres and coated spheres, and cannot calculate the Albedo. In the future, electromagnetic scattering calculations for more complex particles will be implemented.

Table 2.

Main functions of the PyMieLab and the best-known Mie-based codes/software.

Code PyMieLab MiePlot ScatLab MieLab Miepython PyMieScatt
Homogeneous sphere
Coated sphere
iper, ipar, iunp
P
Qext, Qabs, Qsca
Cext, Cabs, Csca
Aext, Aabs, Asca
Qback, Cback,Aback
Qpr
g
Albedo
Ei, Es
GUI
Refractive index database

The authors and website addresses of the above codes/software are listed below.

3.4. Numerical verification

The most trustworthy criterion for testing the theory is an agreement between theoretical simulation results and experimental data. To test PyMieLab’s accuracy in modeling the optical properties of metal nanoparticles, we compared the computation results with the experimental findings on the resonance wavelengths of gold nanoparticles in the literature, as shown in Figure 6. We calculated the resonance wavelengths of gold nanospheres with diameters of 10–100 nm in water [20], and it was compared with the experimental data from Link [21] and Njoki [22]. For theoretical calculations, PyMieLab used the refractive indices of gold measured by Babar [23], Johnson [24], Mcpeak [25], and Yakubovsky [26], respectively. It can be seen that the resonance wavelength of the gold nanospheres is between 510 and 580 nm and increases with the diameter. The numerical calculation results are consistent with the experimental measurement results, but there is a small deviation. This may be due to the following aspects. Firstly, the size-dependent dielectric function of gold nanoparticles is not considered in our calculation. Secondly, the quality, purity, and surface smoothness of nanoparticles affect their optical properties.

Figure 6.

Figure 6

Comparison between theoretical and experimental results of resonance wavelengths of gold nanospheres with different diameters in water.

To further verify the accuracy of PyMieLab, the extinction efficiency and asymmetric parameter of a gold nanosphere with a diameter of 100 nm in vacuum were calculated using PyMieLab, PyMieScatt, and MiePlot. The results are displayed in Table 3. The refractive indices at different wavelengths are derived from experimental data in the published paper [23]. It can be seen from the table that the theoretical results calculated by PyMieLab and the other two software are completely consistent, and all data in PyMieLab can be accurate to 16 decimal places.

Table 3.

Comparison of the calculation results of the extinction efficiency and asymmetry parameter of a gold nanosphere with a diameter of 100 nm in vacuum by different software.

Wavelength Refractive index Extinction efficiency
Asymmetric parameter
PyMieLab PyMieScatt MiePlot PyMieLab PyMieScatt MiePlot
302.4 1.54 + 1.81j 3.31450963 3.31450963 3.31450963 0.14445532 0.14445532 0.14445532
399.9 1.57 + 1.84j 2.93480823 2.93480823 2.93480823 0.06379033 0.06379033 0.06379033
495.9 0.86 + 1.63j 3.34653968 3.34653968 3.34653968 0.03130482 0.03130482 0.03130482
590.4 0.18 + 2.88j 1.06333536 1.06333536 1.06333536 0.02284994 0.02284994 0.02284994
688.8 0.09 + 3.87j 0.27618045 0.27618045 0.27618045 0.04691022 0.04691022 0.04691022
826.6 0.08 + 5.05j 0.09782664 0.09782664 0.09782664 0.06622560 0.06622560 0.06622560

Theoretically, Mie theory can be used to spherical particles of arbitrary size. Actually, when the size is less than 10 nm, the quantum size effect will affect its physical properties [27]. It has been demonstrated that Mie theory can now be successfully applied to size parameter up to 10,000 [12, 28]. We tested the maximum size parameter of the software under following conditions: the refractive index of particle and environment are 1.33 + 0.01j and 1.0, respectively, and the light wavelength is 632.8 nm. The maximum size parameter that can be calculated is 70,000.

4. Simulation results and discussion

When light interacts with metal nanoparticles, localized surface plasmon resonance (LSPR) occurs [1, 2], and the metal nanoparticles will strongly absorb and scatter the incident light at the resonance wavelength. In contrast, the local electric field near the surface of the metal nanoparticles will be significantly enhanced. To further validate the features of PyMieLab_V1.0 and the rich database of materials, metallic materials with distinct resonance peaks in the visible range were selected to test the program. In the testing example, the resonance wavelength and maximum extinction efficiency of metal nanoparticles, as well as the scattering cross-section and surface enhancement effect of Au–Ag alloy nanoparticles, are analyzed to show the application value of this software.

4.1. Resonance wavelength and maximum extinction efficiency of metal nanoparticles

As shown in Figure 3, the relevant parameters are set in PyMieLab_V1.0, and 12 metal materials such as Au [23], Ag [23], Cu [23], K [29], Mg [30], Na [31], Pd [32], Pt [32], Al [25], Li [33], Ca [34], Rb [35] are selected in turn. The distribution of the resonance wavelength of spherical metal nanoparticles with a diameter of 80 nm in the visible light range in the vacuum environment medium, and the distribution of the maximum extinction efficiency corresponding to the resonance wavelength are obtained, as shown in Figure 7. It can be seen that, metal materials such as Mg, Pd, Al, and Pt have smaller resonance wavelengths, and K, Rb, Au, and Cu have larger resonance wavelengths. K, Na, Rb, and Ag have large extinction efficiency in the visible light range, while the maximum extinction efficiency of other materials is relatively low.

Figure 7.

Figure 7

Resonance wavelength and maximum extinction efficiency of metal nanoparticles (80 nm in diameter).

Based on the above data, the resonance wavelengths of metal nanoparticles with diameters from 40 nm to 100 nm in the visible range and the corresponding maximum extinction efficiency were obtained in PyMieLab_V1.0, as shown in Figure 8. When the particle size gradually increases, the period of electron motion also increases, the vibration frequency gradually decreases, leading to a decrease in the resonance frequency and an increase in the resonance wavelength. In Figure 8(a) and (b), the resonance wavelengths of Au and Cu increase slowly with particle size, while the other metallic nanomaterials show the same redshift phenomenon. In Figure 8(b) and (d), we can see that the maximum extinction efficiency of Au and Cu increases gradually with the increase of particle size. The maximum extinction efficiency of Mg decreases gradually with the increase of particle size. In contrast, the maximum extinction efficiency of other metallic nanoparticles increases first and then decreases with the increase of particle size.

Figure 8.

Figure 8

Variation of (a) resonance wavelength and (b) maximum extinction efficiency of Ag, K, Na, Al, Pt and Au nanoparticles with particle diameter. Variation of (c) resonance wavelength and (d) maximum extinction efficiency of Mg, Pd, Li, Ca, Cu, and Rb nanoparticles with particle diameter.

4.2. Scattering cross section and surface enhancement effects of Au–Ag alloy nanoparticles

Light scattering and surface enhancement effects are widely used in biological imaging, biosensors and biological detection [1]. For scattering cross-section and surface enhancement effects calculations, we selected an Au–Ag alloy [36] nanoparticle diameter of 80 nm in PyMieLab_V1.0, with the ambient medium as a vacuum. The calculated scattering spectra with components of Au (xAu) in 20%, 40%, 60%, and 80%, respectively, are shown in Figure 9(a). It can be seen that the Au–Ag alloy has a smaller scattering cross-section with the increase of the Au composition in the wavelength range from 370 nm to 500 nm, and the resonance wavelength has a redshift. Figure 9(b) shows the near-field distribution of Au–Ag alloy nanoparticles with different compositions at the scattering resonance wavelength. It can be seen from Figure 9(b) that the local electric field near the surface of Au–Ag alloy nanoparticles is greatly enhanced. With the increase of Au composition, the surface enhancement effect of Au–Ag alloy nanoparticles at the resonance wavelength is weakened. Therefore, we can control the scattering cross-section and surface electric field strength by changing the composition of Au–Ag alloy nanoparticles.

Figure 9.

Figure 9

(a) Scattering spectra and (b) near-field distribution at resonance wavelengths of spherical Au–Ag alloy nanoparticles (80 nm diameter) with different components in vacuum.

Since it can be seen in Figure 9(a) that the Au_Ag alloy has a larger scattering cross section when the Au composition is 20%, we select Au–Ag alloy nanoparticles with Au composition of 20% in the next step, and the ambient medium is still vacuum. The scattering spectra of Au–Ag alloy nanoparticles with diameters of 40 nm, 60 nm, 80 nm, and 100 nm are calculated, as shown in Figure 10(a). It can be seen that Au–Ag alloy nanoparticles have a larger scattering cross-section in the visible range as the particle size increases. Hence, the scattering cross-section can be adjusted by adjusting the size of Au–Ag alloy nanoparticles. Figure 10(b) shows the near-field distribution of Au–Ag alloy nanoparticles with varied sizes at the resonance wavelength. It can be seen that the local electric field near the surface of Au–Ag alloy nanoparticles is greatly enhanced. The surface enhancement effect of Au–Ag alloy nanoparticles enhances first and then weakens with the increase of size.

Figure 10.

Figure 10

(a) Scattering spectra and (b) near-field distribution at resonance wavelengths of spherical Au–Ag alloy nanoparticles of the same (20% Au) composition and varied sizes in vacuum.

We also obtained the scattering spectra and the near-field distribution at the corresponding resonance wavelengths of Au–Ag alloy nanoparticles (80 nm diameter), with the same composition (xAu = 20%) but different environmental media (Vacuum, Water [20], Tissue [37], Glass [38]) by PyMieLab_V1.0, as shown in Figure 11. From Figure 11(a), it can be seen that the resonance wavelengths of Au–Ag alloy nanoparticles are red-shifted and have larger scattering cross-section extremes with the increase of the ambient refractive index. Therefore, the scattering cross-section and resonance wavelength can also be modulated by changing the ambient medium around the nanoparticles. Figure 11(b) shows that the local electric field near the surface of Au–Ag alloy nanoparticles is greatly enhanced under different ambient refractive indices. When the environmental medium is glass, the surface enhancement effect of Au Ag alloy nanoparticles is the weakest.

Figure 11.

Figure 11

(a) Scattering spectra and (b) near-field distributions at resonance wavelengths of spherical Au–Ag alloy nanoparticles of the same size (80 nm diameter) and composition (20% Au) in different environmental media (vacuum, water, tissue, and glass).

5. Conclusion

In this paper, we have developed a program, PyMieLab_V1.0, a numerical simulation and visualization software for calculating the light scattering and absorption properties of spherical particles (homogeneous spheres and coated spheres). The software is open-source, free of charge, feature-rich, easy to install, and with a friendly graphical user interface and robust scalability. It can reduce the difficulty of studying the light scattering and absorption properties of small particles and provide convenience to researchers in related fields without programming ability. The rich database of material refractive indices allows researchers to explore new optical properties or better optical performance of materials. To present the application value of PyMieLab_V1.0, two simulation examples are presented in this paper. The first example obtains the resonance wavelength and maximum extinction efficiency distribution of various metal nanoparticles. The second example shows that the scattering cross-section, resonance wavelength, and surface electric field strength can be regulated by changing the composition, size, and ambient medium of Au–Ag alloy nanoparticles. Theoretical guidance is provided for related applications. In the future, three crucial improvements will be made: First, the calculation of light scattering and absorption of multilayer spheres [19, 39] will be implemented. Second, the T-matrix [40, 41] algorithm will be added to realize the calculation of light scattering and absorption of particles with rotational symmetry. Third, the discrete dipole approximation [42, 43] is also considered to realize the calculation of light scattering and absorption properties of arbitrarily shaped particles.

Declarations

Author contribution statement

Dengpan Ma: Performed the experiments; Analyzed and interpreted the data; Wrote the paper.

Paerhatijiang Tuersun: Conceived and designed the experiments; Analyzed and interpreted the data; Wrote the paper.

Long Cheng; Yuxia Zheng; Remilai Abulaiti: Contributed reagents, materials, analysis tools or data.

Funding statement

Dr. Paerhatijiang Tuersun was supported by Natural Science Foundation of Xinjiang Uygur Autonomous Region [Grant No. 2021D01A116], National Natural Science Foundation of China [Grant No. 11764042].

Dengpan Ma was supported by Research Fund of Xinjiang Normal University Research Platform Student Project [KWFG202210].

Data availability statement

Data included in article/supp. material/referenced in article.

Declaration of interest’s statement

The authors declare no conflict of interest.

Additional information

No additional information is available for this paper.

References

  • 1.Wang L., Hasanzadeh Kafshgari M., Meunier M. Optical properties and applications of plasmonic-metal nanoparticles. Adv. Funct. Mater. 2020;30 [Google Scholar]
  • 2.Garcia M.A. Surface plasmons in metallic nanoparticles: fundamentals and applications. J. Phys. Appl. Phys. 2012;45 [Google Scholar]
  • 3.Loo C., Lowery A., Halas N., West J., Drezek R. Immunotargeted nanoshells for integrated cancer imaging and therapy. Nano Lett. 2005;5:709–711. doi: 10.1021/nl050127s. [DOI] [PubMed] [Google Scholar]
  • 4.Gobin A., Lee M.H., Halas N., James W., Drezek R., West J. Near-Infrared resonant nanoshells for combined optical imaging and photothermal cancer therapy. Nano Lett. 2007;7:1929–1934. doi: 10.1021/nl070610y. [DOI] [PubMed] [Google Scholar]
  • 5.Jang Y.H., Jang Y.J., Kim S., Quan L.N., Chung K., Kim D.H. Plasmonic solar cells: from rational design to mechanism overview. Chem. Rev. 2016;116:14982–15034. doi: 10.1021/acs.chemrev.6b00302. [DOI] [PubMed] [Google Scholar]
  • 6.Ueno K., Oshikiri T., Sun Q., Shi X., Misawa H. Solid-state plasmonic solar cells. Chem. Rev. 2018;118:2955–2993. doi: 10.1021/acs.chemrev.7b00235. [DOI] [PubMed] [Google Scholar]
  • 7.Ali A., El-Mellouhi F., Mitra A., Aïssa B. Research progress of plasmonic nanostructure-enhanced photovoltaic solar cells. Nanomaterials. 2022;12:788. doi: 10.3390/nano12050788. [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 8.Gu Y., Zhang L., Yang J.K.W., Ping Yeo S., Qiu C.-W. Color generation via subwavelength plasmonic nanostructures. Nanoscale. 2015;7:6409–6419. doi: 10.1039/c5nr00578g. [DOI] [PubMed] [Google Scholar]
  • 9.Miyata M., Hatada H., Takahara J. Full-color subwavelength printing with gap-plasmonic optical antennas. Nano Lett. 2016;16:3166–3172. doi: 10.1021/acs.nanolett.6b00500. [DOI] [PubMed] [Google Scholar]
  • 10.van de Hulst H.C. Dover Publications; New York: 1981. Light Scattering by Small Particles. [Google Scholar]
  • 11.Bohren C.F., Huffman D.R. Wiley; New York: 1983. Absorption and Scattering of Light by Small Particles. [Google Scholar]
  • 12.Hergert W., Wriedt T., editors. The Mie Theory. Springer Berlin Heidelberg; Berlin, Heidelberg: 2012. [Google Scholar]
  • 13.Barber P.W. Absorption and scattering of light by small particles. J. Colloid Interface Sci. 1984;98:290–291. [Google Scholar]
  • 14.Wriedt T. Light scattering theories and computer codes. J. Quant. Spectrosc. Radiat. Transf. 2009;110:833–843. [Google Scholar]
  • 15.Xu S. Chapman and Hall/CRC; New York: 2022. An Introduction to Scientific Computing with Matlab® and Python Tutorials. [Google Scholar]
  • 16.Summerfield M. Prentice-Hall; Upper Saddle River, NJ: 2008. Rapid GUI Programming with Python and Qt: the Definitive Guide to PyQt Programming. [Google Scholar]
  • 17.Harwani B.M. Packt; Birmingham: 2018. Qt5 Python GUI Programming Cookbook: Building Responsive and Powerful Cross-Platform Applications with PyQt. [Google Scholar]
  • 18.Meier B.A. third ed. Packt; Birmingham Mumbai: 2019. Python GUI Programming Cookbook: Develop Functional and Responsive User Interfaces with Tkinter and PyQt5. [Google Scholar]
  • 19.O. Pena-Rodrıguez, P.P.G. Perez, U. Pal, MieLab: A software tool to perform calculations on the scattering of electromagnetic waves by multilayered spheres, Int. J. Spectrosc. 2011 (2011) 583743.
  • 20.Daimon M., Masumura A. Measurement of the refractive index of distilled water from the near-infrared region to the ultraviolet region. Appl. Opt. 2007;46:3811–3820. doi: 10.1364/ao.46.003811. [DOI] [PubMed] [Google Scholar]
  • 21.Link S., El-Sayed M.A. Size and temperature dependence of the plasmon absorption of colloidal gold nanoparticles. J. Phys. Chem. B. 1999;103:4212–4217. [Google Scholar]
  • 22.Njoki P., Lim I.-I., Mott D., Park H.-Y., Khan B., Mishra S., Sujakumar R., Luo J., Zhong C.-J. Size correlation of optical and spectroscopic properties for gold nanoparticles. J. Phys. Chem. C. 2007;111:14664–14669. [Google Scholar]
  • 23.Babar S., Weaver J.H. Optical constants of Cu, Ag, and Au revisited. Appl. Opt. 2015;54:477–481. [Google Scholar]
  • 24.Johnson P.B., Christy R.W. Optical constants of the noble metals. Phys. Rev. B. 1972;6:4370–4379. [Google Scholar]
  • 25.McPeak K.M., Jayanti S.V., Kress S.J.P., Meyer S., Iotti S., Rossinelli A., Norris D.J. Plasmonic films can easily Be better: rules and recipes. ACS Photonics. 2015;2:326–333. doi: 10.1021/ph5004237. [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 26.Yakubovsky D.I., Arsenin A.V., Stebunov Y.V., Fedyanin D.Y., Volkov V.S. Optical constants and structural properties of thin gold films. Opt. Express. 2017;25:25574–25587. doi: 10.1364/OE.25.025574. [DOI] [PubMed] [Google Scholar]
  • 27.Xu D., Xiong X., Wu L., Ren X.-F., Png C.E., Guo G.-C., Gong Q., Xiao Y.-F. Quantum plasmonics: new opportunity in fundamental and applied photonics. Adv. Opt. Photon. 2018;10:703–756. [Google Scholar]
  • 28.Du H. Mie-scattering calculation. Appl. Opt. 2004;43:1951–1956. doi: 10.1364/ao.43.001951. [DOI] [PubMed] [Google Scholar]
  • 29.Smith N.V. Optical constants of sodium and potassium from 0.5 to 4.0 eV by split-beam ellipsometry. Phys. Rev. 1969;183:634–644. [Google Scholar]
  • 30.Hagemann H.-J., Gudat W., Kunz C. Optical constants from the far infrared to the x-ray region: Mg, Al, Cu, Ag, Au, Bi, C, and Al2O3. JOSA. 1975;65:742–744. [Google Scholar]
  • 31.Inagaki T., Emerson L.C., Arakawa E.T., Williams M.W. Optical properties of solid Na and Li between 0.6 and 3.8 eV. Phys. Rev. B. 1976;13:2305–2313. [Google Scholar]
  • 32.Werner W.S.M., Glantschnig K., Ambrosch-Draxl C. Optical constants and inelastic electron-scattering data for 17 elemental metals. J. Phys. Chem. Ref. Data. 2009;38:1013–1092. [Google Scholar]
  • 33.Rasigni M., Rasigni G. Optical constants of lithium deposits as determined from the Kramers-Kronig analysis. JOSA. 1977;67:54–59. [Google Scholar]
  • 34.Mathewson A.G., Myers H.P. Absolute values of the optical constants of some pure metals. Phys. Scripta. 1971;4:291–292. [Google Scholar]
  • 35.Smith N.V. Optical constants of rubidium and cesium from 0.5 to 4.0 eV. Phys. Rev. B. 1970;2:2840–2848. [Google Scholar]
  • 36.Rioux D., Vallières S., Besner S., Muñoz P., Mazur E., Meunier M. An analytic model for the dielectric function of Au, Ag, and their alloys. Adv. Opt. Mater. 2014;2:176–182. [Google Scholar]
  • 37.Tang H., Liu X., Chen S., Yu X., Luo Y., Wu J., Wang X., Liu L. Estimation of refractive index for biological tissue using micro-optical coherence tomography. IEEE Trans. Biomed. Eng. 2019;66:1803–1809. doi: 10.1109/TBME.2018.2885844. [DOI] [PubMed] [Google Scholar]
  • 38.Malitson I.H. Interspecimen comparison of the refractive index of fused silica. JOSA. 1965;55:1205–1209. [Google Scholar]
  • 39.Yang W. Improved recursive algorithm for light scattering by a multilayered sphere. Appl. Opt. 2003;42:1710–1720. doi: 10.1364/ao.42.001710. [DOI] [PubMed] [Google Scholar]
  • 40.Mishchenko M.I., Travis L.D., Mackowski D.W. T-matrix computations of light scattering by nonspherical particles: a review. J. Quant. Spectrosc. Radiat. Transf. 1996;55:535–575. [Google Scholar]
  • 41.Mishchenko M.I., Travis L.D., Mackowski D.W. T-matrix method and its applications to electromagnetic scattering by particles: a current perspective. J. Quant. Spectrosc. Radiat. Transf. 2010;111:1700–1703. [Google Scholar]
  • 42.Draine B.T., Flatau P.J. Discrete-dipole approximation for scattering calculations. JOSA A. 1994;11:1491–1499. [Google Scholar]
  • 43.Draine B.T., Flatau P.J. Discrete-dipole approximation for periodic targets: theory and tests. JOSA A. 2008;25:2693–2703. doi: 10.1364/josaa.25.002693. [DOI] [PubMed] [Google Scholar]

Associated Data

This section collects any data citations, data availability statements, or supplementary materials included in this article.

Data Availability Statement

Data included in article/supp. material/referenced in article.


Articles from Heliyon are provided here courtesy of Elsevier

RESOURCES