Skip to content

carlos-antunis-physics/PhotoniX.jl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

86 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PhotoniX in Julia

A Computational Toolkit for design and simulation of photonic devices

Carlos Antunis Bonfim da Silva Santos

Julia programming language Fortran programming language Symbolics:6.43.0 GLMakie:0.11.5 FFTW:1.9.0 ClassicalOrthogonalPolynomials:0.11.1 SpecialFunctions:2.5.1

Understanding how to control light, in classical and quantum context, represents a research area of significant impact nowadays - driven largely by the emergence of quantum phenomena as a prominent source of novel technological applications. The PhotoniX (pronounced as "Photonics") package aims to provide a simple but widely applicable toolkit for academic research on photonics, specially in scope of waveguide design - but it's also entirely capable to approach on bulk and nonlinear optics. It's mainly designed for simulations, via numerical methods, but it also comprehends theoretical utils, such as algebraic manipulation of optical modes - in both regimes, classical and quantum.

License

This toolkit was implements under MIT License.

Features and capabilities

This toolkit was mainly developed to simulate and design photonic chips, both for classical and quantum regime, including the subsequent features:

Classical optics features

  • Classical mode evaluation. The most elementary feature of PhotoniX package is its capability to evaluate classical structured optical modes (Hermite-Gaussian, Laguerre-Gaussian and Bessel modes) in transverse focal plane.
  • Classical waveguide optics. The package was widely inspired on FiniteDifferenceBPM implemented by José Carlos, which is a MATLAB library to simulate classical non-vectorial waveguide optics, this capabilities was inherited by PhotoniX.
  • Waveguide structure visualization. Waveguide structures can be visualizated in space using PhotoniX, allowing a better control of its properties.

Dependencies

The PhotoniX package uses the dependencies listed as badges in the top of the page. The unique consideration that must be taken is about visualizations with Makie.

Important

This package uses GLMakie.jl for visualization of waveguide structures. For three-dimensional plots (Waveguide.visualize!) OpenGL is necessary as backend, since Cairo does not support volume plots.

Cite us

If you find this toolkit useful in your research, please cite this repository as:

@software{
    Bonfim_da_Silva_Santos_PhotoniX_jl,
    author = {Bonfim da Silva Santos, C. Antunis},
    title = {{PhotoniX.jl}},
    url = {https://github.com/carlos-antunis-physics/PhotoniX.jl},
    version = {1.0.0}
}

About

A simple Julia computational toolkit for design and simulation of optical modes through photonic chips.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published