Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improving the interface (substrate) implementation #4

Open
5 tasks
johnaparker opened this issue May 13, 2020 · 0 comments
Open
5 tasks

Improving the interface (substrate) implementation #4

johnaparker opened this issue May 13, 2020 · 0 comments
Assignees
Labels
enhancement New feature or request

Comments

@johnaparker
Copy link
Owner

Currently, MiePy utilizes the normal incidence approximation (NIA) for dealing with a substrate. The exact solution is outlined in [1].

Implementation

  • Write the current NIA approximation in C++ (current implementation is slow)
  • With miepy.interface, add a bool parameter nia = True to toggle NIA (default True until exact solution is implemented)
  • Implement the exact solution in C++

Tests

  • Verify the NIA approximation with the exact solution for a single particle or multiple particles far from the interface
  • Compare to FDTD simulations with a substrate

Notes

  • Calculating the E and H field can be done in the NIA approximation using field expansions around the mirror particles. It is less clear how to do so in the exact solution (sec. 2.2.2 in [1] discusses this)
  • The definition of the cross-sections in the presence of the interface is unclear (sec. 2.5 in [1])

References

  1. Mackowski_2008_Exact solution for the scattering and absorption properties of sphere clusters.pdf
    Eqs.(19-33) for exact solution, Eq.(34) for NIA
@johnaparker johnaparker added the enhancement New feature or request label May 13, 2020
@johnaparker johnaparker self-assigned this May 18, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant