miepy
miepy copied to clipboard
Improving the interface (substrate) implementation
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 parameternia = 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
- Mackowski_2008_Exact solution for the scattering and absorption properties of sphere clusters.pdf Eqs.(19-33) for exact solution, Eq.(34) for NIA