Capillary.jl
Luna.Capillary.MarcatiliMode — Type
MarcatiliModeType 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).
Luna.Capillary.MarcatiliMode — Method
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.
Luna.Capillary.MarcatiliMode — Method
MarcatiliMode(a, n, m, kind, ϕ, coren, cladn; model=:full, loss=true)Create a MarcatiliMode.
Arguments
a: Either aNumberfor constant core radius, or a functiona(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::TEfor transverse electric,:TMfor transverse magnetic,:HEfor hybrid mode.ϕ::Float: Azimuthal offset angle (for linearly polarised modes, this is the angle between the mode polarisation and the:yaxis)coren: Callablecoren(ω; z)which returns the refractive index of the corecladn: Callablecladn(ω; z)which returns the refractive index of the claddingmodel::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 literatureloss::Bool=true: Whether to include loss.
Luna.Capillary.MarcatiliMode — Method
MarcatiliMode(a, gas, P; kwargs...)Create a MarcatiliMode for a capillary with radius a which is filled with gas to pressure P.
Luna.Capillary.MarcatiliMode — Method
MarcatiliMode(a, coren; kwargs...)Create a MarcatiliMode for a capillary with radius a with z-dependent gas fill determined by coren(ω; z).
Luna.Capillary.MarcatiliMode — Method
MarcatiliMode(a; kwargs...)Create a MarcatiliMode for a capillary with radius a and no gas fill.
Luna.Capillary.gradient — Method
gradient(gas, L, p0, p1; T=roomtemp)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.
Luna.Capillary.gradient — Method
gradient(gas, Z, P; T=roomtemp)Convenience function to create density and core index profiles for multi-point gradient fills defined by positions Z and pressures P.
Luna.Capillary.transmission — Method
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.
Luna.Modes.neff — Method
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).