/qlance

Optomechanical, quantum noise, and control loop simulations with Optickle and Finesse

Primary LanguagePython

Quantum optomechanics Loop Analysis and Noise Calculation Engine

QLANCE is a python package that simulates optomechanical systems and quantum noise using the Optickle and/or Finesse packages. It adds functionality to these programs making them more user friendly and making it easier to compare the results. QLANCE also models control loops involving optomechanical plants defined by either Optickle or Finesse and can find state space and zpk representations of these plants.

  • Optickle is a MATLAB-based optomechanical simulaton package. In order to use these simulations, QLANCE thus requires Matlab to be installed; however, the user only ever needs to use python while Matlab runs in the background. MATLAB only needs to be installed to run the Optickle simulations and is not needed for the Finesse simulations or the control loop calculations.
  • Finesse is a C-based optomechanical simulaton package that can also be run entirely in python.
  • Parts of the architecture of QLANCE's native control loop simulations are inspired by a study of the advanced LIGO angular sensing and control system and lentickle, another MATLAB package which is not needed to run QLANCE.
  • State space and zpk representations of the optomechanical plants are found through an interface with IIRrational.

Setup

  1. Install QLANCE using pip by downloading the latest release from this repository and using
pip install --user qlance-version.tar.gz
  1. If you want to use Optickle simulations

    1. Clone Optickle2 from this repository.
    2. Install the python MATLAB engine as described here
    3. Optionally, set the variable OPTICKLE_PATH to the path to the Optickle2 directory.
  2. If you want to use Finesse simulations, install Finesse and pykat as described here.

  3. If you want to find state space representations of the optomechanical plants, install IIRrational as described here.

Getting Started

  1. See the examples for basic usage.

    1. Start with the Fabry Perot examples for basic model building and analysis examples.
    2. Look at the FPMI examples for a detailed MIMO control loop example.
  2. See here for an incomplete discussion of the differences between Optickle and Finesse.

  3. See here for a reference of the QLANCE control loop topology.