SkillAgentSearch skills...

BeamletOptics.jl

Optics simulation in Julia using geometrical and Gaussian beamlet tracing – simulate lasers, beam propagation, and simple optical systems.

Install / Use

/learn @JuliaPhysics/BeamletOptics.jl
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

<div align="center"> <picture> <source media="(prefers-color-scheme: dark)" srcset="./docs/src/assets/logo-dark.svg"> <source media="(prefers-color-scheme: light)" srcset="./docs/src/assets/logo.svg"> <img src="./docs/src/assets/logo.svg" alt="BeamletOptics.jl logo" width="400"> </picture> </div>

About

Stable Dev Build Status Coverage Aqua DOI

BeamletOptics.jl, or BMO for short, is a 3D Gaussian beamlet tracing package mainly intended for the simulation of breadboard optical setups -- e.g. laser interferometers -- with simple components like lenses or beamsplitters. It offers a flexible kinematic API for the easy placement and movement of components.

For more information, refer to the documentation.

Features

  • Hybrid sequential and non-sequential 3D ray tracing without paraxial approximation
  • TEM₀₀ Gaussian beamlet models
  • Various optical components
    • Mirrors
    • Lenses
    • Beamsplitters
    • Detectors
  • Surface-like modeling of rotationally symmetrical lens systems
  • Extendable API design for the implementation of custom optical interactions
  • Easy visualization via the Makie package

Installation

To install this package in your current project environment, enter the Pkg REPL-mode via ] and add BeamletOptics or in the REPL enter:

using Pkg; Pkg.add("BeamletOptics")

Examples

For a variety of illustrated examples and tutorials, refer to the Tutorials and Examples in the Getting started sections of the documentation linked to above.

View on GitHub
GitHub Stars10
CategoryDevelopment
Updated1mo ago
Forks3

Languages

Julia

Security Score

95/100

Audited on Feb 19, 2026

No findings