The Stack¶
-
class
stack.
Layer
¶ Parrent class of Meta- and NonMetaLayer, contains information about which symmetry opperations will be applied.
-
class
stack.
MetaLayer
(s_mat, cladding, substrate)¶ Class to describe a Meta-Surface in the Stack.
Parameters: - s_mat (L x 4 x 4 numpy Array) – the Lx4x4 S-Matrix of the Meta-Layer, externally simulated/measured
- cladding (vector) – containing the refraction indices of the cladding.
- substrate (vector) – containing the refraction indices of the substrate.
-
class
stack.
NonMetaLayer
(*n_vec, height)¶ Class to describe a homogenous isotropic or anisotropic Layer.
Parameters: - height (height in (μm)) –
- n_vec (one or two vactors containing the diffraction indeces.) – If only one vector is given homogenous behavior will be assumed.
-
class
stack.
Stack
(layer_list, wav_vec, cladding, substrate)¶ Class to describe the whole Stack, contains information about the layers, cladding, substrate and further options.
Parameters: - layer_list (list of Layer objects) –
- wav_vec (vector) – The target wavelengths where the Meta-Surfaces were simulated/ measured
- cladding (vector) – The refrectiv indeces of the cladding.
- substrate (vector) – The refractiv indeces of the substrate. The first material to be hit by light.
-
build
()¶ Builds all the propagation and interface matrices and multiplies them.
Returns: s_mat – S-matrix describing the behavior of the whole stack. The dimension is HxLx4x4 when a height vector was given Return type: Lx4x4 or HxLx4x4 numpy array
-
build_geo
(order)¶ A version of build using star_product_cascaded_geo(), change this doc_str
Returns: s_mat – S-matrix describing the behavior of the whole stack. The dimension is HxLx4x4 when a height vector was given Return type: Lx4x4 or HxLx4x4 numpy array
-
create_interface
(l_2, l_1)¶ Creates the interface S-Matrix for the transmission between two Layers
Parameters: - l_1 (NonMetaLayer or MetaLayer Objects) –
- l_2 (NonMetaLayer or MetaLayer Objects) –
Returns: s_mat – interface S-Matrix
Return type: L x 4 x 4 numpy array
-
create_interface_rot
(l_2, l_1)¶ Creates the interface S-Matrix for the transmission between two Layers in case of rotation, uses create_interface
Parameters: - l_1 (NonMetaLayer or MetaLayer Objects) –
- l_2 (NonMetaLayer or MetaLayer Objects) –
Returns: s_mat
Return type: Lx4x4 S-Matrix
-
create_propagator
(layer)¶ Creates the propagator S-Matrix
Parameters: layer (NonMetaLayer or MetaLayer object) – Returns: s_mat – propagation S-Matrix Return type: H x L x 4 x 4 numpy array
-
order
(order)¶ Returns the nth order S-Matrix of the starproduct developt via the geometric series.
Parameters: order (int) – Returns: s_out – S-Matrix of the order’th series developt Return type: H x L x 4 x 4 numpy Array
-
order_up_to
(order)¶ Builds a list of S-matrices up to the target order.
Parameters: order (int) – Returns: s_list Return type: list of HxLx4x4 numpy Arrays