In [2]:
import math
import numpy
import pylab

In [8]:
ampiezzaOnda = 1e-22
c = 299792458 #m/s
pi = math.pi
omegaGrav = 1024*2*pi
hbar = 1.054571726e-34
print(hbar)


1.054571726e-34

In [9]:
#VIRGO
#R2 = 0.99999
#R1 = 0.996447

#L = 3000

#lambdaLaser = 1064e-9


#LIGO
R2 = 0.99999
R1 = 0.993055

L = 4000

lambdaLaser = 1064e-9
nuLaser = c/lambdaLaser
omegaLaser = 2*pi*nuLaser

In [10]:
nuGrav = numpy.linspace(1e-2,1e1,100000)
omegaGrav = nuGrav*2*pi

In [11]:
F = math.pi * numpy.sqrt(R1* R2)/(1-R1*R2)
print(F)

Neff = 2*F/pi
tstor = Neff*L/c
omegac = 1/(2* math.pi*tstor)
print(Neff,omegac)
Leff = 2*F*L/math.pi * 1/(pi*numpy.sqrt(1+numpy.power(omegaGrav/omegac,2)))



#T2 = 0.9999-R2
#T1 = 0.9999-R1

#fattoreT = 2*pow(T1,2)/(pow(T1,2)+pow(T2,2))
#fattoreR = pow(R2/R1,1/2)
#fattoreG = (1/pow((1+pow(omegaGrav,2)*pow(tempoCattura,2)),1/2))

#deltaFase = ampiezzaOnda*omegaLaser*tempoCattura*fattoreT*fattoreR*fattoreG
#print(deltaFase)


450.133727448
286.564031103 41.6254714598

In [12]:
#500000
#L = Leff
Win = 4000
M = 40
#shot = c/(omegaLaser*L)*math.sqrt(hbar*omegaLaser/Win)*numpy.ones(10000)
shot = (1/L)*math.sqrt(hbar*c*lambdaLaser/(2*pi*Win))*numpy.ones(100000)
#radPress = (2/M*L*c)*math.sqrt(hbar*omegaLaser*Win)/numpy.power(omegaGrav,2)
radPress = 1/(M*numpy.power(nuGrav, 2)*L)*math.sqrt(hbar*Win/(2*(pi**3)*c*lambdaLaser))

optRead =  numpy.sqrt(shot**2 + numpy.power(radPress,2))

#quantLim = (1/(pi*nuGrav*L))*math.sqrt(hbar/M)

%matplotlib qt
#pylab.xlimit()
pylab.plot(nuGrav,radPress,'--', label = 'Radiation pressure')
pylab.plot(nuGrav,shot,'--', label = 'Shot')
pylab.plot(nuGrav,optRead, label = 'Total quantum noise' ) # 'Total optical readout'


#Win = 4000

#shot = (1/L)*math.sqrt(hbar*c*lambdaLaser/(2*pi*Win))#*numpy.ones(10000)
#radPress = 1/(M*numpy.power(nuGrav, 2)*L)*math.sqrt(hbar*Win/(2*(pi**3)*c*lambdaLaser))

#optRead =  numpy.sqrt(shot**2 + numpy.power(radPress,2))

#pylab.plot(nuGrav,radPress, label = 'RadPress')
#pylab.plot(nuGrav,shot, label = 'Shot')
#pylab.plot(nuGrav,optRead, label = '400 W')
#pylab.plot(nuGrav,quantLim, '--', label = 'Quantum limit')


#sism1 = 1e-7*numpy.power(nuGrav,-2)*numpy.power((numpy.power(7*0.0001/nuGrav, 2)),2)
#pylab.plot(nuGrav, sism1, label = '2 mirrors attenuated')

#sism2 = 1e-7*numpy.power(nuGrav,-2)
#pylab.plot(nuGrav, sism2, label = 'non attenuated')

#sism2 = 1e-7*numpy.power(nuGrav,-2)*numpy.power((numpy.power(16*10**(-13/16)/nuGrav, 2)),16)/10
#pylab.plot(nuGrav, sism2, label = '4 mirrors')


