Skip to main content
QUICK REVIEW

[论文解读] User Guide for the Discrete Dipole Approximation Code DDSCAT 7.2

B. T. Draine, Piotr J. Flatau|arXiv (Cornell University)|Feb 15, 2012
Microwave Imaging and Scattering Analysis参考文献 2被引用 326
一句话总结

本论文介绍了 DDSCAT 7.2,这是一款免费的开源 Fortran-90 代码,采用离散偶极近似(DDA)计算任意形状粒子及周期性纳米结构的电磁散射与吸收。该代码可对尺寸参数高达 25 且折射率接近 1 的目标实现高精度模拟,支持 MPI、OpenMP、MKL、近场电磁场计算以及用户自定义几何结构等高级功能。

ABSTRACT

DDSCAT 7.2 is a freely available open-source Fortran-90 software package applying the discrete dipole approximation (DDA) to calculate scattering and absorption of electromagnetic waves by targets with arbitrary geometries and complex refractive index. The targets may be isolated entities (e.g., dust particles), but may also be 1-d or 2-d periodic arrays of "target unit cells", which can be used to study absorption, scattering, and electric fields around arrays of nanostructures. The DDA approximates the target by an array of polarizable points. The theory of the DDA and its implementation in DDSCAT is presented in Draine (1988) and Draine & Flatau (1994), and its extension to periodic structures in Draine & Flatau (2008). Efficient near-field calculations are enabled following Flatau & Draine (2012). DDSCAT 7.2 allows accurate calculations of electromagnetic scattering from targets with size parameters 2*pi*aeff/lambda < 25 provided the refractive index m is not large compared to unity (|m-1| < 2). DDSCAT 7.2 includes support for MPI, OpenMP, and the Intel Math Kernel Library (MKL). DDSCAT 7.2 supports calculations for a variety of target geometries (e.g., ellipsoids, regular tetrahedra, rectangular solids, finite cylinders, hexagonal prisms, etc.). Target materials may be both inhomogeneous and anisotropic. It is straightforward for the user to import new target geometries into the code. DDSCAT 7.2 calculates total cross sections for absorption and scattering and selected elements of the Mueller scattering intensity matrix for specified orientation of the target relative to the incident wave, and for specified scattering directions. DDSCAT 7.2 calculates E throughout a user-specified rectangular volume containing the target. A Fortran-90 code READNF to read E and P from files created by DDSCAT 7.2 is included in the distribution.

研究动机与目标

  • 为 DDSCAT 7.2 提供全面的用户指南,该开源代码实现了离散偶极近似(DDA)以进行电磁散射计算。
  • 使研究人员能够对任意形状粒子(包括非均匀和各向异性材料)的散射与吸收进行高精度建模。
  • 支持对周期性纳米结构阵列(一维和二维)的模拟,将 DDA 扩展应用于等离子体学与超材料相关的有序材料。
  • 通过 MPI 和 OpenMP 实现并行计算,以及与 Intel MKL 的集成,提升计算效率,优化线性代数运算。
  • 提供详细的近场电场计算文档,支持对局部电磁增强效应和辐射力的深入分析。

提出的方法

  • DDA 将目标离散化为极化偶极子格点,利用共轭梯度法等迭代求解器求解耦合偶极子方程。
  • 代码采用快速傅里叶变换(FFT)加速迭代求解中的矩阵-向量乘积,显著降低计算成本。
  • 对于周期性结构,通过 Ewald 求和技术引入周期性边界条件(PBC),以处理长程偶极-偶极相互作用。
  • 近场电场分布可在用户定义的区域内计算并存储,同时提供独立的 Fortran 工具(readnf)用于后处理。
  • 通过指定偶极子位置和材料组成的输入文件,支持用户自定义目标几何形状,实现对复杂形状的灵活建模。
  • 计算散射特性,包括总吸收截面和散射截面、穆勒散射矩阵元素,以及通过取向平均计算的辐射力。

实验结果

研究问题

  • RQ1DDSCAT 7.2 对具有复杂折射率的有限尺寸、任意形状粒子的电磁散射与吸收模拟精度如何?
  • RQ2在大规模模拟中,使用 MPI 和 OpenMP 时,DDSCAT 7.2 的性能与可扩展性如何?
  • RQ3近场电场计算的引入在分析纳米结构材料中局部电磁增强效应方面提升了多大程度?
  • RQ4DDSCAT 7.2 中 DDA 的实现如何处理纳米结构的周期性阵列?其收敛性的关键数值考虑因素是什么?
  • RQ5在 DDSCAT 7.2 模拟中,使用单精度与双精度算术在计算与内存开销方面存在何种权衡?

主要发现

  • DDSCAT 7.2 可对尺寸参数高达 25 且满足 |m − 1| ≤ 2 的折射率条件下的目标实现高精度电磁散射计算。
  • 通过与 MPI、OpenMP 和 Intel MKL 的集成,代码实现了高性能计算,可在多核与分布式内存系统上高效扩展。
  • 基于 FFT 的方法高效计算近场电场,结果可借助 readnf 工具进行后处理。
  • 代码支持广泛的几何形状,包括椭球体、圆柱体、长方体以及通过输入文件定义的用户自定义形状。
  • 周期性边界条件的实现可准确模拟一维与二维纳米结构阵列,正确处理长程相互作用。
  • 用户指南提供了详细的编译、配置与模拟运行说明,包括参数文件结构与输出结果的解读方法。

更好的研究,从现在开始

从论文设计到论文写作,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。