FINESSE 0.98, Frequency Domain Interferometer Simulation Software
Total Page:16
File Type:pdf, Size:1020Kb
FINESSE 0.98 Frequency domain INterferomEter Simulation SoftwarE Andreas Freise Finesse is a fast interferometer simulation software. For a given optical setup, the pro- gram computes the light field amplitudes at every point in the interferometer assuming a steady state. To do so, the interferometer description is translated into a set of linear equa- tions that are solved numerically. For convenience, a number of standard analyses can be performed automatically by the program, namely computing modulation-demodulation error signals, transfer functions and shot-noise limited sensitivities. Finesse can per- form the analysis using a plane-wave approximation or Hermite-Gauss modes. The latter allows to compute the effects of mode matching and misalignments. In addition, error signals for automatic alignment systems can be modeled. 28.02.2005 Finesse and the accompanying documentation and the example files have been written by: Andreas Freise European Gravitational Observatory Via E. Amaldi 56021 Cascina (PI) Italy [email protected] Parts of the Finesse source and ’mkat’ have been written by Gerhard Heinzel, the document ’sidebands.ps’ by Keita Kawabe, the Octave examples and its description by Gabriele Vajente. The software and documentation is provided as is without any warranty of any kind. Copyright c by Andreas Freise 1999-2005. For the moment I only distribute a binary version of the program. You may freely copy and distribute the program for non-commercial purposes only. Especially you should not charge fees or request donations for any part of the Finesse distribution (or in connection with it) without the author’s written permission. No other rights, such as ownership rights, are transferred. ------------------------------------------------------------------------ FINESSE 0.98 - Help Screen - A. Freise 28.02.2005 ------------------------------------------------------------------------ ** usage (1) kat [options] infile [outfile [gnufile]] or (2) kat [options] basename in (2) e.g. basename ’test’ means input filename : ’test.kat’, output filename : ’test.out’ and Gnuplot batch filename : ’test.gnu’. ** Available options : -h : prints this help (-hh prints second help screen) -c : check consistency of interferometer matrix -max : prints max/min --perl1 : suppresses printing of banner --quiet : suppresses almost all screen outputs ** Available interferometer components : l name P f [phase] node - laser m name R T phi node1 node2 - mirror (or: m* name T Loss phi ... , with T, Loss in ppm) s name L [n] node1 node2 - space bs name R T phi alpha node1 node2 node3 node4 - beamsplitter (or: bs* name T Loss phi ... , with T, Loss in ppm) isol name S node1 node2 - isolator mod name f midx order am/pm [phase] node1 node2 - modulator lens f node1 node2 - thin lens ** Detectors : pd[n] name [f1 [phase1 [f2... ]]] node[*] - photodetector [mixer] pdS[n] name [f1 phase1 [f2... ]] node[*] - sensitivity pdN[n] name [f1 phase1 [f2... ]] node[*] - norm. photodetector ad name [n m] f node[*] - amplitude detector shot name node[*] - shot noise bp name x/y parameter node[*] - plots beam parameters gouy name x/y space-list - plots gouy phase beam name [f] node[*] - plots beam shape ** Available commands : fsig name component [type] f phase [amp] - signal tem input n m factor phase - input power in TEMs mask detector n m factor - mode mask for outputs pdtype detector type-name - set detector type attr component M value Rcx/y value x/ybeta value - attributes of m/bs (alignment angles beta in [rad]) gauss name component node w0 z [wy0 zy] - set q parameter gauss* name component node q [qy] (q as ’z z_R’) - set q parameter cav name component1 node component2 node - trace beam in cavity maxtem order - TEM order: n+m<=order phase 0-7 (default: 3) - change Gouy phases (1: phi(00)=0, 2: gouy(00)=0, 4: switch ad phase ) retrace - always re-trace beam startnode node - startnode of trace var name value - variables ** Plot and Output related commands : trace verbosity - verbose tracing yaxis [lin/log] abs:deg/db:deg/re:im/abs/db/deg - y-axis definition scale factor [output] - y-axis rescaling xaxis[*] component param. lin/log min max steps - parameter to tune xparam component parameter factor offset - tune another param. as factor*x + offset (or xparam* component parameter factor) x2axis[*] component param. lin/log min max steps - second x-axis for 3D plot x2param component parameter factor offset - (as xparam) (or x2param* component parameter factor) diff component parameter - differentiation ** Auxiliary plot commands : gnuterm terminal [filename] - Gnuplot terminal pause - pauses after plotting multi - plots all surfaces GNUPLOT \ ... \ END - set of extra commands for plotting. ------------------------------------------------------------------------ FINESSE 0.98 - Help Screen (2) - A. Freise 28.02.2005 ------------------------------------------------------------------------ ** Some conventions: names (for components and nodes) must be less than 15 characters long angles of incidence, phases and tunings are given in [deg] (a tuning of 360 deg corresponds to a position change of lambda) misalignment angles are given in [rad] ** Geometrical conventions: tangential plane: x,z (index n), saggital plane: y,z (index m) xbeta refers to a rotation in the x,z plane, i.e. around the y-axis R<0 when the center of the respective sphere is down beam (mirror: node1 -> node2, beam splitter: node1 -> node3) beam parameter z<0 when waist position is down beam ** trace n: ‘n’ bit coded word, the bits give the following output: trace 1: list of TEM modes used trace 2: cavity eigenvalues and cavity parameters like FWHM, FSR optical length and Finesse trace 4: mode mismatch parameters for the initial setup trace 8: beam parameters for every node, nodes are listed in the order found by the tracing algorithm trace 16: Gouy phases for all spaces trace 32: coupling coefficients for all components trace 64: mode matching parameters during calculation, if they change due to a parameter change, for example by changing a radius of curvature. trace 128: nodes found during the cavity tracing ** phase 0-7: also bit coded, i.e. 3 means ‘1 and 2’ phase 1: phase of coupling coefficients k_00 set 0 phase 2: Gouy phase of TEM_00 set to 0 phase 4: ‘ad name n m f’ yields amplitude without Gouy phase (default: phase 3) ** kmn n: ‘n’ bit coded word, set computation of coupling coeffs.: kmn 0 : use approximation from Bayer-Helms kmn 1 : verbose, i.e. print coupling coefficients. kmn 2 : use numerical intergration if x and y misalignment is set. kmn 4 : use numerical intergration if x or y misalignment is set. kmn 8 : use always numerical intergration. (default: kmn 0) ** bp, possible parameters for this detector: w : beam radius w0 : waist radius z : distance to waist zr : Rayleigh range g : Gouy phase q : Gaussian beam parameter ** isol S, suppression given in dB: amplitude coefficient computed as 10^-(S/20) ** maxtem O/off : O=n+m (TEM_nm) the order of TEM modes, ‘off’ switches the TEM modus off explicitly Contents 1. Introduction 1 1.1. Motivation . 2 1.2. How does it work . 3 1.3. Quick start . 3 2. The program files 15 2.1. kat - the main program . 15 2.2. kat.ini - the init file for kat . 15 2.3. *.kat - the input files (how to do a calculation) . 17 2.4. *.out - the output files . 17 2.5. *.gnu - the Gnuplot batch file files . 18 3. Mathematical description of light beams and optical components 19 3.1. Introduction . 19 3.1.1. Static response and frequency response . 19 3.1.2. Transfer functions and error signals . 20 3.1.3. The interferometer matrix . 23 3.2. Conventions and concepts . 24 3.2.1. Nodes and components . 24 3.3. Frequencies and wavelength . 25 3.3.1. Phase change on reflection and transmission . 26 3.3.2. Lengths and tunings . 26 3.4. The plane-wave approximation . 27 3.4.1. Description of light fields . 28 3.4.2. Photo detectors and mixers . 28 3.4.3. Modulation of light fields . 29 3.4.4. Coupling of light field amplitudes . 33 3.4.5. Input fields or the ‘right hand side’ vector . 39 3.4.6. Photo detectors and demodulation . 44 4. Higher-order spatial modes, the par-axial approximation 49 4.1. Gaussian beams . 50 4.2. Higher order Hermite-Gauss modes . 52 4.2.1. Gaussian beam parameter . 53 4.2.2. Tangential and sagittal plane . 54 4.2.3. Gouy phase shift . 54 4.2.4. Tracing the beam . 55 4.2.5. ABCD matrices . 56 4.3. Interferometer matrix with Hermite-Gauss modes . 59 4.4. Coupling of Hermite-Gauss modes . 60 v Contents 4.4.1. Coupling coefficients for TEM modes . 61 4.4.2. Alignment transfer function . 63 4.5. Detection of Hermite-Gauss modes . 64 4.5.1. Amplitude detectors . 64 4.5.2. Photo detectors . 65 4.6. Limits to the par-axial approximation . 65 4.7. Misalignment angles at a beam splitter . 67 4.7.1. Aperture effects and diffraction losses . 69 A. Example files 71 A.1. Simple examples . 71 A.1.1. cavity1.kat . 72 A.1.2. cavity2.kat . 74 A.1.3. 3D.kat . 76 A.1.4. dc-schnupp.kat . 78 A.1.5. donut.kat . 80 A.1.6. rotate.kat . 82 A.2. mkat - a perl preprocessor for Finesse .................... 83 A.3. Finesse and Octave/Matlab . 86 B. Some mathematics 89 B.1. Hermite polynomials . 89 B.2. The paraxial wave equation . 89 C. Syntax reference 91 C.1. Comments . 91 C.2. Components . 91 C.3. Hermite-Gauss extension . 96 C.4. Commands . 104 C.5. Auxiliary plot commands . 107 Acknowledgements 109 Bibliography 111 vi Chapter 1. Introduction Finesse is a simulation program for interferometers. The user can build any kind of virtual interferometer using the following components: - lasers, with user-defined power, wavelength and shape of the output beam; - free spaces with arbitrary index of refraction; - mirrors and beam splitters, with flat or spherical surfaces; - modulators to change amplitude and phase of the laser light; - amplitude or power detectors with the possibility of demodulating the detected signal with one or more given demodulation frequencies; - lenses and Faraday isolators.