yeh_tm.Layer¶
-
class
yeh_tm.
Layer
(thickness=1, epsilon1=None, epsilon2=None, epsilon3=None, theta=0, phi=0, psi=0, thick=False)¶ Construct a layer class instance, which controls the physical properties of a single layer.
Parameters: - thickness (float) – Thickness of layer in same units as wavelength.
- epsilon1 (function) – Function that takes the frequency w as argument and returns a value for the dielectric constant along this axis. If no function is provided, defaults to vacuum.
- epsilon2 (function) – Function that takes the frequency w as argument and returns a value for the dielectric constant along this axis. If no function is provided, defaults to epsilon1.
- epsilon3 (function) – Function that takes the frequency w as argument and returns a value for the dielectric constant along this axis. If no function is provided, defaults to epsilon1.
- theta (float) – Euler angle
.
- phi (float) – Euler angle
.
- psi (float) – Euler angle
.
- thick (bool) – If True, use incoherent propagation by discarding the phase information across this layer.
-
__init__
(thickness=1, epsilon1=None, epsilon2=None, epsilon3=None, theta=0, phi=0, psi=0, thick=False)¶
Methods
__init__
([thickness, epsilon1, epsilon2, ...])calculate_D
()Calculate the dynamic matrix and its inverse using the previously calculated values for p and q. calculate_P
()Calculate the propagation matrix using the previously calculated values for g. calculate_T
([calculateDP])Calculate the layer transfer matrix. calculate_epsilon
(w)Calculate the dielectric tensor for given frequency w. calculate_g
(w, a, b)Calculate propagation constants g along z-axis for current layer. calculate_p_q
(w, a, b)Calculate the electric and magnetic polarization vectors p and q for the four solutions of self.g. update
(w, a, b[, phi])Shortcut to recalculate all layer properties. Attributes
c
speed of light in vacuum mu
permeability of free space