Advanced Virgo Optical Simulations
This pages motivates and introduces the optical simulation tools in use at Virgo
The development of optical simulation tools is one of the primary goals of the previous Optical Simulation and Design (OSD) subsystem of Virgo.
Simulations task list
Inside Advanced Virgo (AdV
), the EM fields are complex and difficult to model analytically, especially in the presence of asymmetries, mirror defects, and 3D setups.
Consequently, simulations are an essential part of the baseline design
phase of any part of AdV
. What's more, an updated and relevant set of simulation tools is crucial to the construction
phase to check the design consistency, by inputing simulations with real mirror parameters and results from the pre-commissioned subsystems (such as the laser, TCS systems).
Furthermore, simulations are essential to the commissioning
phase. Indeed, the multiplicity of tools allows for cross-checks, and decreases the risk of errors.
Finally, the development phases of such tools in various laboratories of the Virgo Collaboration themselves allow for a better comprehension of the results
and increases local experience of optical simulation.
The complexity of the optical phenomena occurring in the Virgo interferometer brings many diverse and specialized approaches to the simulation of these phenomena. We will review the five main approaches
to optical simulation, which are:
- FFT codes
- modal codes
- ray tracing codes
- time domain simulations
1. Modal Codes
These codes expand the electric field on a base of Hermite-Gauss or Laguerre-Gauss modes. In AdV
, the convenient base is that formed of the eigenmodes of the perfect and cold 3-km cavity
(with no thermal effects).
These codes are in general very useful in the early phases
of the design, in which no large defects are considered, since a low number of modes is required. As it has been showed by works carried out inside the OSD group, the precision and convergence of these codes must be carefully checked when they are used to reproduce marginally stable cavities or small spatial defects.
Only those tools currently can simulate properly the quantum effects (radiation pressure noise and shot noise) or complex optomechanical interactions (optical spring for example). Modal expansions are also very handy to calculate transer functions.
Let us mention:
Page for the finesse installation and use
- Finesse (C, soon Python), note that Finesse also supports quantum noise calculations (filtering cavities for example)
- MIST (MATLAB)
- Optickle (MATLAB)
Installation 101 to run Finesse within a Python notebook.
Exemple of notebook
- blah blah install this find here
- and that / that
- and do not forget that
How to compile the finesse executable
The latest version of Finesse can be found here: https://git.ligo.org/finesse/
. To install the latest packages, the following commands (for linux) can be used:
git clone https://git.ligo.org/finesse/finesse
git clone https://git.ligo.org/finesse/pykat.git
And also from: https://git.ligo.org/IFOsim/Finesse_playground (must use the graphical interface there unless you have an account)
Then go to the /finesse directory and use:
If you are missing the GNU Scientific Library (GSL), you have to install it manually, that is the development version which is necessary:
sudo apt-get install libgsl0-dev
2. FFT Codes
In the Fast Fourier Transform (FFT) codes, the electric field is expanded in plane wave components
through FFT transform. The plane waves are propagated independently through free space and optical components according to the laws of geometrical optics. The resulting steady-state fields are computed by inverse Fourier transform and recombined
to form the final electric field in the setup.
The advantage of these codes is the fact that no priors on the fields are needed and that they can give precise results. The drawback is that these code are in general slower than modal codes and their use is probably less effective in the first phases of the design.
4. Ray Tracing Codes
In a ray tracing code simulation, input beams and an optical setup are specified as input. The input beams are then traced through the setup, either recursively (non-sequential
tracing, the code determines itself which optics are impacted by which beams) or not (sequential
tracing, the order of the impacts of the beams on the optics is an input from the user). The beams' axises are calculated according to the laws of geometrical optics, and their Gaussian parameters according to methods such as phase matching on the surface of the optics.
These are general codes which each offer special features (cavities, interferences, reverse ray tracing). These codes are most useful during design
phases as well as during commissioning
phases for ghost beam hunting, optimization and adjustments of optical benches, especially when they allow scripting.
5. Time Domain Simulation
Members of LIGO developed the end-to-end model (E2E
), which is a time domain modal code which includes many effects, including radiation pressure. It is extremely slow
, but useful for studying interferometer dynamics (and in particular, transient effects).
The Gravitational Wave Interferometer Noise Calculator (GWINC) does not actually simulate an interferometer, but calculates the contributions of various noise sources and the resulting detection ranges for specific astrophysical sources.
- GWINC (MATLAB), available on the local Virgo SVN repository
-- Main.Duque - 23 Aug 2017