Capillary.jl

Luna.Capillary.MarcatiliModeType
MarcatiliMode

Type representing a mode of a hollow capillary as presented in:

Marcatili, E. & Schmeltzer, R. "Hollow metallic and dielectric waveguides for long distance optical transmission and lasers (Long distance optical transmission in hollow dielectric and metal circular waveguides, examining normal mode propagation)." Bell System Technical Journal 43, 1783–1809 (1964).

source
Luna.Capillary.MarcatiliModeMethod
MarcatiliMode(a, gas, P, cladn; kwargs...)

Create a MarcatiliMode for a capillary made of a cladding material defined by the refractive index cladn(ω; z) with a core radius a which is filled with gas to pressure P.

source
Luna.Capillary.MarcatiliModeMethod
MarcatiliMode(a, n, m, kind, ϕ, coren, cladn; model=:full, loss=true)

Create a MarcatiliMode.

Arguments

  • a : Either a Number for constant core radius, or a function a(z) for variable radius.
  • n::Int : Azimuthal mode index (number of nodes in the field along azimuthal angle).
  • m::Int : Radial mode index (number of nodes in the field along radial coordinate).
  • kind::Symbol : :TE for transverse electric, :TM for transverse magnetic, :HE for hybrid mode.
  • ϕ::Float : Azimuthal offset angle (for linearly polarised modes, this is the angle between the mode polarisation and the :y axis)
  • coren : Callable coren(ω; z) which returns the refractive index of the core
  • cladn : Callable cladn(ω; z) which returns the refractive index of the cladding
  • model::Symbol=:full : If :full, use the complete Marcatili model which takes into account the dispersive influence of the cladding refractive index. If :reduced, use the simplified model common in the literature
  • loss::Bool=true : Whether to include loss.
source
Luna.Capillary.MarcatiliModeMethod
MarcatiliMode(a, gas, P; kwargs...)

Create a MarcatiliMode for a capillary with radius a which is filled with gas to pressure P.

source
Luna.Capillary.MarcatiliModeMethod
MarcatiliMode(a, coren; kwargs...)

Create a MarcatiliMode for a capillary with radius a with z-dependent gas fill determined by coren(ω; z).

source
Luna.Capillary.gradientMethod
gradient(gas, L, p0, p1)

Convenience function to create density and core index profiles for simple two-point gradient fills defined by the waveguide length L and the pressures at z=0 and z=L.

source
Luna.Capillary.gradientMethod
gradient(gas, Z, P)

Convenience function to create density and core index profiles for multi-point gradient fills defined by positions Z and pressures P.

source
Luna.Capillary.transmissionMethod
transmission(a, λ, L; kind=:HE, n=1, m=1)

Calculate the transmission through a capillary with core radius a and length L at the wavelength λ when propagating the MarcatiliMode defined by kind, n and m.

source
Luna.Modes.neffMethod
neff(m::MarcatiliMode, ω; z=0)

Calculate the complex effective index of Marcatili mode with dielectric core and arbitrary (metal or dielectric) cladding.

Adapted from:

Marcatili, E. & Schmeltzer, R. "Hollow metallic and dielectric waveguides for long distance optical transmission and lasers (Long distance optical transmission in hollow dielectric and metal circular waveguides, examining normal mode propagation)." Bell System Technical Journal 43, 1783–1809 (1964).

source