How to set up the Cython debugger

All the central parts of the simulation are written in Cython for faster execution. When investigating bugs in this code it is useful to have a debugger. Luckily Cython comes with a built-in debugger, cygdb, but setting up the environment for it to work is non-trivial. The Cython documentation itself does not explain much and […]

how to simulate INJ loops effects on the modulation noise?

Hi! We are observing an excess of frequency noise on the sidebands, which is apparently due to laser noise being shifted by the modulation through an EOM We would like to try to simulate this, adding some frequency noise on the laser and modulating it. In particular, we would like to add some noise around […]

Creating a composite component

Here’s an example on how to create composite objects in Finesse 3. Below we create a thick mirror that better defines the AR, substrate, and HR surface. Internally this thick mirror is made from two thin mirrors plus a space. These are added to the model when the `_on_add` method is called just after the […]

Writing your own action

Finesse3 provides multiple Actions to interact with a model. But maybe you want to do something no one else has thought of. In this case you can add your own Action to finesse. That way it can be easily used in any model, shared with other users and maybe even added to finesse itself. All […]

Balanced homodyne detection workaround

At the time of writing this entry, the way to do balanced homodyne detection is not yet fully implemented in Finesse3 as the example shows it here. The issue is the -3dB limitation of the squeezing level which comes from the fact that the beamsplitter is 50/50, so half of squeezing is lost before reaching […]

Updates to finesse_virgo files as of June 8th

Thanks to discussion with Virgo-ISC team, there are a few updates that need to be implemented to better match the current control scheme for the interferometer. (note that the tolerances are chosen arbitrarily by me; they could probably be fine-tuned) The updated katscript file to parse for the readouts in order to create the Virgo […]

Quick comparison between two working points in a FP-cavity (using analysis.action.Parallel)

In a perfectly aligned and matched Fabry-Perot cavity, one of the zero-crossings of an RF-demodulated error signal such as the PDH error signal corresponds to the cavity resonance peak. When imperfections are added, the two working points (peak resonance and zero-crossing of the error signal) can diverge. In this example we show how, a progressive […]