beamletoptics.jl

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

https://github.com/juliaphysics/beamletoptics.jl

Science Score: 67.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 2 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (13.6%) to scientific vocabulary

Keywords

gaussian-beam interferometry optical-simulation physics-simulation ray-tracing
Last synced: 4 months ago · JSON representation ·

Repository

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

Basic Info
Statistics
  • Stars: 5
  • Watchers: 1
  • Forks: 2
  • Open Issues: 2
  • Releases: 2
Topics
gaussian-beam interferometry optical-simulation physics-simulation ray-tracing
Created 10 months ago · Last pushed 4 months ago
Metadata Files
Readme License Citation

README.md

BeamletOptics.jl logo

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:

julia using Pkg; Pkg.add("BeamletOptics")

Examples

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

Owner

  • Name: JuliaPhysics
  • Login: JuliaPhysics
  • Kind: organization

Physics in Julia

Citation (CITATION.bib)

@software{BeamletOptics:2025,
  author       = {Uittenbosch, Hugo and
                  Kliebisch, Oliver and
                  Dekorsy, Thomas},
  title        = {BeamletOptics.jl},
  month        = mar,
  year         = 2025,
  publisher    = {Zenodo},
  version      = {v0.8.2},
  doi          = {10.5281/zenodo.15090784},
  url          = {https://doi.org/10.5281/zenodo.15090784},
  swhid        = {swh:1:dir:d89c6c3c498755e00b8d3e4913cac05850826cde
                   ;origin=https://doi.org/10.5281/zenodo.15090783;vi
                   sit=swh:1:snp:129f668a1d6519f25320f35a7614ba3f2ecf
                   479b;anchor=swh:1:rel:6459c6f276e79990ae56b448519c
                   4e1a539b7007;path=StackEnjoyer-
                   BeamletOptics.jl-2143bab
                  },
}

GitHub Events

Total
  • Create event: 5
  • Commit comment event: 3
  • Issues event: 12
  • Watch event: 2
  • Delete event: 3
  • Issue comment event: 16
  • Member event: 1
  • Push event: 25
  • Pull request review comment event: 2
  • Pull request event: 5
  • Pull request review event: 4
  • Fork event: 1
Last Year
  • Create event: 5
  • Commit comment event: 3
  • Issues event: 12
  • Watch event: 2
  • Delete event: 3
  • Issue comment event: 16
  • Member event: 1
  • Push event: 25
  • Pull request review comment event: 2
  • Pull request event: 5
  • Pull request review event: 4
  • Fork event: 1

Issues and Pull Requests

Last synced: 4 months ago

All Time
  • Total issues: 8
  • Total pull requests: 3
  • Average time to close issues: about 3 hours
  • Average time to close pull requests: 2 days
  • Total issue authors: 3
  • Total pull request authors: 3
  • Average comments per issue: 0.13
  • Average comments per pull request: 2.0
  • Merged pull requests: 3
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 8
  • Pull requests: 3
  • Average time to close issues: about 3 hours
  • Average time to close pull requests: 2 days
  • Issue authors: 3
  • Pull request authors: 3
  • Average comments per issue: 0.13
  • Average comments per pull request: 2.0
  • Merged pull requests: 3
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • StackEnjoyer (6)
  • JuliaTagBot (1)
  • TacHawkes (1)
Pull Request Authors
  • ederag (1)
  • TacHawkes (1)
  • StackEnjoyer (1)
Top Labels
Issue Labels
documentation (3) bug (2) enhancement (2)
Pull Request Labels

Dependencies

.github/workflows/CI.yml actions
  • actions/checkout v4 composite
  • codecov/codecov-action v5 composite
  • julia-actions/cache v2 composite
  • julia-actions/julia-buildpkg v1 composite
  • julia-actions/julia-docdeploy v1 composite
  • julia-actions/julia-processcoverage v1 composite
  • julia-actions/julia-runtest v1 composite
  • julia-actions/setup-julia v2 composite
.github/workflows/CompatHelper.yml actions
.github/workflows/TagBot.yml actions
  • JuliaRegistries/TagBot v1 composite