Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • wenxuan.jia/pygwinc
  • sean-leavey/pygwinc
  • sebastian.steinlechner/pygwinc
  • nicholas.demos/pygwinc
  • chris.whittle/pygwinc
  • raymond.robie/pygwinc
  • mateusz.bawaj/pygwinc
  • anchal.gupta/pygwinc
  • 40m/pygwinc
  • evan.hall/pygwinc
  • kevin.kuns/pygwinc
  • geoffrey-lovelace/pygwinc
  • brittany.kamai/pygwinc
  • daniel-brown/pygwinc
  • lee-mcculler/pygwinc
  • jameson.rollins/pygwinc
  • gwinc/pygwinc
17 results
Show changes
Commits on Source (3)
......@@ -38,6 +38,10 @@ def noise_calc(f, ifo):
noises['ITM Thermo-Refractive'] = noise.substratethermal.thermorefractiveITM(f, ifo)
noises['ITM Carrier Density'] = noise.substratethermal.carrierdensity(f, ifo)
# calc atmospheric noise sources, if desired
if 'Atmospheric' in ifo:
noises['Atmospheric Infrasound'] = noise.newtonian.atmois(f, ifo)
# adjust noise curves for multiple bounces - for resonant delay lines
# Brownian noise scales as Neff (correlation-corrected spot number)
# Displacement noises scale as N^2
......@@ -55,6 +59,8 @@ def noise_calc(f, ifo):
noises['Newtonian Gravity'] *= N**2
noises['Seismic'] *= N**2
noises['Coating Thermo-Optic'] *= N
if 'Atmospheric Infrasound' in noises:
noises['Atmospheric Infrasound'] *= N**2
else:
N = ifo.Infrastructure.NFolded
sep_w = ifo.Infrastructure.DelayLineSpotSeparation
......@@ -68,6 +74,8 @@ def noise_calc(f, ifo):
noises['Newtonian Gravity'] *= Ndispl**2
noises['Seismic'] *= Ndispl**2
noises['Coating Thermo-Optic'] *= N_TO
if 'Atmospheric Infrasound' in noises:
noises['Atmospheric Infrasound'] *= Ndispl**2
#noises['Mirror Thermal'] = noises['Substrate Brownian'] + noises['Coating Brownian'] + \
# noises['Substrate Thermo-Elastic'] + noises['Coating Thermo-Optic'] # total mirror thermal
......
# GWINC CE interferometer parameters (cryogenic)
# GWINC CE2 interferometer parameters
# parameters for quad pendulum suspension updated 3rd May 2006, NAR
# References:
......@@ -28,7 +28,7 @@
# * 14. Braginsky
Infrastructure:
Length: 39950 # m; whoa
Length: 40000 # m; whoa
Temp: 295 # K; Temperature of the Vacuum
ResidualGas:
pressure: 4.0e-7 # Pa
......@@ -72,67 +72,69 @@ Seismic:
LowFrequencyLevel: 1e-9 # m/rtHz; seismic noise level below f_knee
Gamma: 0.8 # abruptness of change at f_knee
Rho: 1.8e3 # kg/m^3; density of the ground nearby
Beta: 0.8 # quiet times beta = 0.35-0.60; noisy times beta = 0.15-1.4
Beta: 0.6 # quiet times beta = 0.35-0.60; noisy times beta = 0.15-1.4
Omicron: 10 # Feedforward cancellation factor
TestMassHeight: 1.5 # m
RayleighWaveSpeed: 250 # m/s
#darmSeiSusFile: 'CryogenicLIGO/Sensitivity/GWINC/seismic.mat'
Atmospheric:
InfrasoundLevel1Hz: 0.01 # Pa/rtHz
InfrasoundExponent: -1
AirPressure: 101325 # Pa
AirDensity: 1.225 # kg/m**3
AdiabaticIndex: 1.4
SoundSpeed: 344 # m/s
Suspension:
Type: 'BQuad'
# Suspension fiber temperatures [TOP UIM PUM TST]
Temp:
- 300.0
- 300.0
- 300.0
- 123.0
VHCoupling:
theta: 1e-3 # vertical-horizontal x-coupling
theta: 6.2e-3 # vertical-horizontal x-coupling
FiberType: 'Ribbon'
# For Ribbon suspension
Ribbon:
Thickness: 115e-6 # m
Width: 1150e-6 # m
Thickness: 325e-6 # m
Width: 3250e-6 # m
Fiber:
Radius: 205e-6 # m
Radius: 205e-6 # m
BreakStress: 750e6 # Pa; ref. K. Strain
# Note stage numbering: mirror is at beginning of stack, not end
# these mass numbers are from v8 of the Voyager design doc
Stage:
# Load saved file with otpimized mass. Masses are optimized for longitudinal isolation assuming the PUM has springs
#susmat = loadmat('CryogenicLIGO/QuadModel/quad_optimized_masses_for_PUM_with_springs.mat')
- Mass: 200.0 # kg; susmat['testmass_mass'][0,0]
Length: 0.4105 # m
- Mass: 316.8 # kg; susmat['testmass_mass'][0,0]
Length: 1.18 # m
Temp: 123.0
Dilution: .nan
K: .nan
K: 8000
WireRadius: .nan
Blade: .nan # blade thickness
Blade: 0.0042 # blade thickness
NWires: 4
Temp: 300
- Mass: 65.9 # kg; susmat['PUMmass'][0,0]
Length: 0.4105 # m
- Mass: 316.8 # kg; susmat['PUMmass'][0,0]
Length: 0.682 # m
Temp: 123.0
Dilution: 106.0
K: 5200.0 # N/m; vertical spring constant
WireRadius: 310e-6
Blade: 4200e-6
K: 41600 # N/m; vertical spring constant
WireRadius: 877e-6
Blade: 0.0119
NWires: 4
Temp: 300
- Mass: 87.6 # kg; susmat['UIMmass'][0,0]
Length: 0.4105 # m
- Mass: 174.4 # kg; susmat['UIMmass'][0,0]
Length: 0.554 # m
Temp: 300.0
Dilution: 80.0
K: 3900.0 # N/m; vertical spring constant
WireRadius: 350e-6
Blade: 4600e-6
K: 31200 # N/m; vertical spring constant
WireRadius: 990e-6
Blade: 0.0130
NWires: 4
Temp: 300
- Mass: 116.5 # kg; susmat['topmass_mass'][0,0]
Length: 0.4105 # m
- Mass: 176.8 # kg; susmat['topmass_mass'][0,0]
Length: 0.832 # m
Temp: 300.0
Dilution: 87.0
K: 3400.0 # N/m; vertical spring constant
WireRadius: 520e-6
Blade: 4300e-6
K: 27200.0 # N/m; vertical spring constant
WireRadius: 1471e-6
Blade: 0.0121
NWires: 2
Temp: 123
Silicon:
# http://www.ioffe.ru/SVA/NSM/Semicond/Si/index.html
# all properties should be for T ~ 120 K
......@@ -148,7 +150,6 @@ Suspension:
Phi: 2e-9 # Nawrodt (2010) loss angle 1/Q
Y: 155.8e9 # Pa Youngs Modulus
Dissdepth: 1.5e-3 # 10x smaller surface loss depth (Nawrodt (2010))
FiberType: 1 # 0 = round, 1 = ribbons
Silica:
Rho: 2200.0 # Kg/m^3
C: 772.0 # J/Kg/K
......@@ -230,12 +231,12 @@ Materials:
ElectronIndexGamma: -8.8e-28 # m**3; dependence of index of refraction on electron carrier density
HoleIndexGamma: -1.02e-27 # m**3; dependence of index of refraction on hole carrier density
MassRadius: 0.225 # m; 45 cm mCZ silicon
MassThickness: 0.55
MassRadius: 0.4 # m; 80 cm mCZ silicon
MassThickness: 0.286
Laser:
Wavelength: 1550e-9 # m
Power: 400 # W zz['x'][0][0]
Power: 220 # W zz['x'][0][0]
Optics:
Type: 'SignalRecycled'
......@@ -249,10 +250,10 @@ Optics:
# qopt_mat = sorted(os.listdir('CryogenicLIGO/Sensitivity/GWINC/optRuns'))[-1]
# zz = loadmat('CryogenicLIGO/Sensitivity/GWINC/optRuns/' + qopt_mat)
ITM:
SubstrateAbsorption: 1e-3 # 1/m; 10 ppm/cm for MCZ Si
BeamRadius: 0.16 # m; 1/e^2 power radius w1
CoatingAbsorption: 1e-6 # absorption of ITM
Transmittance: 1.2436875e-3 # zz['x'][0][3]
SubstrateAbsorption: 1e-3 # 1/m; 10 ppm/cm for MCZ Si
BeamRadius: 0.141 # m; 1/e^2 power radius w1
CoatingAbsorption: 0.5e-6 # absorption of ITM
Transmittance: 0.014 # zz['x'][0][3]
#CoatingThicknessLown: 0.308
#CoatingThicknessCap: 0.5
#itm = loadmat('CryogenicLIGO/Sensitivity/coating/aSi/Data/ITM_layers_151221_2237.mat')
......@@ -271,7 +272,7 @@ Optics:
- 0.3867382
- 0.08814237
ETM:
BeamRadius: 0.16 # m; 1/e^2 power radius w2
BeamRadius: 0.141 # m; 1/e^2 power radius w2
Transmittance: 5e-6 # Transmittance of ETM
#CoatingThicknessLown: 0.27
#CoatingThicknessCap: 0.5
......@@ -301,18 +302,18 @@ Optics:
Transmittance: 0.02 # zz['x'][0][4]
#ifo.Optics.SRM.Tunephase = 0.23; % SRM tuning, 795 Hz narrowband
Tunephase: 0.0 # SRM tuning [radians]
PhotoDetectorEfficiency: 0.95 # photo-detector quantum efficiency
Loss: 10e-6 # average per mirror power loss
PhotoDetectorEfficiency: 0.96 # photo-detector quantum efficiency
Loss: 20e-6 # average per mirror power loss
# factor of 4 for 1064 -> 2000
BSLoss: 0.5e-3 # power loss near beamsplitter
BSLoss: 0.1e-3 # power loss near beamsplitter
coupling: 1.0 # mismatch btwn arms & SRC modes; used to calculate an effective r_srm
Curvature:
ITM: 30000 # RoC of ITM
ETM: 30000 # RoC of ETM
SubstrateAbsorption: 0.3e-4 # 1/m; 0.3 ppm/cm for Hereaus
ITM: 34783 # RoC of ITM
ETM: 34783 # RoC of ETM
SubstrateAbsorption: 0.5e-4 # 1/m; 0.3 ppm/cm for Hereaus
pcrit: 10 # W; tolerable heating power (factor 1 ATC)
Quadrature:
dc: 1.556827 # homoDyne phase [radians] zz['x'][0][5]
dc: 1.5708 # homoDyne phase [radians] zz['x'][0][5]
Squeezer:
# Define the squeezing you want:
......@@ -322,17 +323,17 @@ Squeezer:
# Optimal = find the best squeeze angle, assuming no output filtering
# OptimalOptimal = optimal squeeze angle, assuming optimal readout phase
Type: 'Freq Dependent'
AmplitudedB: 10 # SQZ amplitude [dB]
InjectionLoss: 0.05 # power loss to sqz
AmplitudedB: 15 # SQZ amplitude [dB]
InjectionLoss: 0.02 # power loss to sqz
SQZAngle: 0 # SQZ phase [radians]
# Parameters for frequency dependent squeezing
FilterCavity:
fdetune: -36.44897 # detuning [Hz] zz['x'][0][1]
L: 300 # cavity length [m]
Ti: 0.00090274 # input mirror trasmission [Power] zz['x'][0][2]
Te: 0e-6 # end mirror trasmission
Lrt: 10e-6 # round-trip loss in the cavity
fdetune: -4.9993 # detuning [Hz] zz['x'][0][1]
L: 4000 # cavity length [m]
Ti: 0.0016836 # input mirror trasmission [Power] zz['x'][0][2]
Te: 5e-6 # end mirror trasmission
Lrt: 150e-6 # round-trip loss in the cavity
Rot: 0 # phase rotation after cavity
## Variational Output Parameters
......
......@@ -68,3 +68,34 @@ def gravg(f, ifo):
n /= (omicron**2)
return n * ifo.gwinc.sinc_sqr
def atmois(f, ifo):
import scipy.special as scisp
a_if = ifo.Atmospheric.InfrasoundLevel1Hz
e_if = ifo.Atmospheric.InfrasoundExponent
p_air = ifo.Atmospheric.AirPressure
rho_air = ifo.Atmospheric.AirDensity
ai_air = ifo.Atmospheric.AdiabaticIndex
c_sound = ifo.Atmospheric.SoundSpeed
L = ifo.Infrastructure.Length
ggcst = scipy.constants.G
h = ifo.Seismic.TestMassHeight
w = 2 * pi * f
k = w / c_sound
# Pressure spectrum
psd_if = (a_if * f**e_if)**2
# Harms LRR (2015), eq. 172
# https://doi.org/10.1007/lrr-2015-3
# With an extra factor 2 for two arms
# And with the Bessel terms ignored... for 4 km this amounts to a 10%
# correction at 10 Hz and a 30% correction at 1 Hz
coupling_if = 4./3 * (4 * pi / (k * L * w**2) * ggcst * rho_air / (ai_air * p_air))**2
n_if = coupling_if * psd_if
return n_if * ifo.gwinc.sinc_sqr
......@@ -27,6 +27,11 @@ STYLE_MAP = {
# color = 'xkcd:green',
color = '#15b01a',
),
'Atmospheric Infrasound': dict(
# color = 'xkcd:neon green',
color = '#0cff0c',
ls = '--',
),
'Suspension Thermal': dict(
# color = 'xkcd:deep sky blue',
color = '#0d75f8',
......