This repository contains scripts developed to find the optimal parameters for a chosen non-linear crystal and optical cavity geometry. Please note that this repository does not include the literature review or theoretical background; it is solely focused on the practical aspect of parameter optimization.
Required python >= 3.8 and pip
pip install -r requirements.txt
If you are using Pycharm follow these simple steps:
- On GitHub, click the button <> Code and copy the link
- On Pycharm, go to
Git > Clone - Paste the url of the GitHub repository you just copied and click clone.
- You can now access the files. The GUI should automatically ask you if you want to download the requirements
Tutorial was found at this link.
You need to open a system terminal, go to the directory you want to clone and do git clone your-repo-here.git, then you
can open Spyder and either create a new project in the directory where you cloned your repository, or just open in the
files pane the directory where you cloned the repository
To sync your folder you need to use git commands, https://education.github.com/git-cheat-sheet-education.pdf, normally you will have two most use cases that are syncing with your remote repo and publishing your changes to the remote repo. This has to be done in a system terminal as well.
- Exploring changes:
git fetch - Sync remote changes to local repository:
git pull - To publish changes, first create a commit with a description and then publish them:
git add -A
git commit -m "Description of the changes"
git push
Each folder contains a jupyer notebook in which the calculations are performed.
Additional files are also present as utilities for the calculations.
Each folder also contains a figure\ folder where the plots are saved.
cavity\: Contains calculations from ray-optics/gaussian beam. The goal is to find the waist for a given cavity geometry;nlo\: Contains scripts related to the non-linear optimisation of SHGsqueezing\: Contains scripts related to the prediction of squeezing generated by an Optical Parametric Oscillator (OPO);utils\: Various utility functions for plot, sqlite, etc.