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
cspeed of light in vacuum mupermeability of free space