Commit 680c27d9 authored by Samuel Rowlinson's avatar Samuel Rowlinson

more improvements to API documentation

parent 61346e0e
......@@ -3,4 +3,25 @@
==================================================
.. automodule:: finesse.utilities
:members:
\ No newline at end of file
Functions
=========
.. currentmodule:: finesse.utilities
Beam Parameter Manipulation
---------------------------
.. autosummary::
:toctree: generated/
apply_ABCD
Miscellaneous
-------------
.. autosummary::
:toctree: generated/
check_name
pairwise
\ No newline at end of file
......@@ -51,7 +51,7 @@ an API documentation and above all a readable source code.
|Finesse| 1 and 2 (2011-2017)
-----------------------------
At the University of Birmingham Andreas Freise encourgaged
At the University of Birmingham Andreas Freise encouraged
several members of his research group to start a new phase of
development, testing and using |Finesse|. Daniel Brown became lead
programmer and provided a large number of bug fixes and new
......
......@@ -36,9 +36,9 @@ Literally every parameter of the interferometer description can be tuned
during the simulation. The typical output is a plot of a photodetector
signal as a function of one or two parameters of the interferometer
(e.g. arm length, mirror reflectivity, modulation frequency, mirror
alignment). Optional text output provides information about the optical setup
like, for example, mode mismatch coefficients, eigenmodes of cavities and beam
sizes.
alignment). Optional text output provides information about the optical setup
including, but not limited to, mode mismatch coefficients, eigenmodes of cavities
and beam sizes.
|Finesse| provides a fast and versatile tool that has proven to be very
useful during design and commissioning of interferometric gravitational wave
......@@ -51,7 +51,7 @@ cavity or modulation-demodulation methods.
Motivation and History
**********************
The search for gravitational waves with interferometric detectors has led
The search for gravitational waves with interferometric detectors has led
to a new type of
laser interferometer: new topologies are formed combining known
interferometer types. In addition, the search for gravitational waves requires optical
......@@ -64,7 +64,7 @@ been the subject of extensive research.
:align: center
Bird's eye view of the |GEO600| gravitational wave detector
near Hannover, Germany. Image courtesy of Harald Lück, Albert
near Hannover, Germany. Image courtesy of Harald Lück, Albert
Einstein Institute Hannover.
Several prototype interferometers have been built during the last few
......@@ -81,7 +81,7 @@ detecting gravitational waves. Work on prototype interferometers has shown that
optical system become very complex even though they are based on simple
principles. Consequently, computer programs have been developed to automate
the computational part of the analysis. To date, several programs for
analysing optical systems are available to the gravitational wave community :cite:`gwic`.
analysing optical systems are available to the gravitational wave community :cite:`gwic`.
The idea for |Finesse| was first raised in 1997, when (Andreas) was visiting
the Max-Planck-Institute for Quantum Optics
......@@ -99,9 +99,9 @@ In the following years |Finesse| was continually developed during my work at
the university in Hannover within the GEO project :cite:`geo2010,geo_proposal`.
|Finesse| has been most frequently utilised during the commissioning of
|GEO600|, some of these simulation results have been published in
|GEO600|, some of these simulation results have been published in
:cite:`amaldi03_lueck,amaldi03_malec,amaldi03_grote,amaldi03_freise`
and in :cite:`phd.Freise`.
and in :cite:`phd.Freise`.
More recently |Finesse| has been used during the commissioning of Advanced LIGO.
|Finesse| is now actively developed as an open source project and it is
......
......@@ -6,14 +6,14 @@
----
.. note:: This is the documentation for |Finesse| 3, which is in a
.. note:: This is the documentation for |Finesse| 3, which is in a
pre-alpha stage of development. You can find the documentaton, executables and code
for the stable |Finesse| 2 at `<http://www.gwoptics.org/finesse>`_.
Overview
========
Finesse is a fast and easy to use Python-based interferometer simulation program.
Finesse is a fast and easy to use Python-based interferometer simulation program.
It uses frequency-domain optical modelling to build accurate
quasi-static simulations of arbitrary interferometer configurations.
......@@ -21,15 +21,15 @@ For convenience, a number of standard analyses can be performed
automatically by the program, namely computing modulation-demodulation error
signals, transfer functions, quantum-noise-limited sensitivities, and beam
shapes. The optical system can be modelled using the plane-wave
approximation or Hermite-Gauss modes, allowing the computation of
optical systems like telescopes or the effects of mode matching
and mirror angular positions.
approximation or Hermite-Gauss modes, allowing the computation of
optical systems like telescopes or the effects of mode matching
and mirror angular positions.
Finesse is based on an object-oriented design and provvides a large set of uttility
function for ease of use when handling complex simulation tasks, for example:
Finesse is based on an object-oriented design and provides a large set of utility
functions for ease of use when handling complex simulation tasks, for example:
- chained simulations,
- advanced plotting of outputs,
- automation of simulations,
- automated simulations,
- the use of Jupyter notebooks to document simulation tasks,
- and much more!
......@@ -29,14 +29,23 @@ def check_name(name):
return name
def pairwise(iterable):
"""
Iterates through each pair in a iterable
"""Iterates through each pair in a iterable.
Parameters
----------
iterable : Sub-class of :class:`.collections._collections_abc.Iterable`
An iterable object.
Returns
-------
zip
A zip object whose `.next()` method returns a tuple where the i-th
element comes from the i-th iterable argument.
"""
a, b = tee(iterable)
next(b, None)
return zip(a, b)
def apply_ABCD(Mabcd, q1, nr1, nr2):
r"""Applies an ABCD matrix to the beam parameter `q1`.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment