finesse-virgo-model/README.md

67 lines
1.8 KiB
Markdown

# Virgo model
Interferometer for Finesse 3. Can be used with the
[finesse-virgo](https://gitlab.com/ifosim/finesse/finesse-virgo)
package.
## Get started
For simple use, `layout` file can be used. A layout is a list of files
separated by new line to load in order to create a
[finesse3](https://finesse.ifosim.org) model. The "simple" model
present some quick model with little components which allows to
manipulate easily a finesse model.
The "finesse-virgo" model correspond to the model available in the
[finesse-virgo package](https://git.ligo.org/ifosim/finesse-virgo).
## Sections
Katscript files are organized in different types, which are `values`,
`optical setup`, `link`, `cavities definition`, `degree of freedom`,
`detectors` and `after variables`.
### variables
Contains values used in the setup.
It can defines variable which depends of components in the setup for
preprocessing (finesse-virgo package for example) too.
### components
Defined part of the optical setup (Laser, Mirror, etc.) or set of parts.
### links
Link together parts of the optical setup defined before
### cavities
Defines Finesse3 cavity
### degree of freedom
Defines Finesse3 degree of freedom
### detectors
Add Finesse3 detectors
## Getting started
Code example to build a Virgo model with these scripts.
```py
from pathlib import Path
layout_file = Path("layout/finesse-virgo/no_benches") # path to layout file
with layout_file.open() as f:
files = f.read().splitlines() # convert layout file to list of path
virgo = Virgo(
files_to_parse = files, # create model with the given list of path
)
```
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.