Table of Contents
Fetching ...

Nano-particle Transition Matrix code implementation

G. La Mura, G. Mulas, G. Aresu, M. A. Iatì, C. Cecchi-Pestellini, S. Rezaei, R. Saija

TL;DR

NP_TMcode addresses the need to efficiently model electromagnetic scattering by non-spherical particle aggregates. It reimplements the T-matrix formalism in a parallel C++ framework, providing four applications (np_sphere, np_cluster, np_inclusion, np_trapping) and dynamic truncation $l_i$ / $l_e$ refinement to achieve scalable performance. The work demonstrates large speedups on multi-core and multi-node HPC hardware and validates accuracy against the original implementation and Mie theory, enabling reliable calculations of extinction $\sigma_{ext}$, scattering $\sigma_{sca}$, and radiative forces $F_{pr}$ for arbitrary particle geometries. This advances astrophysical and laboratory studies of dust and aerosols by enabling detailed, orientation-averaged modeling of complex particle populations through the T-matrix approach.

Abstract

Electromagnetic scattering and absorption by material particles is a fundamental physical problem with a broad range of applications, going from laboratory experiments, biology and material sciences, all the way up to environmental studies and astrophysical investigations. In spite of its primary importance, an exact theoretical treatment is only possible for a limited range of ideal cases, while realistic situations require the development of numerical solutions. In the course of the years, several techniques were developed to model the effects of scattering and absorption in more general cases, using approaches such as the Discrete Dipole Approximation (DDA), the Finite Difference Time Domain (FDTD) method, the Transition Matrix formalism (T-matrix) or the Mean Field Theory (MFT). Among these possibilities, the T-matrix approach grants the highest degree of flexibility in modeling aggregates of spherically symmetric particles with arbitrary overall morphology and composition, but its application has been limited by the challenging computational requirements of the method in realistic cases. This paper describes the Nano-Particle Transition Matrix Code project (NP_TMcode), a new implementation of the T-matrix formalism that, taking advantage of high performance parallel hardware architectures, allows the solution of increasingly complex models, while substantially reducing the computing time. The paper describes the code structure, with a particular focus on the algorithm optimization, and it presents the results of the performance analysis for a set of development applications.

Nano-particle Transition Matrix code implementation

TL;DR

NP_TMcode addresses the need to efficiently model electromagnetic scattering by non-spherical particle aggregates. It reimplements the T-matrix formalism in a parallel C++ framework, providing four applications (np_sphere, np_cluster, np_inclusion, np_trapping) and dynamic truncation / refinement to achieve scalable performance. The work demonstrates large speedups on multi-core and multi-node HPC hardware and validates accuracy against the original implementation and Mie theory, enabling reliable calculations of extinction , scattering , and radiative forces for arbitrary particle geometries. This advances astrophysical and laboratory studies of dust and aerosols by enabling detailed, orientation-averaged modeling of complex particle populations through the T-matrix approach.

Abstract

Electromagnetic scattering and absorption by material particles is a fundamental physical problem with a broad range of applications, going from laboratory experiments, biology and material sciences, all the way up to environmental studies and astrophysical investigations. In spite of its primary importance, an exact theoretical treatment is only possible for a limited range of ideal cases, while realistic situations require the development of numerical solutions. In the course of the years, several techniques were developed to model the effects of scattering and absorption in more general cases, using approaches such as the Discrete Dipole Approximation (DDA), the Finite Difference Time Domain (FDTD) method, the Transition Matrix formalism (T-matrix) or the Mean Field Theory (MFT). Among these possibilities, the T-matrix approach grants the highest degree of flexibility in modeling aggregates of spherically symmetric particles with arbitrary overall morphology and composition, but its application has been limited by the challenging computational requirements of the method in realistic cases. This paper describes the Nano-Particle Transition Matrix Code project (NP_TMcode), a new implementation of the T-matrix formalism that, taking advantage of high performance parallel hardware architectures, allows the solution of increasingly complex models, while substantially reducing the computing time. The paper describes the code structure, with a particular focus on the algorithm optimization, and it presents the results of the performance analysis for a set of development applications.
Paper Structure (14 sections, 32 equations, 10 figures, 2 tables)

This paper contains 14 sections, 32 equations, 10 figures, 2 tables.

Figures (10)

  • Figure 1: The scattering plane. $\Phi$ is the scattering angle, $\textit{k}_I$ is the incident wave vector, $\textit{k}_S$ is the scattered wave vector, $\hat{\textit{n}}$ is the plane normal unit vector, while $\hat{\textit{u}}_{I \eta}$ and $\hat{\textit{u}}_{S \eta}$ ($\eta = 1,2$) are the unit base vectors for the scattering process description. Adapted from Borghese07.
  • Figure 2: Schematic representation of the modeling possibilities of the NP_TMcode application suite. The case of a single particle with spherical symmetry and one or more concentric layers is addressed by np_sphere in the framework of the Mie theory (panel $1$). np_cluster solves the case of aggregates of arbitrary numbers of spherical monomers, with the possibility of using monomers with different compositions, concentric layer structures and sizes (panel $2$). np_inclusion is similar to np_cluster except for embedding the aggregate in an external spherical coating (panel $3$). Finally, np_trapping solves for the forces and torques exerted on a particle trapped by a radiation beam (panel 4).
  • Figure 3: Histograms of the orders of magnitude of the complex coefficients for the T-matrix of a model particle made up by $13$ spherical monomers, computed with $l_{max} = 14$. The magnitudes of the absolute values are shown in the top panel, those of the real parts are given in the middle panel, while those for the imaginary parts are shown in the bottom panel.
  • Figure 4: Effect of numeric instability on the calculation of $\sigma_{ext}$ for an aggregate of $16$ enstatite spheres ($r_{sph} = 0.1\, \mu$m). Left panel: calculation over the wavelength range $0.188\, \mu\mathrm{m} \leq \lambda \leq 25.0\, \mu\mathrm{m}$. Using a fixed expansion order results in instability at long wavelength (red line), while dynamic order assignment combined with iterative refinement recovers a stable solution (blue line). The gray dashed line is the cross-section of an equivalent mass enstatite sphere with $r_{sph} = 0.25\, \mu$m. Right panel: extinction cross-section $\sigma_{ext}$ at $\lambda = 2.11\, \mu\mathrm{m}$ computed in dynamic order (blue point) and for different values of fixed $l_i$ (red curve). The black dashed line represents the convergence limit. In this case, instability arises with $l_i > 13$.
  • Figure 5: Comparison of aggregate particle model calculation times, illustrating the performance of the original serial code with respect to np_cluster parallel implementations, executed with hardware configurations A and B (the $y$-axis is plotted in logarithmic scale). A detailed description of the fundamental characteristics of each model is given in Table \ref{['tab_models']}.
  • ...and 5 more figures