A Onelab model for 3D scattering problems in nanophotonics.
ONELAB models for 3D scattering problems in nanophotonics.
## Synopsis
## Quick Install
Open `scattererTmatrix.pro` with your precompiled version of [ONELAB](https://onelab.info) to compute the T-matrix of an isolated scatterer of arbitrary shape as described in [1].
This project contains a [Onelab](https://onelab.info) model for solving various 3D electromagnetic problems on an isolated arbitrary object:
## Synopsis
This project contains [ONELAB](https://onelab.info) models for solving various 3D electromagnetic problems on an isolated arbitrary object:
* T-matrix computation [1]
* Quasi-normal modes
* Plane wave response
...
...
@@ -17,23 +19,29 @@ It contains various usefull features in electromag:
## Installation
The model `scattererTmatrix.pro` runs with precompiled version of ONELAB.
This model requires the following programs:
The model `scattering.pro` requires GetDP with python support (see install notes below):
*[gmsh](https://gmsh.info)
*[getdp](https://getdp.info) compiled with python support (see below)
* python (>3.5.x) with numpy, scipy and matplotlib
## Running the model
Open `scattering.pro` with Gmsh.
The default parameters are set to compute the T-matrix of a sphere. It retrieves the results from [1].
Open `scattererTmatrix.pro` or `scattering.pro` with Gmsh.
## Authors
The model `scattererTmatrix.pro` computes the scattering (T-)matrix solely and does not require any Python support from GetDP. It is fast since it :
* features spherical PML
* re-uses the factorization for each new input harmonic
* computes the coefficients by integration within GetDP
The default parameters in `scattering.pro` are set to compute the T-matrix of a sphere. It retrieves the results from [1].
## Authors
Guillaume Demésy and Brian Stout
## References
[1] See "[Scattering matrix of arbitrarily shaped objects: Combining Finite Elements and Vector Partial Waves](https://arxiv.org/abs/1802.00596)" for details about T-matrices
[1] See "[Scattering matrix of arbitrarily shaped objects: Combining Finite Elements and Vector Partial Waves](https://arxiv.org/abs/1802.00596)" for details about T-matrices.
## Installation notes
To enable python support (Python[] function) in GetDP, follow [these instructions (with complex arithmetic)](https://gitlab.onelab.info/getdp/getdp/wikis/GetDP-compilation) and add to the final cmake line: