Skip to content
Snippets Groups Projects
Commit 4bd943ee authored by Christopher Wipf's avatar Christopher Wipf
Browse files

Merge branch 'load_budget-bugfix' into 'master'

Fix bugs in load_budget

See merge request gwinc/pygwinc!144
parents 64da7e19 5c5c5a96
No related branches found
No related tags found
No related merge requests found
......@@ -125,10 +125,11 @@ def load_budget(name_or_path, freq=None, bname=None):
if inherit_ifo is not None:
del ifo['+inherit']
# make the inherited path relative to the loaded path
# if it is a yml file
if os.path.splitext(inherit_ifo)[1] in Struct.STRUCT_EXT:
base = os.path.split(path)[0]
inherit_ifo = os.path.join(base, inherit_ifo)
# if it is a yml file or a directory
head = os.path.split(path)[0]
rel_path = os.path.join(head, inherit_ifo)
if os.path.splitext(inherit_ifo)[1] in Struct.STRUCT_EXT or os.path.exists(rel_path):
inherit_ifo = rel_path
inherit_budget = load_budget(inherit_ifo, freq=freq, bname=bname)
pre_ifo = inherit_budget.ifo
......@@ -137,10 +138,17 @@ def load_budget(name_or_path, freq=None, bname=None):
return inherit_budget
else:
modname = 'gwinc.ifo.aLIGO'
else:
bname = bname or 'aLIGO'
elif ext == '':
bname = bname or base
modname = path
else:
raise RuntimeError(
"Unknown file type: {} (supported types: {}).".format(
ext, Struct.STRUCT_EXT))
else:
if name_or_path not in IFOS:
raise RuntimeError("Unknown IFO '{}' (available IFOs: {}).".format(
......
ifos can't be specified by a txt file, so load_budget should fail when trying to load this.
# GWINC aLIGO interferometer parameters
#
# parameters for quad pendulum suspension updated 3rd May 2006, NAR
# References:
# LIGO-T000012-00-D
# * Differentiate between silica and sapphire substrate absorption
# * Change ribbon suspension aspect ratio
# * Change pendulum frequency
# References:
# 1. Electro-Optic Handbook, Waynant & Ediger (McGraw-Hill: 1993)
# 2. LIGO/GEO data/experience
# 3. Suspension reference design, LIGO-T000012-00
# 4. Quartz Glass for Optics Data and Properties, Heraeus data sheet,
# numbers for suprasil
# 5. Y.S. Touloukian (ed), Thermophysical Properties of Matter
# (IFI/Plenum,1970)
# 6. Marvin J. Weber (ed) CRC Handbook of laser science and technology,
# Vol 4, Pt 2
# 7. R.S. Krishnan et al.,Thermal Expansion of Crystals, Pergamon Press
# 8. P. Klocek, Handbook of infrared and optical materials, Marcel Decker,
# 1991
# 9. Rai Weiss, electronic log from 5/10/2006
# 10. Wikipedia online encyclopedia, 2006
# 11. D.K. Davies, The Generation and Dissipation of Static Charge on
# dielectrics in a Vacuum, page 29
# 12. Gretarsson & Harry, Gretarsson thesis
# 13. Fejer
# 14. Braginsky
#
# Updated numbers March 2018: LIGO-T1800044
Infrastructure:
Length: 3995 # m
Temp: 290 # K
ResidualGas:
H2:
BeamtubePressure: 2.7e-7 # Pa
ChamberPressure: 2.7e-7 # Pa
mass: 3.35e-27 # kg; Mass of H_2 (ref. 10)
polarizability: 7.8e-31 # m^3
N2:
BeamtubePressure: 1.33e-8
ChamberPressure: 1.33e-8
mass: 4.65e-26
polarizability: 1.71e-30
H2O:
BeamtubePressure: 1.33e-8
ChamberPressure: 1.33e-8
mass: 2.99e-26
polarizability: 1.50e-30
O2:
BeamtubePressure: 1e-9
ChamberPressure: 1e-9
mass: 5.31e-26
polarizability: 1.56e-30
TCS:
# The presumably dominant effect of a thermal lens in the ITMs is an increased
# mode mismatch into the SRC, and thus an increased effective loss of the SRC.
# The increase is estimated by calculating the round-trip loss S in the SRC as
# 1-S = |<Psi|exp(i*phi)|Psi>|^2, where
# |Psi> is the beam hitting the ITM and
# phi = P_coat*phi_coat + P_subs*phi_subs
# with phi_coat & phi_subs the specific lensing profiles
# and P_coat & P_subst the power absorbed in coating and substrate
#
# This expression can be expanded to 2nd order and is given by
# S= s_cc P_coat^2 + 2*s_cs*P_coat*P_subst + s_ss*P_subst^2
# s_cc, s_cs and s_ss were calculated analytically by Phil Willems (4/2007)
s_cc: 7.024 # Watt^-2
s_cs: 7.321 # Watt^-2
s_ss: 7.631 # Watt^-2
# The hardest part to model is how efficient the TCS system is in
# compensating this loss. Thus as a simple Ansatz we define the
# TCS efficiency TCSeff as the reduction in effective power that produces
# a phase distortion. E.g. TCSeff=0.99 means that the compensated distortion
# of 1 Watt absorbed is equivalent to the uncompensated distortion of 10mWatt.
# The above formula thus becomes:
# S= s_cc P_coat^2 + 2*s_cs*P_coat*P_subst + s_ss*P_subst^2 * (1-TCSeff)^2
#
# To avoid iterative calculation we define TCS.SCRloss = S as an input
# and calculate TCSeff as an output.
# TCS.SRCloss is incorporated as an additional loss in the SRC
SRCloss: 0.00
Seismic:
Site: 'LHO' # LHO or LLO (only used for Newtonian noise)
# darmSeiSusFile: 'seismic.mat' # .mat file containing predictions for darm displacement
KneeFrequency: 10 # Hz; freq where 'flat' noise rolls off
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
Omicron: 1 # Feedforward cancellation factor
TestMassHeight: 1.5 # m
RayleighWaveSpeed: 250 # m/s
Suspension:
Type: 'Quad'
FiberType: 'Tapered'
BreakStress: 750e6 # Pa; ref. K. Strain
Temp: 290
# VHCoupling:
# theta: 1e-3 # vertical-horizontal x-coupling (computed in precompIFO)
Silica:
Rho : 2.2e3 # Kg/m^3;
C : 772 # J/Kg/K;
K : 1.38 # W/m/kg;
Alpha : 3.9e-7 # 1/K;
dlnEdT: 1.52e-4 # (1/K), dlnE/dT
Phi : 4.1e-10 # from G Harry e-mail to NAR 27April06 dimensionless units
Y : 7.2e10 # Pa; Youngs Modulus
Dissdepth: 1.5e-2 # from G Harry e-mail to NAR 27April06
C70Steel:
Rho: 7800
C: 486
K: 49
Alpha: 12e-6
dlnEdT: -2.5e-4
Phi: 2e-4
Y: 212e9 # measured by MB for one set of wires
MaragingSteel:
Rho: 7800
C: 460
K: 20
Alpha: 11e-6
dlnEdT: 0
Phi: 1e-4
Y: 187e9
# ref http://www.ioffe.ru/SVA/NSM/Semicond/Si/index.html
# all properties should be for T ~ 120 K
Silicon:
Rho: 2329 # Kg/m^3; density
C: 300 # J/kg/K heat capacity
K: 700 # W/m/K thermal conductivity
Alpha: 1e-10 # 1/K thermal expansion coeff
# from Gysin, et. al. PRB (2004) E(T): E0 - B*T*exp(-T0/T)
# E0: 167.5e9 Pa T0: 317 K B: 15.8e6 Pa/K
dlnEdT: -2e-5 # (1/K) dlnE/dT T=120K
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))
# Note stage numbering: mirror is at beginning of stack, not end
#
# last stage length adjusted for d: 10mm and and d_bend = 4mm
# (since 602mm is the CoM separation, and d_bend is accounted for
# in suspQuad, so including it here would double count)
Stage:
# Stage1
- Mass: 39.6 # kg; current numbers May 2006 NAR
# length adjusted for d = 10mm and d_bend = 4mm
# (since 602mm is the CoM separation, and d_bend is accounted for
# in suspQuad, so including it here would double count)
Length: 0.59 # m
Dilution: .nan #
K: .nan # N/m; vertical spring constant
WireRadius: .nan # m
Blade: .nan # blade thickness
NWires: 4
# Stage2
- Mass: 39.6
Length: 0.341
Dilution: 106
K: 5200
WireRadius: 310e-6
Blade: 4200e-6
NWires: 4
# Stage3
- Mass: 21.8
Length: 0.277
Dilution: 80
K: 3900
WireRadius: 350e-6
Blade: 4600e-6
NWires: 4
# Stage4
- Mass: 22.1
Length: 0.416
Dilution: 87
K: 3400
WireRadius: 520e-6
Blade: 4300e-6
NWires: 2
Ribbon:
Thickness: 115e-6 # m
Width: 1150e-6 # m
Fiber:
Radius: 205e-6 # m
# for tapered fibers
# EndRadius is tuned to cancel thermo-elastic noise (delta_h in suspQuad)
# EndLength is tuned to match bounce mode frequency
EndRadius: 400e-6 # m; nominal 400um
EndLength: 45e-3 # m; nominal 20mm
## Optic Material -------------------------------------------------------
Materials:
MassRadius: 0.17 # m;
MassThickness: 0.200 # m; Peter F 8/11/2005
## Dielectric coating material parameters----------------------------------
Coating:
## high index material: tantala
Yhighn: 120e9 # Ta2O5-TiO2 from 2020 LMA https://iopscience.iop.org/article/10.1088/1361-6382/ab77e9
Sigmahighn: 0.29 # 2020 LMA
CVhighn: 2.1e6 # Crooks et al, Fejer et al
Alphahighn: 3.6e-6 # 3.6e-6 Fejer et al, 5e-6 from Braginsky
Betahighn: 1.4e-5 # dn/dT, value Gretarrson (G070161)
ThermalDiffusivityhighn: 33 # Fejer et al
Indexhighn: 2.09 # 2020 LMA
Phihighn: 3.89e-4 # loss angle at 100Hz (Gras 2020)
Phihighn_slope: 0.1
## low index material: silica
Ylown: 70e9 # 2020 LMA
Sigmalown: 0.19 # 2020 LMA
CVlown: 1.6412e6 # Crooks et al, Fejer et al
Alphalown: 5.1e-7 # Fejer et al
Betalown: 8e-6 # dn/dT, (ref. 14)
ThermalDiffusivitylown: 1.38 # Fejer et al
Indexlown: 1.45
Philown: 2.3e-5 # loss angle at 100Hz 2020 LMA
Philown_slope: 0 # G1600641 and arXiv:1712.05701 suggest
# slopes between 0 and 0.3, depending on
# deposition method. Slawek's analysis in
# 10.1103/PhysRevD.98.122001 assumes zero slope.
## Substrate Material parameters--------------------------------------------
Substrate:
Temp: 295
c2 : 7.6e-12 # Coeff of freq depend. term for bulk mechanical loss, 7.15e-12 for Sup2
MechanicalLossExponent: 0.77 # Exponent for freq dependence of silica loss, 0.822 for Sup2
Alphas: 5.2e-12 # Surface loss limit (ref. 12)
MirrorY: 7.27e10 # N/m^2; Youngs modulus (ref. 4)
MirrorSigma: 0.167 # Kg/m^3; Poisson ratio (ref. 4)
MassDensity: 2.2e3 # Kg/m^3; (ref. 4)
MassAlpha: 3.9e-7 # 1/K; thermal expansion coeff. (ref. 4)
MassCM: 739 # J/Kg/K; specific heat (ref. 4)
MassKappa: 1.38 # J/m/s/K; thermal conductivity (ref. 4)
RefractiveIndex: 1.45 # mevans 25 Apr 2008
## Laser-------------------------------------------------------------------
Laser:
Wavelength: 1.064e-6 # m
Power: 125 # W
## Optics------------------------------------------------------------------
Optics:
Type: 'SignalRecycled'
PhotoDetectorEfficiency: 0.9 # photo-detector quantum efficiency
Loss: 37.5e-6 # average per mirror power loss
BSLoss: 0.5e-3 # power loss near beamsplitter
coupling: 1.0 # mismatch btwn arms & SRC modes; used to
# calculate an effective r_srm
SubstrateAbsorption: 0.5e-4 # 1/m; bulk absorption coef (ref. 2)
pcrit: 10 # W; tolerable heating power (factor 1 ATC)
Quadrature:
dc: 1.5707963 # pi/2 # demod/detection/homodyne phase
ITM:
Transmittance: 0.014
CoatingThicknessLown: 0.308
CoatingThicknessCap: 0.5
CoatingAbsorption: 0.5e-6
ETM:
Transmittance: 5e-6
CoatingThicknessLown: 0.27
CoatingThicknessCap: 0.5
PRM:
Transmittance: 0.03
SRM:
Transmittance: 0.325
CavityLength: 55 # m, ITM to SRM distance
Tunephase: 0.0 # SEC tuning
Curvature: # RoCs per E080511, E080512
ITM: 1934
ETM: 2245
Squeezer:
AmplitudedB: 12
FilterCavity:
L: 300
from gwinc.ifo.noises import *
from gwinc.ifo import PLOT_STYLE
class QuantumVacuum(nb.Budget):
"""Quantum Vacuum
"""
style = dict(
label='Quantum Vacuum',
color='#ad03de',
)
noises = [
QuantumVacuumAS,
QuantumVacuumArm,
QuantumVacuumSEC,
QuantumVacuumFilterCavity,
QuantumVacuumInjection,
QuantumVacuumReadout,
QuantumVacuumQuadraturePhase,
]
class CustomBudget(nb.Budget):
name = 'A custom budget'
noises = [
QuantumVacuum,
Seismic,
]
calibrations = [
Strain,
]
plot_style = PLOT_STYLE
# GWINC aLIGO interferometer parameters
#
# parameters for quad pendulum suspension updated 3rd May 2006, NAR
# References:
# LIGO-T000012-00-D
# * Differentiate between silica and sapphire substrate absorption
# * Change ribbon suspension aspect ratio
# * Change pendulum frequency
# References:
# 1. Electro-Optic Handbook, Waynant & Ediger (McGraw-Hill: 1993)
# 2. LIGO/GEO data/experience
# 3. Suspension reference design, LIGO-T000012-00
# 4. Quartz Glass for Optics Data and Properties, Heraeus data sheet,
# numbers for suprasil
# 5. Y.S. Touloukian (ed), Thermophysical Properties of Matter
# (IFI/Plenum,1970)
# 6. Marvin J. Weber (ed) CRC Handbook of laser science and technology,
# Vol 4, Pt 2
# 7. R.S. Krishnan et al.,Thermal Expansion of Crystals, Pergamon Press
# 8. P. Klocek, Handbook of infrared and optical materials, Marcel Decker,
# 1991
# 9. Rai Weiss, electronic log from 5/10/2006
# 10. Wikipedia online encyclopedia, 2006
# 11. D.K. Davies, The Generation and Dissipation of Static Charge on
# dielectrics in a Vacuum, page 29
# 12. Gretarsson & Harry, Gretarsson thesis
# 13. Fejer
# 14. Braginsky
#
# Updated numbers March 2018: LIGO-T1800044
Infrastructure:
Length: 3995 # m
Temp: 290 # K
ResidualGas:
H2:
BeamtubePressure: 2.7e-7 # Pa
ChamberPressure: 2.7e-7 # Pa
mass: 3.35e-27 # kg; Mass of H_2 (ref. 10)
polarizability: 7.8e-31 # m^3
N2:
BeamtubePressure: 1.33e-8
ChamberPressure: 1.33e-8
mass: 4.65e-26
polarizability: 1.71e-30
H2O:
BeamtubePressure: 1.33e-8
ChamberPressure: 1.33e-8
mass: 2.99e-26
polarizability: 1.50e-30
O2:
BeamtubePressure: 1e-9
ChamberPressure: 1e-9
mass: 5.31e-26
polarizability: 1.56e-30
TCS:
# The presumably dominant effect of a thermal lens in the ITMs is an increased
# mode mismatch into the SRC, and thus an increased effective loss of the SRC.
# The increase is estimated by calculating the round-trip loss S in the SRC as
# 1-S = |<Psi|exp(i*phi)|Psi>|^2, where
# |Psi> is the beam hitting the ITM and
# phi = P_coat*phi_coat + P_subs*phi_subs
# with phi_coat & phi_subs the specific lensing profiles
# and P_coat & P_subst the power absorbed in coating and substrate
#
# This expression can be expanded to 2nd order and is given by
# S= s_cc P_coat^2 + 2*s_cs*P_coat*P_subst + s_ss*P_subst^2
# s_cc, s_cs and s_ss were calculated analytically by Phil Willems (4/2007)
s_cc: 7.024 # Watt^-2
s_cs: 7.321 # Watt^-2
s_ss: 7.631 # Watt^-2
# The hardest part to model is how efficient the TCS system is in
# compensating this loss. Thus as a simple Ansatz we define the
# TCS efficiency TCSeff as the reduction in effective power that produces
# a phase distortion. E.g. TCSeff=0.99 means that the compensated distortion
# of 1 Watt absorbed is equivalent to the uncompensated distortion of 10mWatt.
# The above formula thus becomes:
# S= s_cc P_coat^2 + 2*s_cs*P_coat*P_subst + s_ss*P_subst^2 * (1-TCSeff)^2
#
# To avoid iterative calculation we define TCS.SCRloss = S as an input
# and calculate TCSeff as an output.
# TCS.SRCloss is incorporated as an additional loss in the SRC
SRCloss: 0.00
Seismic:
Site: 'LHO' # LHO or LLO (only used for Newtonian noise)
KneeFrequency: 10 # Hz; freq where 'flat' noise rolls off
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
Omicron: 1 # Feedforward cancellation factor
TestMassHeight: 1.5 # m
RayleighWaveSpeed: 250 # m/s
Suspension:
Type: 'Quad'
FiberType: 'Tapered'
BreakStress: 750e6 # Pa; ref. K. Strain
Temp: 290
# VHCoupling:
# theta: 1e-3 # vertical-horizontal x-coupling (computed in precompIFO)
Silica:
Rho : 2.2e3 # Kg/m^3;
C : 772 # J/Kg/K;
K : 1.38 # W/m/kg;
Alpha : 3.9e-7 # 1/K;
dlnEdT: 1.52e-4 # (1/K), dlnE/dT
Phi : 4.1e-10 # from G Harry e-mail to NAR 27April06 dimensionless units
Y : 7.2e10 # Pa; Youngs Modulus
Dissdepth: 1.5e-2 # from G Harry e-mail to NAR 27April06
C70Steel:
Rho: 7800
C: 486
K: 49
Alpha: 12e-6
dlnEdT: -2.5e-4
Phi: 2e-4
Y: 212e9 # measured by MB for one set of wires
MaragingSteel:
Rho: 7800
C: 460
K: 20
Alpha: 11e-6
dlnEdT: 0
Phi: 1e-4
Y: 187e9
# ref http://www.ioffe.ru/SVA/NSM/Semicond/Si/index.html
# all properties should be for T ~ 120 K
Silicon:
Rho: 2329 # Kg/m^3; density
C: 300 # J/kg/K heat capacity
K: 700 # W/m/K thermal conductivity
Alpha: 1e-10 # 1/K thermal expansion coeff
# from Gysin, et. al. PRB (2004) E(T): E0 - B*T*exp(-T0/T)
# E0: 167.5e9 Pa T0: 317 K B: 15.8e6 Pa/K
dlnEdT: -2e-5 # (1/K) dlnE/dT T=120K
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))
# Note stage numbering: mirror is at beginning of stack, not end
#
# last stage length adjusted for d: 10mm and and d_bend = 4mm
# (since 602mm is the CoM separation, and d_bend is accounted for
# in suspQuad, so including it here would double count)
Stage:
# Stage1
- Mass: 39.6 # kg; current numbers May 2006 NAR
# length adjusted for d = 10mm and d_bend = 4mm
# (since 602mm is the CoM separation, and d_bend is accounted for
# in suspQuad, so including it here would double count)
Length: 0.59 # m
Dilution: .nan #
K: .nan # N/m; vertical spring constant
WireRadius: .nan # m
Blade: .nan # blade thickness
NWires: 4
# Stage2
- Mass: 39.6
Length: 0.341
Dilution: 106
K: 5200
WireRadius: 310e-6
Blade: 4200e-6
NWires: 4
# Stage3
- Mass: 21.8
Length: 0.277
Dilution: 80
K: 3900
WireRadius: 350e-6
Blade: 4600e-6
NWires: 4
# Stage4
- Mass: 22.1
Length: 0.416
Dilution: 87
K: 3400
WireRadius: 520e-6
Blade: 4300e-6
NWires: 2
Ribbon:
Thickness: 115e-6 # m
Width: 1150e-6 # m
Fiber:
Radius: 205e-6 # m
# for tapered fibers
# EndRadius is tuned to cancel thermo-elastic noise (delta_h in suspQuad)
# EndLength is tuned to match bounce mode frequency
EndRadius: 400e-6 # m; nominal 400um
EndLength: 45e-3 # m; nominal 20mm
## Optic Material -------------------------------------------------------
Materials:
MassRadius: 0.17 # m;
MassThickness: 0.200 # m; Peter F 8/11/2005
## Dielectric coating material parameters----------------------------------
Coating:
## high index material: tantala
Yhighn: 120e9 # Ta2O5-TiO2 from 2020 LMA https://iopscience.iop.org/article/10.1088/1361-6382/ab77e9
Sigmahighn: 0.29 # 2020 LMA
CVhighn: 2.1e6 # Crooks et al, Fejer et al
Alphahighn: 3.6e-6 # 3.6e-6 Fejer et al, 5e-6 from Braginsky
Betahighn: 1.4e-5 # dn/dT, value Gretarrson (G070161)
ThermalDiffusivityhighn: 33 # Fejer et al
Indexhighn: 2.09 # 2020 LMA
Phihighn: 9.0e-5 # tantala mechanical loss
Phihighn_slope: 0.1
## low index material: silica
Ylown: 70e9 # 2020 LMA
Sigmalown: 0.19 # 2020 LMA
CVlown: 1.6412e6 # Crooks et al, Fejer et al
Alphalown: 5.1e-7 # Fejer et al
Betalown: 8e-6 # dn/dT, (ref. 14)
ThermalDiffusivitylown: 1.38 # Fejer et al
Indexlown: 1.45
Philown: 1.25e-5 # silica mechanical loss
Philown_slope: 0 # G1600641 and arXiv:1712.05701 suggest
# slopes between 0 and 0.3, depending on
# deposition method. Slawek's analysis in
# 10.1103/PhysRevD.98.122001 assumes zero slope.
## Substrate Material parameters--------------------------------------------
Substrate:
Temp: 295
c2: 7.6e-12 # Coeff of freq depend. term for bulk mechanical loss, 7.15e-12 for Sup2
MechanicalLossExponent: 0.77 # Exponent for freq dependence of silica loss, 0.822 for Sup2
Alphas: 5.2e-12 # Surface loss limit (ref. 12)
MirrorY: 7.27e10 # N/m^2; Youngs modulus (ref. 4)
MirrorSigma: 0.167 # Kg/m^3; Poisson ratio (ref. 4)
MassDensity: 2.2e3 # Kg/m^3; (ref. 4)
MassAlpha: 3.9e-7 # 1/K; thermal expansion coeff. (ref. 4)
MassCM: 739 # J/Kg/K; specific heat (ref. 4)
MassKappa: 1.38 # J/m/s/K; thermal conductivity (ref. 4)
RefractiveIndex: 1.45 # mevans 25 Apr 2008
## Laser-------------------------------------------------------------------
Laser:
Wavelength: 1.064e-6 # m
Power: 125 # W
## Optics------------------------------------------------------------------
Optics:
Type: 'SignalRecycled'
PhotoDetectorEfficiency: 0.9 # photo-detector quantum efficiency
Loss: 37.5e-6 # average per mirror power loss
BSLoss: 0.5e-3 # power loss near beamsplitter
coupling: 1.0 # mismatch btwn arms & SRC modes; used to
# calculate an effective r_srm
SubstrateAbsorption: 0.5e-4 # 1/m; bulk absorption coef (ref. 2)
pcrit: 10 # W; tolerable heating power (factor 1 ATC)
Quadrature:
dc: 1.5707963 # pi/2 # demod/detection/homodyne phase
ITM:
Transmittance: 0.014
CoatingThicknessLown: 0.308
CoatingThicknessCap: 0.5
CoatingAbsorption: 0.5e-6
ETM:
Transmittance: 5e-6
CoatingThicknessLown: 0.27
CoatingThicknessCap: 0.5
PRM:
Transmittance: 0.03
SRM:
Transmittance: 0.325
CavityLength: 55 # m, ITM to SRM distance
Tunephase: 0.0 # SEC tuning
Curvature: # ROC
ITM: 1970
ETM: 2192
## Squeezer Parameters------------------------------------------------------
# Define the squeezing you want:
# None: ignore the squeezer settings
# Freq Independent: nothing special (no filter cavities)
# Freq Dependent = applies the specified filter cavities
# Optimal = find the best squeeze angle, assuming no output filtering
# OptimalOptimal = optimal squeeze angle, assuming optimal readout phase
Squeezer:
Type: 'Freq Dependent'
AmplitudedB: 12 # SQZ amplitude [dB]
InjectionLoss: 0.05 # power loss to sqz
SQZAngle: 0 # SQZ phase [radians]
LOAngleRMS: 30e-3 # quadrature noise [radians]
# Parameters for frequency dependent squeezing
FilterCavity:
L: 300 # cavity length
Te: 1e-6 # end mirror transmission
Lrt: 60e-6 # round-trip loss in the cavity
Rot: 0 # phase rotation after cavity
fdetune: -45.78 # detuning [Hz]
Ti: 1.2e-3 # input mirror transmission [Power]
+inherit: 'CustomBudget'
Squeezer:
AmplitudedB: 14
FilterCavity:
Lrt: 40e-6
......@@ -37,6 +37,50 @@ def test_inherit_load(pprint, tpath_join, fpath_join):
)
@pytest.mark.fast
@pytest.mark.logic
def test_inherit_custom_budget(fpath_join):
"""
Test that inheritance works when the final budget is a custom budget in
an arbitrary directory instead of one of the canonical budgets
"""
B_inherit = load_budget(fpath_join('subdir/CustomBudget_mod.yaml'))
B_orig = load_budget(fpath_join('subdir/CustomBudget'))
noises = [noise.__name__ for noise in B_inherit.noises]
assert B_inherit.name == 'A custom budget'
assert sorted(noises) == ['QuantumVacuum', 'Seismic']
assert(
sorted(B_inherit.ifo.diff(B_orig.ifo))
== sorted([
('Squeezer.AmplitudedB', 14, 12),
('Squeezer.FilterCavity.Lrt', 40e-6, 60e-6),
])
)
@pytest.mark.fast
@pytest.mark.logic
def test_load_uninherited_yaml(fpath_join):
"""
Test that a yaml file not specifying an inherited budget is loaded into
the aLIGO budget
"""
B_new = load_budget(fpath_join('new_ifo.yaml'))
B_aLIGO = load_budget('aLIGO')
assert B_new.name == 'Advanced LIGO'
assert(
sorted(B_new.ifo.diff(B_aLIGO.ifo))
== sorted([
('Optics.Loss', 3.75e-05, 4e-05),
('Squeezer.AmplitudedB', 12, None),
('Squeezer.FilterCavity.L', 300, None),
])
)
@pytest.mark.fast
@pytest.mark.logic
def test_inherit_fail(pprint, tpath_join, fpath_join):
......@@ -48,3 +92,24 @@ def test_inherit_fail(pprint, tpath_join, fpath_join):
with pytest.raises(RuntimeError):
B_inherit2 = load_budget(fpath2)
@pytest.mark.fast
@pytest.mark.logic
def test_load_fail_unknown_filetype(fpath_join):
"""
Test that load_budget fails when given a file type not supported by Struct
"""
with pytest.raises(RuntimeError):
budget = load_budget(fpath_join('new_ifo.txt'))
@pytest.mark.fast
@pytest.mark.logic
def test_load_fail_unknown_ifo():
"""
Test that load_budget fails when given an unknown ifo that doesn't exist
"""
with pytest.raises(RuntimeError):
budget = load_budget('not_a_real_ifo')
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