Skip to content
Snippets Groups Projects

Suspension thermal noise sub-budgets

Merged Kevin Kuns requested to merge kevin.kuns/pygwinc:sus-sub-nb into master
All threads resolved!
1 file
+ 0
49
Compare changes
  • Side-by-side
  • Inline
+ 0
49
@@ -124,57 +124,8 @@ def ifo_power(ifo, PRfixed=True):
power.Tpr = Tpr
return power
############################################################
# precomp functions
############################################################
def precomp_suspension(f, ifo):
pc = Struct()
pc.VHCoupling = Struct()
if 'VHCoupling' in ifo.Suspension:
pc.VHCoupling.theta = ifo.Suspension.VHCoupling.theta
else:
pc.VHCoupling.theta = ifo.Infrastructure.Length / const.R_earth
hForce, vForce, hTable, vTable = suspension.suspQuad(f, ifo.Suspension)
pc.hForce = hForce
pc.vForce = vForce
pc.hTable = hTable
pc.vTable = vTable
return pc
##################################################
############################################################
# calibration
############################################################
def dhdl(f, armlen):
"""Strain to length conversion for noise power spetra
This takes into account the GW wavelength and is only important
when this is comparable to the detector arm length.
From R. Schilling, CQG 14 (1997) 1513-1519, equation 5,
with n = 1, nu = 0.05, ignoring overall phase and cos(nu)^2.
A small value of nu is used instead of zero to avoid infinities.
Returns the square of the dh/dL function, and the same divided by
the arm length squared.
"""
c = const.c
nu_small = 15*pi/180
omega_arm = pi * f * armlen / c
omega_arm_f = (1 - sin(nu_small)) * pi * f * armlen / c
omega_arm_b = (1 + sin(nu_small)) * pi * f * armlen / c
sinc_sqr = 4 / abs(sin(omega_arm_f) * exp(-1j * omega_arm) / omega_arm_f
+ sin(omega_arm_b) * exp(1j * omega_arm) / omega_arm_b)**2
dhdl_sqr = sinc_sqr / armlen**2
return dhdl_sqr, sinc_sqr
def precomp_suspension(f, ifo):
pc = Struct()
@@ -200,7+151,7 @@
pc.ASvac = noise_dict['ASvac']
pc.SEC = noise_dict['SEC']
pc.Arm = noise_dict['arm']
pc.Injection = noise_dict['injection']
pc.PD = noise_dict['pd']
# FC0 are the noises from the filter cavity losses and FC0_unsqzd_back
Loading