SASA - Semi Analytic Stacking Algorithm

This Software allows you to calculate the optical behavior of stacked materials. It requires you to already know the Jonas-Matrices of the complex layers in your Stack and works out their interactions. Calculations are based on Lx4x4 composite Jonas matrices, called S-matrices, and the Starproduct between them. L represents the wavelengths were you wish to calculate the behavior.

\[\begin{split}S = \left( \begin{matrix} T_f & R_f \\ R_b & T_b \\ \end{matrix} \right)\end{split}\]

\(T_f:\) Transmission Jonas matrix for light coming from the front

\(R_b:\) Reflection for the back


The exact usage is described in In general you have to define multiple Layer-Objects:

l1 = MetaLayer(s_mat, cladding, substrate)
l2 = NonMetaLayer(n_vec, cladding, substrate)

These can be Meta-Layers where you need to provide a Lx4x4 S-matrix or Non-Meta-Layers where you need to provide a vector of refractive indices’s at the desired wavelengths. Then you pass the layers to a stack object and build your result:

s = Stack([l1,l2,...], wavelengths, cladding, substrate)
result =

In the case of layers cladding and substrate represent the environment in which s_mat or n_vec were measured. For Stack its what materials are blow/on-top of the Stack.


[1] J. Sperrhake, M. Decker, M. Falkner, S. Fasold, T. Kaiser, I. Staude, T. Pertsch,
“Analyzing the polarization response of a chiral metasurface stack by semi-analytic modeling”, Optics Express 1246, 2019
[2] C. Menzel, J. Sperrhake, T. Pertsch,
“Efficient treatment of stacked metasurfaces for optimizing and enhancing the range of accessible optical functionalities”, Physical Review A 93, 2016
[3] J. Sperrhake, T. Kaiser, M. Falkner, S. Fasold, T. Pertsch,
“Interaction of reflection paths of light in metasurfaces stacks”,