Modelling optics and laser interferometers

(Our tools for detection gravitational waves)

We make use of several computer simulations and related tools for designing, analysing and optimising laser interferometers. Most of these tools were specifically developed by the gravitational wave community, but they can useful in other areas that use laser optics.

Software hosted by us

On we provide a number of open source software tools and other resources, developed by us and colleagues in the GEO collaboration:


This is our main tool, used in many projects world-wide. Finesse is a sophisticated simulation package for modelling optics and laser interferometers. Developed for the design of gravitational wave detectors, but easy to use for students with simpler lab-based setups. It includes advanced features such as higher-order modes, quantum noise and radiation pressure effects. Get the program, the source and plenty of documentation on our Finesse page!


A Python-based collection of utilities for optical simulations. In particular we use PyKat as a powerful interface for running the Finesse simulation. PyKat is also the basis for our new online material for learning laser interferometry, using IPython notebooks.

Inkscape Logo

Clear illustrations of optical setups are a key element for communicating the results of numerical models. With the Component Library we provide free vector graphics images of many common laser optics building blocks (use e.g. with Inkscape). See also the animated optical layout of the Einstein Telescope for another example for using SVG vector graphics in gravitational waves research.


SimTools is a collection of Matlab m-files, containing utility functions or example scripts. This set of files was originally written to be used with Finesse. In addition, it includes an extensive set of Matlab functions and scripts regarding Gaussian optics and higher order modes. Simtools includes many contributed functions from several other people.


Software by other

The software listed below is just a small example of various tools available in the gravitational wave community. This list is work in progress and I will add more entries soon. Meanwhile you can check the other two lists of optical simulation tools that I maintain, the list of the GEO simulation group and of the Gravitational Wave International Committee (GWIC).


OSCAR is a FFT based optical simulation package used to simulate Fabry-Perot cavities or interferometers with realistic optics. The code is written in Matlab, easy to use and is well documented. Typical OSCAR simulations include cavity round trip loss estimations and calculations of steady state fields in interferometers. For the design of Advanced Virgo, OSCAR has been used to find the specifications for the arm cavity mirror flatness and to calculate the loss in sideband power in the recycling cavities.


Optickle is a Matlab-based frequency domain model for simulating opto-mechanical systems. It is based on a modal model, though only the lowest 3 HG modes are available. Optical configurations are setup by combining lasers, mirrors, propagators and other devices like modulators and detectors. Mechanical systems are represented in terms of their response to radiation pressure.


DarkF is an optical simulation code in FORTRAN 90 able to represent with a high accuracy any kind of stable cavity, even when many static or dynamical defects are present, like misalignments, curvature errors, surface irregularities, substrate inhomogeneities. It uses a plane wave decomposition to propagate the wavefronts. With the Fourier transform method, it is easy to obtain a propagated beam and we can use this code to simulate a simple or a complex system as a Fabry Perot cavity or Advanced detectors, such as Advanced Virgo, Advanced LIGO or Kagra.


Related software

In order to successfully model physical systems it is often useful and sometimes requires to be able to program. In addition to providing tools we are engaged in teaching new students to code. Currently our efforts are concentrated on Python but we used Processing for this purpose before.

Processing Logo

We needed a simple, powerful tool allowing non-programmers to quickly develop computer tools. Processing is free, cross-platform, provides quality graphics and exports applications for Windows, OS X, Linux, Android and online applets. See our many online examples and our open source Processing library!



Modern gravitational wave detectors are enormous scientific instruments, with laser interferometers at their heart. Light has both particle and wave characteristics. It transfers energy like a particle but propagates like a wave. Interferometry can display the wave-like nature of light. We make use of light waves to measure length between mirrors to an extremely high precision. A passing gravitational wave would change the observed distance between the mirrors and can thus be measured.

They key to the successful design and construction of such a laser interferometer, is to ensure that other disturbances, such as environmental noise or technical noise, do not disturb the interferometer signals. The individual elements that compose the interferometers, including mirrors, beam splitters, lasers, modulators, various polarising optics, photo detectors and so forth, are individually well described by relatively simple, mostly-classical physics. However, a new complexity arises from the special application and combination of these elements which is different from other applications. Thus optical design tasks are based on relatively simple mathematics but due to the complexity of the overall system, numerical simulations have to be used.

More information about the mathematical framework for describing the optical systems can be found in this free review article.