Skip to content

Focused beams near substrate #339

Open
@myurkin

Description

@myurkin

Is your feature request related to a problem? Please describe.

The surface mode of ADDA is fully operational for arbitrary incident field read from file. Built-in plane wave and point dipole are also operational. However, built-in options for Gaussian and Bessel beams work only in free space. The main reason is that the corresponding analytical expressions are much more complicated (include some integrals).

Previous work

One of the possible solution is to implement them based on decomposition of corresponding free-space beams into plane waves (so-called, angular-spectrum decomposition). For Bessel beams such integral is 1D (over azimuthal angle around the beam axis), which makes straightforward implementation fast enough. @stefaniagl made a proof-of-principle implementation at a separate branch. The details of this implementation together with test simulation results are described in her MSc thesis (in Russian), as well as in the following conference paper:
Glukhova S.A. and Yurkin M.A. Scattering simulations for Bessel beams near a plane substrate in the framework of the discrete dipole approximation, Bremen Zoom Workshop on Light Scattering 2023, 20–21 March 2023, Online, pp. 19–22. (paper)

A similar implementation has been made by Stefania for Gaussian beams - this branch. There is no documentation, except that it works with -beam gaussASD … and currently uses 40 x 40 grid of angles (hardwired in the code). The computational time of this field on a dipole grid is then comparable to 1000 iterations of the solver.

Describe the solution you'd like

Finalize the above implementations, test their accuracy and simulation time to optimize the parameters of the integration. Investigate possible acceleration strategies, especially for Gaussian beams.

Metadata

Metadata

Assignees

No one assigned

    Labels

    comp-LogicRelated to internal code logicpri-LowKept mostly for referencesurfIn the presence of (semi-infinite) substrate

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions