diff --git a/gwinc/ifo/aLIGO/__init__.py b/gwinc/ifo/aLIGO/__init__.py index 2e299e53626f3c602d2b3a9cf2c0b15949ebc727..821e48874fbcf7251982481b7b75500a7985c382 100644 --- a/gwinc/ifo/aLIGO/__init__.py +++ b/gwinc/ifo/aLIGO/__init__.py @@ -19,6 +19,23 @@ class QuantumVacuum(nb.Budget): ] +class ExcessGas(nb.Budget): + """Excess Gas + + """ + style = dict( + label='Excess Gas', + color='#add00d', + linestyle='--', + ) + + noises = [ + ExcessGasH2, + ExcessGasN2, + ExcessGasH2O, + ] + + class aLIGO(nb.Budget): name = 'Advanced LIGO' diff --git a/gwinc/ifo/aLIGO/ifo.yaml b/gwinc/ifo/aLIGO/ifo.yaml index 9ffde7798870a2c68454dae4972bcd34d39deaa0..eca5e99079670c3e072e5b6139c9f2763d409832 100644 --- a/gwinc/ifo/aLIGO/ifo.yaml +++ b/gwinc/ifo/aLIGO/ifo.yaml @@ -33,9 +33,20 @@ Infrastructure: Length: 3995 # m Temp: 290 # K ResidualGas: - pressure: 4.0e-7 # Pa - mass: 3.35e-27 # kg; Mass of H_2 (ref. 10) - polarizability: 7.8e-31 # m^3 + H2: + pressure: 4.0e-7 # Pa + mass: 3.35e-27 # kg; Mass of H_2 (ref. 10) + polarizability: 7.8e-31 # m^3 + + N2: + pressure: 1.33e-8 + mass: 4.65e-26 + polarizability: 1.79e-30 + + H2O: + pressure: 1.33e-8 + mass: 2.99e-26 + polarizability: 1.71e-30 TCS: # The presumably dominant effect of a thermal lens in the ITMs is an increased diff --git a/gwinc/ifo/noises.py b/gwinc/ifo/noises.py index 03e7a9542cfa4e4717ffd69f6b82edbb7c5d9273..17f83d4a4b45b7d33fcb7501410930ae5e4e653a 100644 --- a/gwinc/ifo/noises.py +++ b/gwinc/ifo/noises.py @@ -777,3 +777,57 @@ class ExcessGas(nb.Noise): # should be re-evaluated at some point. dhdl_sqr, sinc_sqr = dhdl(self.freq, self.ifo.Infrastructure.Length) return n * 2 / sinc_sqr + + +class ExcessGasH2(nb.Noise): + """Excess gas for H2 + + """ + style = dict( + label='H2', + color='xkcd:red orange' + ) + + def calc(self): + cavity = arm_cavity(self.ifo) + species = self.ifo.Infrastructure.ResidualGas.H2 + n = noise.residualgas.residual_gas_cavity( + self.freq, self.ifo, cavity, species) + dhdl_sqr, sinc_sqr = dhdl(self.freq, self.ifo.Infrastructure.Length) + return n * 2 / sinc_sqr + + +class ExcessGasN2(nb.Noise): + """Excess gas for N2 + + """ + style = dict( + label='N2', + color='xkcd:emerald' + ) + + def calc(self): + cavity = arm_cavity(self.ifo) + species = self.ifo.Infrastructure.ResidualGas.N2 + n = noise.residualgas.residual_gas_cavity( + self.freq, self.ifo, cavity, species) + dhdl_sqr, sinc_sqr = dhdl(self.freq, self.ifo.Infrastructure.Length) + return n * 2 / sinc_sqr + + +class ExcessGasH2O(nb.Noise): + """Excess gas for H2O + + """ + style = dict( + label='H2O', + color='xkcd:water blue' + ) + + def calc(self): + cavity = arm_cavity(self.ifo) + species = self.ifo.Infrastructure.ResidualGas.H2O + n = noise.residualgas.residual_gas_cavity( + self.freq, self.ifo, cavity, species) + dhdl_sqr, sinc_sqr = dhdl(self.freq, self.ifo.Infrastructure.Length) + return n * 2 / sinc_sqr