pylab.xlabel('$\\nu_G \;(Hz)$')
pylab.ylabel('$h_0\;(1/\sqrt{Hz})$')
pylab.tight_layout()
pylab.loglog()
pylab.legend()
pylab.show()

In [111]:
%matplotlib notebook
pylab.plot(omegaGrav, Leff)
#pylab.plot(L, 1e-8*F*L/c)
#pylab.tight_layout()
pylab.loglog()
pylab.show()



In [9]:
pylab.plot(nuGrav, sism, label = 'Seismic attenuated noise')
pylab.xlabel('$\\nu_G \;(Hz)$')
pylab.ylabel('$h_0\;(1/\sqrt{Hz})$')
pylab.tight_layout()
pylab.loglog()
pylab.legend()
pylab.show()


/home/protoss/.local/lib/python3.5/site-packages/matplotlib/ticker.py:2039: UserWarning: Data has no positive values, and therefore cannot be log-scaled.
  "Data has no positive values, and therefore cannot be "

In [34]:
sism = 1e-7*nuGrav**-2-(100/nugrav**2)
print(sism)
#pylab.plot(nuGrav, sism)


1e-11

In [93]:
W = numpy.linspace(?)
R1 = numpy.linspace(0.99,0.999,100000)
L = numpy.linspace(2000,4000,100000)


  File "<ipython-input-93-18d6aaf477db>", line 1
    W = numpy.linspace(?)
                       ^
SyntaxError: invalid syntax

In [45]:
%matplotlib notebook
pylab.plot(L,deltaFase, label = '$\\nu_G$ = 512 Hz ')
#pylab.plot(L, 1e-8*F*L/c)
pylab.xlabel('$L$')
pylab.ylabel('$\Delta \phi$')
pylab.tight_layout()
pylab.legend()
pylab.show()


thermal noise


In [5]:
import math
import numpy
L = 4000
kb = 8.61673324e-5
T = 300
M = 20
nu = numpy.linspace(1,1000, 10000)
Q1 = nu[:20]
Q2 = numpy.power(nu[20:],5)*8e-2
Q = numpy.concatenate((Q1,Q2))

cost = 2*kb*T/(M*math.pow(L,2))
depfreq = numpy.power(nu,3)
spettro1 = numpy.power(cost/(depfreq*Q),1/2)
#spettro = numpy.power(cost/(depfreq),1/2)

centroide = 3
larghezza = 0.05
lorenz1 = (1/math.pi)*larghezza/(numpy.power(nu-centroide,2)+math.pow(larghezza,2))
lorenz1 = lorenz1/1e4


L = 4000
kb = 8.61673324e-5
T = 300
M = 40
nu = numpy.linspace(1,100, 1000)
Q1 = nu[:90]
Q2 = numpy.power(nu[90:],5)*7e-5
Q = numpy.concatenate((Q1,Q2))

cost = 2*kb*T/(M*math.pow(L,2))
depfreq = numpy.power(nu,3)
spettro2 = numpy.power(cost/(depfreq*Q),1/2)
#spettro = numpy.power(cost/(depfreq),1/2)

centroide = 10
larghezza = 0.1
lorenz2 = (1/math.pi)*larghezza/(numpy.power(nu-centroide,2)+math.pow(larghezza,2))
lorenz2 = lorenz2/1e4




import pylab
%matplotlib qt

pylab.loglog()
#pylab.plot(nu,spettro1)
#pylab.plot(nu,lorenz1)
#pylab.plot(nu,spettro1+lorenz1)

pylab.plot(nu,spettro2)
pylab.plot(nu,lorenz2)
pylab.ylabel('Strain ($1/\sqrt{Hz}$)')
pylab.xlabel('$\\nu$ ($Hz$)')
pylab.plot(nu,(spettro2+lorenz2)*3e-16)


Out[5]:
[<matplotlib.lines.Line2D at 0x7f88a9010ac8>]

In [ ]: