
Julia中的光学仿真,采用几何和高斯光束追踪——模拟激光、光束传播及简单光学系统。
概览
简称,是一种三维高斯光束追踪软件包,主要用于仿真面包板光学装置——例如激光干涉仪——使用透镜或分光镜等简单组件。它提供了灵活的运动学API,方便元件的放置和移动。 更多信息请参阅相关文档。 - 无近轴近似的非序列三维光线追踪 - TEM₀₀ 高斯光束模型 - 各种光学元件 - 镜子 - 透镜 - 分光镜 - 探测器 - 旋转对称透镜系统的表面状建模 - 可扩展的API设计用于实现定制光学交互 - 通过Makie软件包实现便捷可视化,以及通过BeamletOpticsGUI的交互式图形界面 要在当前项目环境中安装此包,请通过 ] 进入 Pkg REPL 模式,添加 BeamletOptics,或在 REPL 中输入: BMO 需要 。
概述(AI 翻译)
BeamletOptics.jl,简称 BMO,是一款三维高斯光束追踪软件,主要用于仿真面包板光学装置——例如激光干涉仪——使用透镜或分光器等简单组件。它提供了灵活的运动学API,便于元件的布置和移动。
更多信息请参阅相关文档。
特征
- 无旁轴近似的非顺序三维光线追踪
- TEM₀₀ 高斯束子模型
- 各种光学元件
- 镜子
- 透镜
- 分束器
- 探测器
- 旋转对称透镜系统的类表面建模
- 可扩展的API设计,用于实现定制光学交互
- 通过 Makie 软件包实现简便可视化,以及通过 BeamletOpticsGUI 实现的交互式图形界面
安装
要在当前项目环境中安装该软件包,请通过 ] 和 [add BeamletOptics 进入 Pkg REPL 模式,或在 REPL 输入:
BMO 需要 Julia 1.12 或更新版本。在较旧的 Julia 版本中,Pkg 会自动退回到仍支持最新版本。
特工技能
skills/beamletoptics/中包含一个针对AI编码助手的代理技能。
本页由 AI 翻译,技术细节请以原文为准。
README
以下为原文 README 节选,完整内容请查看原文。
About
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
- 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, and an interactive GUI via BeamletOpticsGUI
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")
BMO requires Julia 1.12 or newer. On older Julia versions, Pkg will automatically fall back to the latest release that still supports them.
Agent skill
An Agent Skill for AI coding assistants is included in skills/beamletoptics/. Copy the version that matches your installed package into your project with:
using BeamletOptics; BeamletOptics.install_agent_skill() # -> ./.claude/skills/beamletoptics
Alternatively, npx skills add JuliaPhysics/BeamletOptics.jl installs the skill from the development branch.
Examples
推荐工具
换一个关键词,或者移除筛选条件。
安装
npx skillfish add juliaphysics/beamletoptics.jl