Skip to content
Snippets Groups Projects
Commit d94a4f53 authored by Kevin Kuns's avatar Kevin Kuns
Browse files

pass arm cavity and molecular gas properties to res gas function

* pass the cavity struct computed with arm_cavity to residual_gas_cavity instead of having it compute the parameters again
* pass the properties of the molecular species separately so that the function can be generalized for multiple species
parent 7c146498
No related branches found
No related tags found
1 merge request!121Residual gas sub-budgets and updates
......@@ -763,7 +763,9 @@ class ExcessGas(nb.Noise):
)
def calc(self):
n = noise.residualgas.residual_gas_cavity(self.freq, self.ifo)
cavity = arm_cavity(self.ifo)
n = noise.residualgas.residual_gas_cavity(
self.freq, self.ifo, cavity, self.ifo.Infrastructure.ResidualGas)
# FIXME HACK: it's unclear if a phase noise in the arms like
# the excess gas noise should get the same dhdL strain
# calibration as the other displacement noises. However, we
......
......@@ -7,7 +7,7 @@ from numpy import sqrt, log, pi
from .. import const
def residual_gas_cavity(f, ifo):
def residual_gas_cavity(f, ifo, cavity, species):
"""Residual gas noise strain spectrum in an evacuated cavity.
Noise caused by the passage of residual gas molecules through the
......@@ -15,6 +15,8 @@ def residual_gas_cavity(f, ifo):
:f: frequency array in Hz
:ifo: gwinc IFO structure
:cavity: arm cavity structure
:species: molecular species structure
:returns: arm displacement noise power spectrum at :f:
......@@ -28,26 +30,19 @@ def residual_gas_cavity(f, ifo):
expansion of exp, to speed it up.
"""
Lambda = ifo.Laser.Wavelength
L = ifo.Infrastructure.Length
kT = ifo.Infrastructure.Temp * const.kB
P = ifo.Infrastructure.ResidualGas.pressure
M = ifo.Infrastructure.ResidualGas.mass
alpha = ifo.Infrastructure.ResidualGas.polarizability
R1 = ifo.Optics.Curvature.ITM
R2 = ifo.Optics.Curvature.ETM
rho = P /(kT) # number density of Gas
v0 = sqrt(2*kT / M) # mean speed of Gas
g1 = 1 - L/R1 # first resonator g-parameter of the ITM
g2 = 1 - L/R2 # second resonator g-parameter of the ETM
waist = L * Lambda / pi
waist = waist * sqrt(((g1*g2)*(1-g1*g2))/((g1+g2-2*g1*g2)**2))
waist = sqrt(waist) # Gaussian beam waist size
zr = pi*waist**2 / Lambda # Rayleigh range
z1 = -((g2*(1-g1))/(g1+g2-2*g1*g2))*L # location of ITM relative to the waist
z2 = ((g1*(1-g2))/(g1+g2-2*g1*g2))*L # location of ETM relative to the waist
P = species.pressure
M = species.mass
alpha = species.polarizability
rho = P / (kT) # number density of Gas
v0 = sqrt(2*kT / M) # mean speed of Gas
waist = cavity.w0 # Gaussian beam waist size
zr = cavity.zr # Rayleigh range
z1 = -cavity.zBeam_ITM # location of ITM relative to the waist
z2 = cavity.zBeam_ETM # location of ETM relative to the waist
# The exponential of Eq. 1 of P940008 is expanded to first order; this
# can be integrated analytically
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment