Add README.md

This commit is contained in:
linarphy 2024-07-09 17:56:39 +02:00
parent 5fade1d7a6
commit 1bc3b57b42
No known key found for this signature in database
GPG key ID: E61920135EFF2295

102
README.md Normal file
View file

@ -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.