juno is a simulation package for optical system design using full wave propagation.
The best way to install is by creating an Anaconda environment. First download and install anaconda.
On Windows - Open Anaconda Powershell Prompt:
On Linux/Mac - Open Terminal:
$ git clone https://github.com/DeMarcoLab/juno.git
$ cd juno
$ conda env create -f environment.yml
$ conda activate juno
$ pip install -e .
For more documentation, please see the website
For a tutorial walkthrough for using the package please see Tutorial
To run the user interface:
$ juno_ui
The example folder contains a few simulation configurations using common lens types and setups:
- Focusing Lens (1D and 2D)
- Axicon Lens (2D)
- Telescope (1D and 2D)
For more information about all the available configuration parameters and options, please see Configuration.
Simulations can be run from the commmand line.
$ python run_simulation.py config.yaml
This is useful for running large parameter sweeps on HPC setups.
For more detailed documentation please see Documentation
@misc{https://doi.org/10.48550/arxiv.2212.12540,
doi = {10.48550/ARXIV.2212.12540},
url = {https://arxiv.org/abs/2212.12540},
author = {Dierickx, David and Cleeve, Patrick and Gorelick, Sergey and Whisstock, James C. and De Marco, Alex},
keywords = {Instrumentation and Detectors (physics.ins-det), Numerical Analysis (math.NA), Optics (physics.optics), FOS: Physical sciences, FOS: Physical sciences, FOS: Mathematics, FOS: Mathematics},
title = {Juno: a Python-based graphical package for optical system design},
publisher = {arXiv},
year = {2022},
copyright = {Creative Commons Attribution Share Alike 4.0 International}
}