GeneralizedTransferMatrixMethod.jl

Julia implementation of the Generalized Transfer Matrix Method.
Author mtenders
Popularity
3 Stars
Updated Last
8 Months Ago
Started In
October 2021

header


DOCS DOI

The present package implements the generalized transfer matrix formalism as presented in [1-3]. The authors provide a Python implementation (pyGTM), as well as a Matlab implementation (First version (2019), Updated version (2020)).

Installation

The package can be installed with the Julia package manager. From the Julia REPL, type ] to enter the Pkg REPL mode and run:

pkg> add GeneralizedTransferMatrixMethod

Or, equivalently, via the Pkg API:

julia> import Pkg; Pkg.add("GeneralizedTransferMatrixMethod")

Example

This example of an glass–air interface is taken from the tutorial presented in the documentation

using GeneralizedTransferMatrixMethod
using LinearAlgebra
using Unitful: °, nm, μm, mm, m

# Define Materials
@permittivity "Glass" λ -> Diagonal(ones(3)) * 1.5
Air = Layer()

Interface = LayeredStructure(
    superstrate = Glass(),
    substrate = Air
)

# Calculate properties
λ = 1.55μm
α = 10°
ζ = sin(α) * sqrt(ϵ_Glass(λ)[1,1])

Properties = calculate_structure_properties(ζ, λ, Interface)

Rₚₚ, Rₛₛ, Rₚₛ, Rₛₚ = reflection(Properties)
Tₚ, Tₛ = transmission(ζ, Properties)

References

  1. Passler, N. C. & Paarmann, A. Generalized 4 × 4 matrix formalism for light propagation in anisotropic stratified media: study of surface phonon polaritons in polar dielectric heterostructures. J. Opt. Soc. Am. B 34, 2128 (2017).
  2. Passler, N. C. & Paarmann, A. Generalized 4 × 4 matrix formalism for light propagation in anisotropic stratified media: study of surface phonon polaritons in polar dielectric heterostructures: erratum. J. Opt. Soc. Am. B 36, 3246 (2019).
  3. Passler, N. C., Jeannin, M. & Paarmann, A. Layer-resolved absorption of light in arbitrarily anisotropic heterostructures. Phys. Rev. B 101, 165425 (2020).

Used By Packages

No packages found.