\n",
"\n",
"## IUCAA Finesse Workshop 18-22nd Dec 2019\n",
"
"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Modelling Advanced LIGO\n",
"\n",
"The previous notebooks we have been doing this week have all been leading up to us modelling **Advanced LIGO**! Hopefully you are happy with all the topics that were presented in the previous notebooks, as these tasks will require knowledge from all of them.\n",
"\n",
"This notebook contains 4 tasks:\n",
"- Degree of freedom transfer functions\n",
"- Arm cavity and power recyling cavity bandwidth\n",
"- Resonant sideband extraction\n",
"- Noise coupling in Advanced LIGO\n",
"\n",
"We will ask each group to present one of the tasks to all the others. Which tasks will be chosen at random, so between everyone in your group you have to have done all four!\n",
"\n",
"## Getting Started\n",
"\n",
"As usual, everyone should start by loading PyKat and the other Python packages we will need:\n",
"\n",
"(type shift+enter to run)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"from pykat import finesse # import the whole pykat.finesse package\n",
"from pykat.commands import * # import all packages in pykat.commands\n",
"import numpy as np # for basic math/sci/array functions\n",
"import matplotlib.pyplot as plt # for plotting\n",
"\n",
"# tell the notebook to automatically show plots inline below each cell\n",
"%matplotlib inline \n",
"# use pykat's plotting style. change dpi to change plot sizes on your screen\n",
"pykat.init_pykat_plotting(dpi=90)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# The Advanced LIGO model\n",
"\n",
"Here we provide you with an Advanced LIGO model. It is a dual-recycled Fabry-Perot Michelson interferometer. It has two arm cavities, made up of the mirros `ITMX` and `ETMX`, and `ITMY` and `ETMY`. There is also a power recycling mirror, `PRM`, and a signal recycling mirror `SRM`. You should familiarise yourself with the code for these mirrors as the tasks will require that you vary their parameters.\n",
"\n",
"Make sure you run this next cell:"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"base = finesse.kat()\n",
"base.parse(\"\"\" \n",
"l LI 125 0 nin\n",
"s s1 0 nin nprc1\n",
"\n",
"# Power recycling mirror\n",
"m1 PRM 0.03 37.5u 90 nprc1 nprc2\n",
"s prc 53 nprc2 nbsin\n",
"\n",
"# Central beamsplitter\n",
"bs bs1 0.5 0.5 0 45 nbsin n0y n0x nbsout\n",
" \n",
"# X-arm\n",
"s sx 4.50 n0x n1x\n",
"m1 ITMX 0.014 37.5u 90 n1x n2x\n",
"s Lx 3995 n2x n3x\n",
"m1 ETMX 0 37.5u 90 n3x n4x\n",
"\n",
"# Y-arm\n",
"s sy 4.45 n0y n1y\n",
"m1 ITMY 0.014 37.5u 0 n1y n2y\n",
"s Ly 3995 n2y n3y\n",
"m1 ETMY 0 37.5u 0 n3y n4y\n",
" \n",
"# Signal recycling mirror\n",
"s src 50.525 nbsout nsrc1\n",
"m1 SRM 0.2 37.5u 90 nsrc1 nout\n",
"\n",
"# These commands give the mirrors a mass\n",
"# by default they are infinitely heavy\n",
"attr ITMX mass 40 \n",
"attr ETMX mass 40\n",
"attr ITMY mass 40\n",
"attr ETMY mass 40\n",
"\n",
"# The code below here is what is known as a homodyne detector.\n",
"# Do not try and understand these commands! \n",
"# We just use it as a convenient way to get QN and TF together.\n",
"l LO 1 0 90 nLO2\n",
"s sLO1 0 nout nLO3\n",
"bs bsLO 0.5 0.5 0 0 nLO3 nHD1 nHD2 nLO2\n",
"hd TF 180 nHD1 nHD2\n",
"qhd QN 180 nHD1 nHD2\n",
"\"\"\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Task Options"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"For all your tasks you should now use:\n",
"```python\n",
"kat = base.deepcopy()\n",
"```\n",
"to make a copy of this base model which you can then add your own commands to."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"
\n",
"\n",
"### Task: Degrees of freedom transfer functions\n",
"\n",
"This task will require you to model how the motion of three different mirror degrees of freedom affects the output signal.\n",
"\n",
"**(a)** The LIGO model above already has a photodiode to measure the transfer function called `TF`. Plot the transfer function using the `TF` output and compute the transfer functions to the output for:\n",
"- differential ETMX and ETMY motions\n",
"- common ETMX and ETMY motions\n",
"- PRM motion\n",
"- SRM motion\n",
"\n",
"The units of the transfer function should be [W/m]. Plot this over a frequency range from 1Hz to 10kHz in 1000 logarithimic steps.\n",
"\n",
"**(b)** What do these transfer functions tell you about the interferometer?\n",
"
\n",
"\n",
"### Task: Radiation pressure\n",
"\n",
"This task wants you to study how the radiation pressure noise behaves in LIGO.\n",
"\n",
"**(a)** Add the `fsig` commands to generate a gravitational wave signal\n",
"\n",
"**(b)** Plot the quantum noise limited sensitivity for three input laser powers:\n",
"- 12.5 W\n",
"- 125 W\n",
"- 1250 W\n",
"\n",
"We have already added the detectors you should use to the model, `QN` is the quantum noise, and `TF` is the signal transfer function, so you do not need to add any new detectors for this task.\n",
"Plot this over a frequency range from 1Hz to 10kHz in 1000 logarithimic steps.\n",
"\n",
"**(c)** Why does the sensitivity of the detector change as it does in your plot?\n",
"\n",
"**(d)** Usually we say that we make can our detectors more senstive by increasing the laser power. Is it possible to make this LIGO sensitive to gravitational wave with $h\\sim10^{-24}$ at 10Hz just by increasing the laser power?\n",
"
\n",
"\n",
"### Task: Arm cavity finesse and the bandwidth of the instrument\n",
"\n",
"This task wants you to study how the finesse of the arm cavities affects the gravitational wave transfer function.\n",
"You should use the LIGO model provided above for this exercise.\n",
"\n",
"**(a)** Add a photodiode, `pd`, to measure the circulating power in the x-arm cavity. Add the `fsig` commands to generate a gravitational wave signal\n",
"\n",
"**(b)** Compute the GW signal transfer using the `TF` output already included in the LIGO model and plot it over a frequency range from 1Hz to 10kHz in 1000 logarithimic steps. Make a note of the power in the x-arm cavity.\n",
"\n",
"**(c)** Now increase the finesse of the arm cavities, we do this by making the intput mirrors **more reflective**. Change `ITMY` and `ITMX` so that R=0.998 and T=0.002.\n",
"\n",
"**(d)** Compute how much power is now in the x-arm. Why does the power increase? Change the input laser so that you now have the same power in the x-arm as you did in (b). You must do this to make a fair comparison.\n",
"\n",
"**(e)** Again, compute the GW signal transfer using the `TF` output from the model using the high finesse cavities. Plot this on the same figure as your result from (b).\n",
"\n",
"**(f)** What affect on the GW signal transfer function does increasing the arm cavity finesse have?\n",
"\n",
"**(g)** Would making the finesse very high be good for detecting a wide range of GW signals?\n",
"
\n",
"\n",
"### Task: Signal recycling mirror (SRM)\n",
"\n",
"This task aims show how the **signal recycling cavity** changes the detector. To do this we will look at how the gravitational wave signal transfer function changes when we add and remove the SRM. You should use the LIGO model provided above for this exercise.\n",
"\n",
"**(a)** Add a photodiode, `pd`, to measure the circulating power in the x-arm cavity. Add the `fsig` commands to generate a gravitational wave signal\n",
"\n",
"**(b)** The model has the SRM included by default. Compute the GW signal transfer using the `TF` output already included in the LIGO model and plot it over a frequency range from 1Hz to 10kHz in 1000 logarithimic steps.\n",
"\n",
"**(c)** Make the SRM 100% transparent, this effectively removes it as it no longer has any affect on the optical fields. Compute the GW signal transfer function again and plot it on the same figure you made in (c)\n",
"\n",
"**(d)** How does the SRM change the detector's ability to sense GW signals?\n",
"\n",
"**(e)** Does having the SRM affect the power in the arm cavities?\n",
"