miepy icon indicating copy to clipboard operation
miepy copied to clipboard

Improving the interface (substrate) implementation

Open johnaparker opened this issue 4 years ago • 0 comments

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 avatar May 13 '20 21:05 johnaparker