Usage
The PyATMM module is separated into three submodules: * transferMatrix * isotropicTransferMatrix * uniaxialTransferMatrix
transferMatrix
transferMatrix contains general functions related to the generalized transfer matrix method. Most of them are currently either non-functional or unused. The main function in this submodule is
solve_transfer_matrix(M)
Which takes a transfer matrix M and returns 8 reflectivity/transmittance coefficients -
r_ss, r_sp, r_ps, r_pp, t_ss, t_sp, t_ps, t_pp
Where r or t represent either reflectivity or transmittance and s / p signify the polarization of the initial (first) and transmitted/reflected (second) mode. E.g.
r_sp
Is the reflectivity coefficient where the incident wave was s polarized and the reflected wave is p polarized.
The s and p polarization designations are somewhat arbitrary in the current implementation - depending on how the incident wave is specified, they are not necessarily the TM and TE polarizations (for isotropic materials).
isotropicTransferMatrix
isotropicTransferMatrix contains functions related to building transfer matrices for isotropic materials:
build_isotropic_dynamic_matrix(eps, w, kx, ky)
build_isotropic_propagation_matrix(eps, w, kx, ky, d)
uniaxialTransferMatrix
uniaxialTransferMatrix contains functions related to building transfer matrices for uniaxial materials:
build_uniaxial_dynamic_matrix(e_o, e_e, w, kx, ky, opticAxis=([0., 1., 0.]))
build_uniaxial_propagation_matrix(e_o, e_e, w, kx, ky, d, opticAxis=([0., 1., 0.]))