Commit e3f26bf2 authored by Andreas Freise's avatar Andreas Freise
Browse files

adding help text

parent 0e2c7295
# ------------------------------------------------------ """
# Moving some utility function from Simtools ------------------------------------------------------
# http://www.gwoptics.org/simtools/ Utility functions to compute parameters of Fabry
# to PyKat. Work in progress, currently these Perot cavities. Functions based on earlier version
# functions are not tested. in Matlab( http://www.gwoptics.org/simtools/)
# Work in progress, currently these functions are
# Andreas 30.11.2014 untested!
# ------------------------------------------------------
Andreas 30.11.2014
http://www.gwoptics.org/pykat/
------------------------------------------------------
"""
from __future__ import absolute_import from __future__ import absolute_import
from __future__ import division from __future__ import division
from __future__ import print_function from __future__ import print_function
...@@ -15,6 +19,13 @@ from __future__ import unicode_literals ...@@ -15,6 +19,13 @@ from __future__ import unicode_literals
import numpy as np import numpy as np
def cavity_info(Lambda, L, Rc1, Rc2): def cavity_info(Lambda, L, Rc1, Rc2):
"""
Function computes several cavity paramaters
Input: Lambda, L (length), Rc1, Rc2 (radii of curvature of cavity mirrors)
Output: zr (Rayleigh range), w0 (waist size), z1 (distance waist<->mirror1)
w1, w2 (spot size on both mirrors)
See examples/optics/cavity_w_Rc.py for an example usage.
"""
g1 = 1-L/Rc1 g1 = 1-L/Rc1
g2 = 1-L/Rc2 g2 = 1-L/Rc2
G = g1*g2 G = g1*g2
...@@ -31,6 +42,11 @@ def cavity_info(Lambda, L, Rc1, Rc2): ...@@ -31,6 +42,11 @@ def cavity_info(Lambda, L, Rc1, Rc2):
return [zr, w0, z1, w1, w2] return [zr, w0, z1, w1, w2]
def cavity_w1w2_Rc1Rc2(Lambda, L, w1, w2): def cavity_w1w2_Rc1Rc2(Lambda, L, w1, w2):
"""
Function computes the radii of curvatures (Rc1, Rc2) for a linear
cavity to produce the requested mirror spot sizes (w1,w2) for a given
length (L) and wavelength (Lambda).
"""
C = (Lambda*L/np.pi)**2 C = (Lambda*L/np.pi)**2
g1 = -1.0 * np.sqrt(1-C/(w1*w2)**2)*(w2/w1) g1 = -1.0 * np.sqrt(1-C/(w1*w2)**2)*(w2/w1)
g2 = -1.0 * np.sqrt(1-C/(w1*w2)**2)*(w1/w2) g2 = -1.0 * np.sqrt(1-C/(w1*w2)**2)*(w1/w2)
......
Supports Markdown
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