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 \theta.
  • phi (float) – Euler angle \phi.
  • psi (float) – Euler angle \psi.
  • 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