AbstractMultilayerMaterial#
- class optika.materials.AbstractMultilayerMaterial[source]#
Bases:
AbstractMaterialA generalized multilayer material.
Attributes
flag controlling whether this material reflects or transmits light
A sequence of layers representing the multilayer stack.
The array shape of this object.
the coordinate transformation between the global coordinate system and this object's local coordinate system
Methods
__init__()attenuation(rays)the attenuation coefficient of the given rays
efficiency(rays, normal)The fraction of light that passes through the interface.
index_refraction(rays)the index of refraction of this material for the given input rays
plot_layers([width, ax])Plot the multilayer stack using
optika.materials.AbstractLayer.plot().to_string([prefix])Public-facing version of the
__repr__method that allows for defining a prefix string, which can be used to calculate how much whitespace to add to the beginning of each line of the result.Inheritance Diagram

- attenuation(rays)[source]#
the attenuation coefficient of the given rays
- Parameters:
rays (RayVectorArray) – input rays to calculate the attenuation coefficient for
- Return type:
- abstractmethod efficiency(rays, normal)#
The fraction of light that passes through the interface.
- Parameters:
rays (AbstractRayVectorArray) – the input rays to calculate the efficiency for
normal (AbstractCartesian3dVectorArray) – the vector perpendicular to the optical surface
- Return type:
- index_refraction(rays)[source]#
the index of refraction of this material for the given input rays
- Parameters:
rays (RayVectorArray) – input rays used to evaluate the index of refraction
- Return type:
- abstractmethod plot_layers(width=<Quantity 100. nm>, ax=None, **kwargs)[source]#
Plot the multilayer stack using
optika.materials.AbstractLayer.plot().- Parameters:
width (Quantity) – The width of the plotted multilayer stack in physical units.
ax (Axes) – The matplotlib axes on which to plot the multilayer stack.
kwargs – Additional keyword arguments to pass along to
optika.materials.AbstractLayer.plot().
- Return type:
- to_string(prefix=None)#
Public-facing version of the
__repr__method that allows for defining a prefix string, which can be used to calculate how much whitespace to add to the beginning of each line of the result.
- abstract property is_mirror: bool#
flag controlling whether this material reflects or transmits light
- abstract property layers: AbstractLayer | Sequence[AbstractLayer]#
A sequence of layers representing the multilayer stack.