From 1bc3b57b42cb06b145ff369b4b4831f284dfbb7a Mon Sep 17 00:00:00 2001 From: linarphy Date: Tue, 9 Jul 2024 17:56:39 +0200 Subject: [PATCH] Add README.md --- README.md | 102 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 102 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..ffb101c --- /dev/null +++ b/README.md @@ -0,0 +1,102 @@ +# Virgo model + +Interferometer for Finesse 3. Can be used with the +[finesse-virgo](https://gitlab.com/ifosim/finesse/finesse-virgo) +package. + +Katscript files are organized by priority number (first two number), +which indicate the file loading order, the lowest at first. + +## Sections + +Katscript files are organized in different types, which are `values`, +`optical setup`, `link`, `cavities definition`, `degree of freedom`, +`detectors` and `after variables`. + +### values + +priority number from 00 to 09 + +Contains values used in the setup + +### optical setup + +priority number from 10 to 19 + +Defined part of the optical setup (Laser, Mirror, etc.) + +### link + +priority number from 20 to 49 + +Link parts of the optical setup defined before together + +### cavities + +priority number from 50 to 69 + +Defines Finesse 3 cavity + +### degree of freedom + +priority number from 70 to 89 + +Defines Finesse 3 degree of freedom + +### detectors + +priority number from 70 to 89 + +Add Finesse 3 readout + +### after variables + +priority number from 90 to 99 + +Defines variable which depends of components in the setup for +preprocessing (finesse-virgo package for example) + +## Getting started + +Code example to build a Virgo model with these scripts. + +```py + virgo = Virgo( + files_to_parse = [ + "00_variables.kat", + "01_arm_north.kat", + "01_arm_west.kat", + "01_detection.kat", + "01_laser_and_modulator.kat", + "01_recycling_cavity.kat", + "02_B5_path.kat", + "05_attenuator.kat", + "05_link_length.kat", + "05_modulation.kat", + "05_tuning.kat", + "10_laser_and_modulator.kat", + "10_faraday_isolator.kat", + "10_recycling_cavity.kat", + "10_arm_north.kat", + "10_arm_west.kat", + "10_detection.kat", + "10_B2_attenuator.kat", + "10_B4_attenuator.kat", + "25_link_laser_and_modulator_faraday_isolator_noSIB1.kat", + "20_link_faraday_isolator_recycling_cavity.kat", + "25_link_faraday_isolator_B2_attenuator_noSIB2.kat", + "20_link_recycling_cavity_arms.kat", + "25_link_recycling_cavity_detection_noSDB1.kat", + "25_link_recycling_cavity_B4_attenuator_noSPRB.kat", + "30_link_arm_north_SNEB.kat", + "50_cavities.kat", + "70_detectors.kat", + "70_degree_of_freedom.kat", + "99_after_variables.kat", + ], + ) +``` + +The advantage of this is the control we have over the interferometer + simulation, and the readibility. Tracking change is also easier, +variable definition being detached from setup configuration.