Skip to content
Snippets Groups Projects
Commit 2d949c5c authored by Christopher Wipf's avatar Christopher Wipf Committed by Jameson Rollins
Browse files

Remove carrier density noise from pygwinc

Based on the new calculation with Debye screening from
arXiv:2003.05345, there appears to be no plausible scenario where
this noise will affect the design of GW interferometers.  Koji
estimated the noise is below 1e-28/rtHz for Voyager, as did Florian
Bruns (lead author of arXiv:2003.05345).  It's also negligible for
ET, as discussed in the paper.

Fixes #50
parent 83625807
No related branches found
No related tags found
1 merge request!90Remove carrier density noise from pygwinc
Pipeline #138890 passed
......@@ -54,7 +54,6 @@ class Substrate(nb.Budget):
noises = [
ITMThermoRefractive,
ITMCarrierDensity,
SubstrateBrownian,
SubstrateThermoElastic,
]
......
......@@ -227,15 +227,6 @@ Materials:
RefractiveIndex: 3.5 # 3.38 * (1 + 4e-5 * T) (ioffe)
dndT: 1e-4 # ~123K & 1900 nm : http://arxiv.org/abs/physics/0606168
Temp: 123 # mirror temperature [K]
## parameters for semiconductor optics
isSemiConductor: True # we are doing semiconductor optics
CarrierDensity: 1e19 # 1/m^3; carrier density for phosphorous-doped silicon
ElectronDiffusion: 9.7e-3 # m^2/s; electron diffusion coefficient for silicon at 120 K
HoleDiffusion: 3.5e-3 # m^2/s; hole diffusion coefficient for silicon at 120 K
ElectronEffMass: 9.747e-31 # kg; effective mass of each electron 1.07*m_e
HoleEffMass: 8.016e-31 # kg; effective mass of each hole 0.88*m_e
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.4 # m; 80 cm mCZ silicon
MassThickness: 0.286
......
......@@ -14,7 +14,6 @@ class Voyager(nb.Budget):
CoatingBrownian,
CoatingThermoOptic,
ITMThermoRefractive,
ITMCarrierDensity,
SubstrateBrownian,
SubstrateThermoElastic,
ExcessGas,
......
......@@ -252,15 +252,6 @@ Materials:
RefractiveIndex: 3.5 # 3.38 * (1 + 4e-5 * T) (ioffe)
dndT: 1e-4 # ~123K & 1900 nm : http://arxiv.org/abs/physics/0606168
Temp: 123 # mirror temperature [K]
## parameters for semiconductor optics
isSemiConductor: True # we are doing semiconductor optics
CarrierDensity: 1e19 # 1/m^3; carrier density for phosphorous-doped silicon
ElectronDiffusion: 9.7e-3 # m^2/s; electron diffusion coefficient for silicon at 120 K
HoleDiffusion: 3.5e-3 # m^2/s; hole diffusion coefficient for silicon at 120 K
ElectronEffMass: 9.747e-31 # kg; effective mass of each electron 1.07*m_e
HoleEffMass: 8.016e-31 # kg; effective mass of each hole 0.88*m_e
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
......
......@@ -345,25 +345,6 @@ class ITMThermoRefractive(nb.Noise):
return n * 2 / gPhase**2
class ITMCarrierDensity(nb.Noise):
"""ITM Carrier Density
"""
style = dict(
label='ITM Carrier Density',
color='#929591',
linestyle='--',
)
def calc(self):
finesse = ifo_power(self.ifo)[2]
gPhase = finesse * 2/np.pi
w0, wBeam_ITM, wBeam_ETM = arm_cavity(self.ifo)
n = noise.substratethermal.substrate_carrierdensity(
self.freq, self.ifo.Materials, wBeam_ITM)
return n * 2 / gPhase**2
class SubstrateBrownian(nb.Noise):
"""Substrate Brownian
......
......@@ -12,52 +12,6 @@ from ..const import BESSEL_ZEROS as zeta
from ..const import J0M as j0m
def substrate_carrierdensity(f, materials, wBeam, exact=False):
"""Substrate thermal displacement noise spectrum from charge carrier density fluctuations
For semiconductor substrates.
:f: frequency array in Hz
:materials: gwinc optic materials structure
:wBeam: beam radius (at 1 / e^2 power)
:exact: whether to use adiabatic approximation or exact calculation (False)
:returns: displacement noise power spectrum at :f:, in meters
"""
H = materials.MassThickness
diffElec = materials.Substrate.ElectronDiffusion
diffHole = materials.Substrate.HoleDiffusion
mElec = materials.Substrate.ElectronEffMass
mHole = materials.Substrate.HoleEffMass
cdDens = materials.Substrate.CarrierDensity
gammaElec = materials.Substrate.ElectronIndexGamma
gammaHole = materials.Substrate.HoleIndexGamma
r0 = wBeam/np.sqrt(2)
omega = 2*pi*f
if exact:
def integrand(k, om, D):
return D * k**3 * exp(-k**2 * wBeam**2/4) / (D**2 * k**4 + om**2)
integralElec = np.array([scipy.integrate.quad(lambda k: integrand(k, om, diffElec), 0, inf)[0] for om in omega])
integralHole = np.array([scipy.integrate.quad(lambda k: integrand(k, om, diffHole), 0, inf)[0] for om in omega])
# From P1400084 Heinert et al. Eq. 15
#psdCD = @(gamma,m,int) 2*(3/pi^7)^(1/3)*kBT*H*gamma^2*m/hbar^2*cdDens^(1/3)*int; %units are meters
# FIXME: why the unused argument here?
def psdCD(gamma, m, int_):
return 2/pi * H * gamma**2 * cdDens * int_
psdElec = psdCD(gammaElec, mElec, integralElec)
psdHole = psdCD(gammaHole, mHole, integralHole)
else:
psdElec = 4*H*gammaElec**2*cdDens*diffElec/(pi*r0**4*omega**2)
psdHole = 4*H*gammaHole**2*cdDens*diffHole/(pi*r0**4*omega**2)
return psdElec + psdHole
def substrate_thermorefractive(f, materials, wBeam, exact=False):
"""Substrate thermal displacement noise spectrum from thermorefractive fluctuations
......@@ -87,7 +41,7 @@ def substrate_thermorefractive(f, materials, wBeam, exact=False):
# From P1400084 Heinert et al. Eq. 15
#psdCD = @(gamma,m,int) 2*(3/pi^7)^(1/3)*kBT*H*gamma^2*m/hbar^2*cdDens^(1/3)*int; %units are meters
psdTR = lambda int_: 2/pi * H * beta**2 * kBT * Temp / (rho*C) * int_;
psdTR = lambda int_: 2/pi * H * beta**2 * kBT * Temp / (rho*C) * int_
psd = psdTR(inte)
psd = 2/pi * H * beta**2 * kBT * Temp / (rho*C) * inte
......
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